Getting started
This page provides instructions for installing your package and running a minimal example.
Installation
The minimal requirements to use femo_alpha for modeling and simulation are FEniCSx and CSDL_alpha. For modeling aircraft design applications, you may install CADDEE_alpha to enable coupling with solvers of other disciplines; for optimization, you will also need ModOpt on top of them for Python bindings of various state-of-the-art optimizers.
Installation instructions
It’s recommended to use conda for installing the module and its dependencies.
Create a conda environment for
femowith a specific Python version (Python 3.9) that is compatible with all of the dependenciesconda create -n femo python=3.9.10
(Python 3.9.7 also works if Python 3.9.10 is unavailable in your conda)
Activate the conda enviroment
conda activate femo
Install FEniCSx by
conda-forgeconda install -c conda-forge fenics-dolfinx=0.5.1
Install
CSDL_alphaandModOptbypip install git+https://github.com/LSDOlab/CSDL_alpha.git pip install git+https://github.com/LSDOlab/modopt.git
Install
femo_alphaas a user bypip install git+https://github.com/LSDOlab/femo_alpha.git
or install
femo_alphaas a developer bygit clone https://github.com/LSDOlab/femo_alpha.git pip install -e ./femo_alpha
Setting up Testing
To test if your installation was successful, run
ex_thickness_opt_cantilever_beam.py from /femo_alpha/examples/basic_examples/beam_thickness_opt/.
If everything works correctly, the following terminal output will
be displayed.

==============
Scipy summary:
==============
Problem : beam_thickness
Solver : scipy_slsqp
Success : True
Message : Optimization terminated successfully
Objective : 23762.153677992977
Gradient norm : 100814.27872282796
Total time : 12.408674001693726
Major iterations : 111
Total function evals : 383
Total gradient evals : 111
==================================================
Optimization results:
['compliance'] [23762.15367799]
['volume'] [0.01]
OpenMDAO compliance: 23762.153677443166