Tools  >>  NSMB  >>Home >>Site-Map >>Print


In 1989, the structured multi block Euler solver EULMB was developed at the Swiss Federal Institute of Technology (EPFL) in Lausanne. Innovative design choices of EULMB were:

  1. use of Dynamic Memory Allocation at run time
  2. designed for parallel computing by solving blocks in parallel on different processors
  3. written on top of the MemCom data base system for fast I/O

In 1991, the viscous terms were added to EULMB and the first version of NSMB was born. From 1992 to the end of 2003, NSMB was further developed in the NSMB consortium, which included several universities ((EPFL, Lausanne, Switzerland, SERAM, Paris, France, IMFT,Toulouse, France, KTH, Stockholm, Sweden), one research establishment ((CERFACS, Toulouse, France), and several industrial partners EADS-France (Airbus France and EADS Space Technologies), SAAB Military Aircraft and CFS Engineering.
Since 2004, NSMB is further developed by EPF-Lausanne, ETH-Zuerich, IMF-Strassbourg, IMF-Toulouse, Technical University of Muenchen, University of the Army, Muenchen, CFS Engineering and RUAG Aerospace. Besides these groups, NSMB is being used by Airbus-France, EADS-ST, and KTH.

Grid Flexibilty

NSMB has no limitations on the number of blocks. Each block is composed of 6 faces (which may be collapsed), and each face may have an arbitrary number of windows each having its own boundary condition.
Three types of block interface boundary conditions are available:

correspondence partially correspondence (partially patched) no correspondence (fully patched grid)

Partially and fully patched interfaces are treated using a conservative patched grid algorithm. All block interface boundary condition types are fully parallelized.

Space and Time Discretization

Space Discretization

The Navier Stokes equations are discretized using the Finite Volume method. Space discretization schemes implemented in NSMB include:

  1. 2nd-order and 4th-order Central scheme with artificial dissipation (standard Jameson scheme dissipation, Martinelli dissipation or matrix dissipation)
  2. Upwind schemes (Roe, AUSM+, HLLE, Riemann scheme), 2nd and 3rd order using the MUSCL approach with various limiters, 5th order using Weighted ENO

Time Integration

Steady state calculations can be made using either the explicit Runge Kutta scheme or the implicit LU-SGS scheme. The following convergence acceleration methods are available:

  1. local time stepping
  2. implicit residual smoothing (only used with the explicit scheme)
  3. Full Multi Grid (grid sequencing)
  4. Multi Grid
  5. Pre-conditioning for low Mach number flows
  6. Artificial Compressibility for incompressible flows

The implicit LU-SGS scheme is implemented using an scalar approximation of the viscous terms (low memory costs) and a matrix approximation. When using the LU-SGS scheme, it is possible to update block connectivity boundary conditions between LU-SGS sweeps.
Additional transport equations (turbulence and/or chemistry) can all be solved using the time integration methods listed above.

For unsteady calculations, the following methods area available:

  1. explicit Runge Kutta
  2. 3rd order Runge Kutta scheme
  3. dual time stepping
  4. LU-SGS scheme

A time correction procedure has been implemented to reduce the accumulation of errors for dual time stepping.

Turbulence Modeling

Well tested and validated turbulence models in NSMB include:

  1. Baldwin-Lomax algebraic turbulence model
  2. Spalart-Allmaras 1 equation turbulence model
  3. Chien k-ε 2-equation turbulence model
  4. Wilcox k-ω 2-equation turbulence model
  5. Menter Baseline and Shear stress k-ω 2-equation turbulence models

NSMB includes several Large Eddy Simulation models, and research is underway to improve the LES modeling.
NSMB employs a general wall distance calculation method which is independent of the block orientation. This method is fully parallelized, but expensive. Faster wall distance calculation methods are also available.
Transition can be prescribed on lines, planes, or using a collection of up to 20 bounded planes which define the transition region.

Chemistry modeling


NSMB is used for hypersonic applications (re-entry space vehicles), and includes several levels of air chemistry modeling for air and N2. Available models for air consider 5 chemical species (N2, O2, NO, O and N). Chemical equilibrium can be computed using polynomials (TGAS/VGAS), or by calculating the chemical composition for equilibrium. For chemical non-equilibrium, air dissociation is described by the 17 reaction model of Park. Thermo-chemical non-equilibrium has been implemented using the Landau-Teller equation for the translational-vibrational energy exchange with the relaxation time calculated using the semi empirical Millikan and White formula.
The transport coefficients (viscosity, thermal conductivity and diffusion coefficients) are calculated using the Blottner model for the viscosity, using the Eucken relation to calculate the thermal conductivity and Fick's law for the diffusion coefficients.
For hypersonic applications, NSMB is coupled with the GETHRA radiation module from EADS (formerly DASA Military Aircraft) which permits to calculate an effective emissivity when accounting for non-convex effects using the radiation cooling boundary condition.
Wall boundary conditions for chemical non-equilibrium flows implemented in NSMB are a non-catalytic and fully catalytic wall.

Diffusion Flame model

A diffusion flame model has been implemented in NSMB for a particular reacting mixture. Extension to general diffusion flame mixtures is easy to implement.
Provisions have been made to extend the diffusion flame model to turbulent diffusion flames.

General Non-equilibrium Chemistry

A first version of NSMB coupled to the CHEMKIN II package is available, to permit the calculations for general reacting flow mixtures.

Meshing Techniques

ALE Approach

NSMB uses the ALE (Arbitrary Lagrangian Eulerian) approach to simulate flows on moving grids. Three levels of ALE are distinguished:

  1. Steady ALE - used to simulate flows on non-moving grids, as for example flows in a rotating frame
  2. Moving grids - used to simulate flows on moving grids, but no grid deformation takes place
  3. Deforming grids. This includes a re-meshing option using either the Volume Spline Interpolation or the Transfinite Interpolation technique.

NSMB includes an ALE model for deforming grids in a piston.
It is possible to solve the Geometrical Conservation Law on deforming grids.

Parallel Computing

The NSMB solver was parallelized in the ESPRIT III Project Parallel Aero (part of the EUROPORT1 project, 1994-1996) using the master-slave paradigm, and a good speed up was obtained on different parallel platforms. Since 1998, NSMB is using the SPMD paradigm for the parallelization using MPI as message passing language. The actual version of NSMB is fully parallel.
When running in parallel NSMB assumes that domain composition is made before running NSMB. The domain decomposition tool MB-Split was developed in the Parallel Aero project, is still available, but currently not maintained anymore.

Code structure and Programming aspects

NSMB was originally written in Fortran 77, using the MemCom library for allocation of variable storage at run time. Fortran 90 modules have been introduced in 2001, and at present more and more Fortran 90 structures are implemented in NSMB.
NSMB is written on top of the MemCom data base system, which gives fast access to data for any block (almost independent of the block number). For large calculations, and for unsteady simulations, the use of MemCom permits to reduce the time needed for I/O significantly compared to Fortran I/O.
The NSMB input file structures is based on a keyword value principle, with default values for each variable (see the NSMB User guide for the actual list of input variables). The syntax of the input file is simple, with only a few rules. A Graphical User Interface was developed for this input file structure, but to my knowledge never used.
NSMB was written for vector computers, and some effort was made to optimize NSMB for RISC architectures. The most time consuming routines are available as IJK and VECTOR version. NSMB is running on most available computer systems today, ranging from PC-Clusters under Linux to a NEC SX8.
Since the 1995, NSMB is saved using cvs for the revision control. Scripts for automatic testing of different releases of NSMB were developed at CERFACS, and are used at CFS Engineering. Integration of NSMB developments and end responsible for new NSMB releases is CFS Engineering.

On-going Developments

  1. unsteady 2-equation turbulence models (IMF-Toulouse)
  2. test and further develop the coupling with CHEMKIN II (EPFL/CFS Engineering)
  3. coupling with heat transfer into the solid wall (CFS Engineering/EPFL/SMR)
  4. dynamic fluid structure interaction (CFS Engineering/SMR/RUAG Aerospace)
  5. implementation of accurate gradient calculation algorithm (CFS Engineering)
  6. LES using ADM (ETH-Zurich)
  7. validation EARSM and NLEV models (IMF-Strassbourg)
  8. implementation Differential Reynolds Stress models (IMF-Toulouse and IMF-Strassbourg)
  9. hypersonic applications (CFS Engineering/EPFL/Univ. Munchen)
  10. shock-fitting (CFS Engineering/RUAG Aerospace)
  11. mesh adaptation/mesh smoothing (CFS Engineering/RUAG Aerospace)