/funtofem

Adaptable framework for aerothermoelastic analysis and adjoint-based gradient evaluation

Primary LanguagePythonApache License 2.0Apache-2.0

Build, unit tests, and docs Code style: black License

FUNtoFEM

This repository contains the FUNtoFEM coupling framework and load and displacement transfer schemes for aeroelastic analysis and optimization.

Documentation

Documentation for users and developers

Installing FUNtoFEM for Users

For those intending to be users of funtofem and not developers, the easiest way to install FUNtoFEM is by installing our anaconda package. Conda packages of funtofem are available for the Linux and Mac OS from our smdogroup channel. The user should first open a terminal and create a conda environment, such as F2F, and then install funtofem as follows with conda install.

conda create -n F2F python=3.9
conda activate F2F
conda install -c conda-forge -c smdogroup funtofem

All dependencies including linear algebra libraries, and our group's FEA software TACS will be automatically installed including C++ and Python libraries of funtofem. Optional dependencies such as OpenMDAO, ESP/CAPS will need to be installed by the user.

License

FUNtoFEM is licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Authors

Installing FUNtoFEM for Developers

  • Dependencies include: MPI, mpi4py, Cython, Lapack/BLAS
  • In the funtofem/ directory, copy Makefile.in.info to Makefile.in and edit
  • For real mode: make and make interface (Python interface) in the funtofem/ directory
  • For complex mode: make complex and make complex_interface in the funtofem/ directory