Computational analysis tools have revolutionized the way we design engineering systems, but most established codes are proprietary, unavailable, or prohibitively expensive for many users. The SU2 team is changing this, making multiphysics analysis and design optimization freely available as open-source software and involving everyone in its creation and development.
For an overview of the technical details in SU2, please see the following AIAA Journal article:
"SU2: An open-source suite for multiphysics simulation and design," AIAA Journal, 54(3):828-846, 2016. http://arc.aiaa.org/doi/10.2514/1.J053813
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
SU2 is a suite of open-source software tools written in C++ for the numerical solution of partial differential equations (PDE) and performing PDE constrained optimization.
The primary applications are computational fluid dynamics and aerodynamic shape optimization, but has been extended to treat more general equations such as electrodynamics and chemically reacting flows.
You will find more information and the latest news in:
You can find precompiled binaries of the latest version on our download page or under releases.
The build system of SU2 is based on a combination of meson (as the front-end) and ninja (as the back-end). Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. Ninja is a small low-level build system with a focus on speed.
Short summary of the minimal requirements:
Note: all other necessary build tools and dependencies are shipped with the source code or are downloaded automatically.
If you have these tools installed, you can create a configuration using the meson.py
found in the root source code folder:
./meson.py build
Use ninja
to compile and install the code
./ninja -C build install
For more information on how to install and build SU2 on Linux, MacOS or Windows, have a look at the documentation.
When installation is complete, please be sure to add the $SU2_HOME
and $SU2_RUN
environment variables, and update your $PATH
with $SU2_RUN
.
For example, add these lines to your .bashrc
file:
export SU2_RUN="your_prefix/bin"
export SU2_HOME="/path/to/SU2vX.X.X/"
export PATH=$PATH:$SU2_RUN
export PYTHONPATH=$SU2_RUN:$PYTHONPATH
$SU2_RUN
should point to the folder where all binaries and python scripts were installed. This is the prefix you set with the --prefix option to meson. Note that the bin/ directory is automatically added to your prefix path.
$SU2_HOME
should point to the root directory of the source code distribution, i.e., /path/to/SU2vX.X.X/
.
Thanks for building, and happy optimizing!
We follow the popular "GitFlow" branching model for scalable development. In the SU2 repository, the master branch represents the latest stable major or minor release (7.0, 6.2.0, etc.), it should only be modified during version releases. Work that is staged for release is put into the develop branch via Pull Requests on GitHub from various "feature" branches where folks do their day-to-day work on the code. At release time, the work that has been merged into the develop branch is pushed to the master branch and tagged as a release.
SU2 is being developed by individuals and organized teams all around the world.
A list of current contributors can be found in the AUTHORS.md file.
Code documentation can be generated by calling doxygen from the root of the project, then open Docs/html/index.html in a browser to consult the documentation.