Notus open source CFD code is an initiative of the 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 based on 2D/3D Finite Volume methods on staggered grids.
The objective of the project is to provide a code:
To have a complete view of what Notus is capable of computing, we provide a comprehensive 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-dependent density | Other properties are constant per phase |
For a detailed description of each modeling feature, refer 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 |
For a detailed description of each numerical feature, refer 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 automatic scripts |
V&V | Convergence scripts | Numerical spatial and temporal convergence rates can automatically be computed |
Performance | Scripts to test code scalability | Available on several supercomputers |
The compilation and execution of Notus CFD require several third-party libraries. These 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 provide a list of required tools, libraries, and associated versions 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 |
---|---|---|
ADIOS | 1.13.1 (patched) | The Adaptable Input/Output System version 1 |
ADIOS2 | 2.10.1 | The Adaptable Input/Output System version 2 |
HDF5 | 1.14.4-2 | 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.7.2 | MUltifrontal Massively Parallel Sparse Direct Solver |
ScaLAPACK | 2.0.2 | Scalable Linear Algebra PACKage, required by MUMPS |
Lis | 2.2.0 | Library of Iterative Solvers for Linear Systems |
T3PIO | 2.3.10 | TACC's 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 OneAPI | ≥ 24 | |
Intel MPI |