Getting started
This page provides instructions for installing CADDEE.
Installation
Note
As CADDEE is currently still under active development, we recommend following the installation instruction for developers. In addition, we recommend installing CADDEE and all subsequent packages within a conda environment.
Installation instructions for developers
First, create a conda environment with Python 3.9 or 3.10
conda create -n caddee_env python=3.9
conda activate caddee_env
To install CADDEE_alpha, first clone the repository and install using pip. On the terminal or command line, run
git clone https://github.com/LSDOlab/CADDEE_alpha.git
cd CADDEE_alpha
pip install -e ./CADDEE_alpha
Installation instructions for users (for future, stable versions)
For direct installation with all dependencies, run on the terminal or command line
pip install git+https://github.com/LSDOlab/CADDEE_alpha.git
Additional packages
CADDEE is a toolsuite for integrating physics-based solvers to build complex multi-disciplinary models of engineering systems. Therefore, a number of external packages are available and need to be installed. to take full advantage of CADDEE’s capabilities. In future versions of CADDEE, these packages will be automatically installed. The following table provides an overview of all the packages that can be interfaced with CADDEE. The installation of these packages is identical to installing CADDEE, with the exception that if the working branch is not main, the corresponding branch needs to be “checked out” via git checkout branch_name, where branch_name is the one listed in the right column of the table below.
Package |
Description |
Working branch (for CADDEE scripts) |
Notes |
|---|---|---|---|
Computational System Design Language; Python-based algebraic modeling language for building multidisciplinary |
main |
Requires python>=3.9 |
|
A MODular development environment and library for OPTimization algorithms |
main |
||
Geometry engine for efficient manipulation of geometries via free-form deformation techniques |
csdl2_implementation |
||
Package that enables the solver-independent field representation of field quantities (e.g., pressure) via a host of functions |
main |
special instructions for installing Cython (*see below) |
|
Linear (Euler–Bernoulli) beam solver |
2 |
||
Finite Element in PDE-constrained Multidisciplinary Optimization problems |
main |
package leverages FEniCS and has special installation instructions |
|
Vortex-based (i.e., low-speed) aerodynamic solver with |
dev_ml (steady VLM only) |
||
Rotor aerodynamic solver with implementations of: |
main |
||
Rotor aeroacoustic models for tonal and broadband noise |
dev_csdl_alpha |
||
Subsonic machine learning model for airfoil aerodynamics (based on XFOIL training data) for coefficients |
main |
requires PyTorch |
*Special installation instructions for lsdo_function_spaces
This package uses Cython for better performance of projections. A few extra steps are required for installation on Ubuntu (MacOS not tested but should work the same):
conda install cython=0.29.28
git clone https://github.com/LSDOlab/lsdo_b_splines_cython.git
pip install -e ./lsdo_b_spline_cython
git clone https://github.com/LSDOlab/lsdo_function_spaces.git
pip install -e ./lsdo_function_spaces