SU2 has been designed with ease of installation and use in mind. This means that, wherever possible, a conscious effort was made to develop in-house code components rather than relying on third-party packages or libraries. In many cases, the flow solver can be compiled and executed with just a free C++ compiler and a way in which to visualize the results. However, the capabilities of SU2 can be extended with external software. For example, parallel computations require an installed implementation of MPI (Message Passing Interface) for data communication. Again, to facilitate ease of use and to promote the open source nature, whenever external software is required within the SU2 suite, packages that are free or open source have been favored. These dependencies and third-party packages are discussed below.
Linux & Mac users: please refer to the Source Installation Guide.
Windows users: please refer to the Windows Installation Guide.
Binary Executable Installation
The binary executables available on the Download page are intended to get new users up and running as quickly as possible. This option is best for novice CFD users or those looking to quickly sample some of the features of SU2. To make these binary distributions available to a wide range of potential users, some advanced features requiring external libraries and dependencies have been disabled (most notably the ability to run simulations in parallel). In other words, the pre-compiled binary executables are simply the serial version of the SU2_CFD flow solver.
No installation is required for users who select the binary distribution of SU2 (aside from the prerequisites listed above). Simply open a terminal and proceed to the Quick Start Tutorial.
Command Line Terminal
In general, all SU2 execution will occur via command line arguments within a terminal. For Unix/Linux or Mac OS X users, the native terminal applications will be needed. For Windows users, Console is recommended.
Users wishing to perform analyses on their own meshes must have a means of generating an appropriate computational domain. The native SU2 grid format is designed for readability and ease of use, so users with simple mesh configurations can write scripts to generate the appropriate meshes. For more complex configurations, grid generation software is recommended (with capability to export in CGNS file format). Several open source and commercial products are available, and a list of those used by the development team are included below.
Users of SU2 require a data visualization tool to post-process solution files. The software currently supports .vtk and .plt output formats natively read by ParaView and Tecplot, respectively. ParaView provides full functionality for data visualization and is freely available under an open source license. Tecplot is a commercially-licensed software package widely used by the scientific computing community and is available for purchase.
Several third-party packages help extend the capabilities of SU2. Details of their application and how to obtain them are given here.
Python & Python Modules
Each of the C++ modules for SU2 can be called directly from the command line and do not require python. However, the building of the suite and any coupling of the C++ modules needed for design and optimization problems, can be automated by the execution of the appropriate python scripts included in the software distribution. For performing shape design, the shape_optimization.py script is available, but this script has additional dependencies on the NumPy and SciPy modules for scientific computing (including optimization routines in the SciPy library). These packages are freely available at the sites linked below:
For creating meshes around complex geometries, third-party meshing software can make the process much simpler than attempting to build meshes via scripting. With this in mind, support for the CGNS data standard has been including within SU2. Support is currently limited to mesh file input, but additional CGNS capability will be added in our next release. The main advantage gained here is that complex meshes created in a third party software package (one that supports unstructured CGNS file export) can be used directly within SU2 without need for conversion to the native format. If needed, a converter from CGNS to the .su2 format has been built into SU2. Users should obtain and follow the instructions supplied for building the CGNS library (Version 3.1.3 recommended) from the official CGNS site. Many more details on compiling with and using the CGNS library for mesh input can be found on the documentation page concerning meshes.
Users wishing to run simulations on parallel architectures using domain decomposition are required to install from source and must have additional tools. The parallelization utilizes the Message Passing Interface (MPI) standard, and the domain decomposition is performed using the METIS software package. When using the build script for a parallel computation, it is assumed that the top level directory for METIS (metis-4.0.3/) is in the $SU2_HOME directory.
If you would like to install METIS and compile SU2 using the build script, follow these directions:
- Download METIS 4.0.3 from the link above
- Untar the download and place the metis-4.03/ directory in the SU2v1.0/ directory (metis does not need to reside in the SU2_DDC/ directory)
- Run the build script, which will find, compile, and link the this version of the metis library automatically
Ubuntu Users: OpenMPI can be easily installed by using the synaptic package manager to get the libopenmpi-dev package.