logo

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:

Salome Platform Website.

Code-Aster Website

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
1. All prerequisites listed in the SALOME Release Notes will be compiled during Salome compilation. However, pre-requisite products themselves require, specific programs not included in Salome tarball. Install all programs in column 1 using apt-get.

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_fail

Conclusion

Enjoy.

Design credit knxops.com in cooperation with Ltimas and co.
Copyright © 2019 by Gregory Altimas aka Greg Altimas