Notus open-source CFD code is an initiative of Institut d'Ingénierie et de Mécanique de Bordeaux (I2M), started in 2015. It is dedicated to the modeling and simulation of incompressible fluid flows in a massively parallel context. Its numerical framework is the 2D/3D Finite Volume methods on staggered grids.
The objective of the project is to provide a code:
In order to have a complete view of what Notus is capable of computing, we give here the complete list of general, modeling and numerical features of the code.
Module | Feature | Remarks and limitations |
---|---|---|
Geometry / Grid | Rectangular domain (2D/3D); regular, Chebyshev, exponential, file, composite grids | |
Immersed boundaries | Static geometries from surface mesh | Under development |
Module/Equation | Feature | Remarks and limitations |
---|---|---|
Navier-Stokes | Boundary conditions: wall, inlet, moving, Neumann, slip, periodic | |
Navier-Stokes | Brinkman term | At user convenience |
Navier-Stokes | Gravity term | Boussinesq approximation |
Navier-Stokes | Surface tension term | Contact line not taken into account |
Energy | Advection + diffusion | |
Species | Advection + diffusion | Passive scalars; solutal flows |
Multiphase | One fluid model | Immiscible fluids |
Turbulence | LES model (mixed scale) Synthetic inlet boundary conditions RANS: \(k-\omega~SST\), \(v^2-f\) | Under validation |
Physical properties | Temperature dependant density | other properties are constant per phase |
For a detailed description of each modeling feature, the reader can switch to the Brief description of models and equations page.
Module/Equation | Sub-topic | Feature | Remarks and limitations |
---|---|---|---|
Navier-Stokes | Temporal discretization | 1st or 2nd order | |
Navier-Stokes | Time splitting method | Goda or Timmermans | Dodd & Frantzis approximations also available |
Navier-Stokes | Advection term | Implicit: order 1 (upwind), order 2 (upwind and centered), hybrid upwind/centered schemes Explicit: order 2 (upwind and centered), WENO3 & WENO5 schemes | |
Energy / Species | Advection term | Implicit: order 1 (upwind) and order 2 (upwind and centered) schemes Explicit: order 1 (upwind) and order 5 (WENO5) schemes | |
Phases | Advection | VOF-PLIC | 2D/3D |
Phases | Advection | MOF | 2D. 3D is under development |
Phases | Advection | Level Set | WENO5 scheme with Euler or RK2 temporal discretization |
Phases | Surface tension | Level Set curvature computation VoF-PLIC, MoF | Standard or Closest Point methods Height function method |
Solvers | HYPRE | Struct, SStruct interfaces | |
Solvers | MUMPS | Pord and Metis partitioners | |
Solvers | LIS | ||
Solvers | Notus | Under development |
For a detailed description of each numerical feature, the reader can switch to the Discretization of PDE page.
Module | Feature | Remarks and limitations |
---|---|---|
User Interface | Input file | Input parameters are read from a file |
Input/Output | ADIOS, Ensight, ADIOS2, Pixie & Xdmf Checkpoint / restart | Parallel output (single files are written) |
Diagnostic quantities | Nusselt number, Sherwood number, mean velocity, etc. | |
V&V | Scripts | The code can be verified and validated through automatical scripts |
V&V | Convergence scripts | Numerical spatial and temporal convergence rate can automaticaly be computed |
Performance | Scripts to test code scalability | Available on several supercomputers |
The compilation and execution of Notus CFD requires several third-party libraries. They are used for numerical calculus, output data writing, etc. The How to build Notus guide details how they can be compiled and installed on your particular platform, if needed.
We furnish a list of required tools, libraries and associated version with which Notus CFD is guaranteed to compile and function.
The following third-party libraries can be automatically downloaded and compiled from our notus_third_party Git repository.
Library | Version | Remarks |
---|---|---|
MXML | 2.10 | Mini-XML, required by ADIOS |
ADIOS | 1.13.1 | The Adaptable Input/Output System version 1 |
ADIOS2 | 2.5.0 | The Adaptable Input/Output System version 2 |
HDF5 | 1.12.0 | Hierarchical Data Format version 5 |
HYPRE | 2.18.2 | Scalable Linear Solvers and Multigrid Methods |
METIS | 5.1.0 | Graph partitioning, required by MUMPS |
MUMPS | 5.1.0 | MUltifrontal Massively Parallel Sparse direct Solver |
ScaLAPACK | 2.0.2 | Scalable Linear Algebra PACKage, required by MUMPS |
LIS | 2.0.18 | Library of Iterative Solvers for Linear Systems |
T3PIO | 2.4.0 | TACCs Terrific Tool for Parallel I/O |
Depending on your system, you may choose one of the following options:
Tool / Library | Version | Remarks |
---|---|---|
GNU compilers | 7.3 | |
Open MPI | 2.1.1 |
Tool / Library | Version | Remarks |
---|---|---|
Intel compilers | ≥ 18 | |
Intel MPI |