Get Feel++ Programming Environment
| 
Difficulty:  | 
We present here the Feel++ toolchain with both required and suggested tools to either compile Feel++ or use with Feel++.
1. Compilers
Feel++ uses C++17 compilers such as GCC8 and Clang (\(\geq 5\)).
| 
 It is mandatory not only to have a C++17 compiler but also C++ stantard library compatible with C++17 We don’t use yet C++17 standard library features  | 
Compiler  | 
Minimal Version  | 
Recommended Version  | 
Standard Library  | 
Clang++  | 
6  | 
9  | 
libstdc++ 7  | 
Clang++  | 
6  | 
9  | 
libc++ (corresponding clang version)  | 
G++  | 
8  | 
9  | 
libstdc++ 7  | 
| Clang++ is the preferred compiler by far for Feel++, it compiles much faster and use far less memory than G++ | 
| 
 A few applications are not built with GCC, GCC ICEs (Internal Compiler Error) on them. 
  | 
2. Required tools and libraries
Other than C++17 compilers, Feel++ requires only a few tools and libraries, namely CMake, Boost C++ libraries and an MPI implementation such as open-mpi or mpich. The table below provides information regarding the minimum and maximum version supported. A — means it has not necessarily been tested with the latest version but we do not expect any issues. Note that for MPI, an implementation with MPI-IO support would be best.
| Name | Minimum Version | Maximum Version | Notes | 
|---|---|---|---|
3.13.0  | 
—  | 
||
MPI  | 
—  | 
—  | 
|
1.61  | 
1.70  | 
||
3  | 
3  | 
Version 2 has never been tested  | 
3. Recommended libraries
Here is a list of libraries that we recommend to use jointly with Feel++.
| Library | Minimum Version | Maximum Version | Notes | 
|---|---|---|---|
1.8.6  | 
—  | 
||
3.5  | 
—  | 
We strongly recommand to install PETSc with MUMPS packages. Others packages like Suitesparse, Trilinos/ML, Boomeramg can be appreciable.  | 
|
3.5  | 
—  | 
Depends on PETSc  | 
|
2.8.7  | 
4.4.1  | 
||
3.0  | 
|||
1.1  | 
Python 3 module sympy  | 
4. Recommended tools
Here is a list of tools that we recommend to use jointly with Feel++.
| Tool | License | Notes | 
|---|---|---|
Computer Aided Design  | 
||
Gmsh  | 
Open Source  | 
|
Mesh Generation  | 
||
Gmsh  | 
Open Source  | 
|
MeshGems  | 
Commercial  | 
|
Post-Processing  | 
||
Paraview  | 
Open Source  | 
|
Ensight  | 
Commercial  | 
|
Octave  | 
Open Source  | 
|
Gmsh  | 
Open Source  | 
|
Scripting Languages  | 
||
Python  | 
Open Source  | 
Python 3 interpreter  | 
Note that all these packages are available under Debian GNU/Linux and Ubuntu. Once you have installed those dependencies, you can go to Compiling.
5. Suggested tools
Here is a list of tools that we suggest to use jointly with Feel++.
| Tool | License | Notes | 
|---|---|---|
Computer Aided Design (CAD)  | 
||
Freecad  | 
Open Source  | 
|
Salome  | 
Open Source  | 
HDF5 version in Debian/sid currently breaks MED format support.  | 
Modeling, Compilation and Simulation Environment  | 
||
Open Modelica  | 
Open Source  | 
|
Debugging and Profiling  | 
||
Google perftools  | 
Open Source  | 
|
Valgrind  | 
Open Source  | 
|