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 releases.
The build system of SU2 is based on a combination of 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:
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.
SU2 Path setup
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:
$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!
The SU2 Development Team
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.