Skip to content
 
 

Repository files navigation

femo_alpha

GitHub Actions Test Badge Forks Issues

A general framework for using Finite Element in PDE-constrained Multidisciplinary Optimization problems. It relies on FEniCSx to provide solutions and partial derivatives of the PDE residuals, and uses CSDL_alpha as the umbrella for coupling and mathematical modeling of the multidisciplinary optimization problem.

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 femo with a specific Python version (Python 3.9) that is compatible with all of the dependencies
    conda 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-forge
    conda install -c conda-forge fenics-dolfinx=0.5.1
  • Install CSDL_alpha and ModOpt by
    pip install git+https://github.com/LSDOlab/CSDL_alpha.git
    pip install git+https://github.com/LSDOlab/modopt.git
  • Install femo_alpha as a user by
    pip install git+https://github.com/LSDOlab/femo_alpha.git
    or install femo_alpha as a developer by
    git clone https://github.com/LSDOlab/femo_alpha.git
    pip install -e ./femo_alpha

License

This project is licensed under the terms of the GNU Lesser General Public License v3.0.

About

Finite Elements for Multidisciplinary Optimization

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages