Open Source FEA
2019-04-21
Introduction
To trial an open source finite element analysis (FEA) package. There are several open source FEA packages such as Calculix, and Code-Aster. On cursory review Code-Aster combined with Salome for gui interface and pre/post processing was selected for review. Open source FEA is not a simple download but will require significant experience with compiling source code. Code-Aster is licensed under GPL, while Salome is licensed under LPGL. For more information follow the hyperlinks below:
Note code-aster requires the model description in a script text file. This is automated if Salome-meca is installed instead of Salome and Code Aster separately.
The project is based on:
OS and Hardware:
1. Lubuntu a light weight linux OS with LXQt user interface. I used this due to the desktop graphics being based on Qt. However, I suspect this did not make much of a difference.
2. Graphics driver AMD/ATI Tahiti PRO Radeon HD 7950/8950 OEM / R9 280
3. 16 GB DDR4 Ram
4. AMD Ryzen 5 1600
Software:
Linux Package | Libraries | Python |
---|---|---|
build-essential | libtool | wheel |
gfortran | zlib1g | pytz |
automake | libz-dev | alias python=/usr/local/bin/python3.6 |
cmake | libtoolize | alias python=/usr/bin/python2.7 |
python3.6.8 | libasound2-dev | |
python3-pip | libatkmm-1.6-dev | |
python3-dev | libbz2-dev | |
bison | libcap-dev | |
flex | libcups2-dev | |
gperf | libdbus-1-dev | |
ruby | libdrm-dev | |
qt4-dev-tools | libegl1-mesa-dev | |
llvm | libffi-dev | |
clang | libfontconfig1-dev | |
freeglut3-dev | libfreetype6-dev | |
curl | libgcrypt11-dev | |
certs | libgl1-mesa-dev | |
mesa-common-dev (??) | libglu1-mesa-dev | |
openssl | libgstreamer0.10-dev | |
ibgstreamer-plugins-base0.10-dev | libicu-dev | |
python-numpy | libnss3-dev | |
tk | libpci-dev | |
libpulse-dev | ||
libpq-dev | ||
libqt4-dev | ||
libqt4-opengl-dev | ||
libqtwebkit-dev | ||
libssl-dev | ||
libudev-dev | ||
libxcb-composite0 libxcb-composite0-dev libxcb-cursor-dev libxcb-cursor0 libxcb-damage0 libxcb-damage0-dev libxcb-dpms0 libxcb-dpms0-dev libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-ewmh-dev libxcb-ewmh2 libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-image0 libxcb-image0-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-record0 libxcb-record0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-render0 libxcb-render0-dev libxcb-res0 libxcb-res0-dev libxcb-screensaver0 libxcb-screensaver0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-shm0-dev libxcb-sync-dev libxcb-sync0-dev libxcb-sync1 libxcb-util-dev libxcb-util0-dev libxcb-util1 libxcb-xevie0 libxcb-xevie0-dev libxcb-xf86dri0 libxcb-xf86dri0-dev libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xkb1 libxcb-xprint0 libxcb-xprint0-dev libxcb-xtest0 libxcb-xtest0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 libxcb-xvmc0-dev libxcb1 libxcb1-dev | ||
liblapack-dev libblas-dev | libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxmu-dev libx11-dev libx11-xcb-dev libxi-dev libxrandr-dev libxrender-dev libxslt-dev libxss-dev libxtst-dev | libboost-python-dev libboost-all-dev |
2. Also, the pre-requisites will require many libraries to be installed. Install all libraries in column 2 using apt-get.
3. Download Python 3.6.8 tarball and manually compile.
4. Must install additional python modules:
pip install certifi
python -m pip install --upgrade pip wheel
pip install pytz
5. Set alias variable to ensure that python3.6 is invoked.
alias python=/usr/local/bin/python3.6
Software Set-Up:
1. Extract Salome Tarball in an install directory of your choice. 2 ./sat prepare SALOME-9.2.1 3 ./sat compile SALOME-9.2.1 --stop_first_failConclusion
Enjoy.Design credit knxops.com in cooperation with Ltimas and co.
Copyright © 2019 by Gregory Altimas aka Greg Altimas