Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2405 of /srv/http/notus-cfd.org/includes/menu.inc).

Features

Models

  • Incompressible Navier-Stokes
    • buoyancy term (Boussinesq approximation)
    • surface tension (Continuum Surface Force model)
  • Multiphase immiscible flows
  • Energy equation
  • Species transport
    • passive scalars
    • thermosolutal flows
  • Large Eddy Simulation (mixed scale)

Numerical methods

Discretization

  • 2D/3D Cartesian staggered grids
  • 2nd-order time discretisation
  • Implicit discretisation of advection and diffusion terms : 1st and 2nd order schemes
  • Explicit discretization of advection terms : WENO scheme (5th-order)

Navier-Stokes

  • Velocity/pressure coupling: time splitting methods (Goda, Timmermans)

Interface representation and transport

  • Volume-of-Fluid method (PLIC)
  • Moment-of-Fluid method (highlight)
  • Level-set

Interface treatment

  • Closest-Point method to compute curvature (highlight)
  • 2nd-order immersed boundary method (highlight)

Parallelism

  • Automatic grid partitioning
  • Adjustable ghost cell numbers
  • Ready to use data exchange
  • Theoritical scalability measured (except linear system solver parts)

Solvers

  • HYPRE iterative solvers (BiCGStab, GMRES) and preconditioners (geometric multigrid, algebraic multigrid, PILUT, Euclid, Parasails)
  • MUMPS direct solver
  • LIS iterative solvers (BiCGStab, GMRES, etc.) and preconditioners (ILUT, ILUK, ILUC, etc.)
  • BiCGStab iterative solver associated with a geometric multigrid preconditioner

I/O

  • ADIOS library is used to generate .bp files that can be read by VisIt software.

Verification and validation

Notus is thoroughly verified and validated with systematic spatial and temporal convergence order measurement on test cases with exact solution or thanks to Richardson extrapolations. Test cases are run in sequential or parallel,  giving results that match the references up to the computer precision. Symetrical properties are also checked in 2D and 3D. Dozens of non-regression test cases run before each release (see an example of notus_validation.txt short validation file). Automatic scripts are provided to run Notus successively on refined meshes to automatically compute convergence order.

The current list of verification test cases:

  • Laplacian with Dirichlet, Neumann, periodic boundary conditions or immersed boundaries (2D/3D)
  • Poiseuille flow between two planes with or without periodic boundary conditions (2D/3D)
  • Poiseuille flow with variable density (2D/3D)
  • 3D flow in a rectangular channel (3D)
  • Pure advection of a fluid in a rotating flow (2D/3D)
  • Static viscous column equilibrium (2D)
  • Advected viscous column equilibrium (2D)

The current list of validation test cases:

  • Driven cavity flow  
  • Free convection in a square cavity (2D/3D)
  • Thermosolutal flow in a rectangular cavity (2D/3D)
  • Zero gravity drop oscillation (2D)
  • 2D bubble rise (2D)
  • Solitary wave propagation (in a periodic domain and against an end-wall)
  • Dam-break flow

User Interface

The user interface is based on text files which contain the description of the domain and the grid, the modelisation of the problem to solve, the associated numerical methods and the post-processing tools. They are based on clear keywords and obey a precise grammar.

Developement framework

  • Fortran 2008
  • MPI-2 parallel coding library
  • Git distributed version control system
  • CMake cross-platform build system
  • Doxygen documentation generator from source code

Porting

Notus has been successfully built with the following Linux configurations:

  • GNU compilers (5.2) and Open MPI (1.10)
  • Intel compilers (14.0-15.0) and SGI MPT (2.11) and BullxMPI (1.2.8.3)
  • IBM XL compilers (14.1) and MPI libraries (2.21.1)

It runs on the following supercomputers and provide the same results up to computer precision (build scripts are provided to install the code):

You can find here some scalability studies of the code and third party librairies.