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:

- Use of Dynamic Memory Allocation at run time
- Designed for parallel computing by solving blocks in parallel on different processors
- 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 the Ariane Group.

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)
- chimera grid block connectivity boundary condition

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

NSMB employs the chimera method (overlapping grid) technique to simplify the mesh generation for complex geometries or for the simulation of moving bodies.

**Space Discretization **

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

- 2nd-order and 4th-order Central scheme with artificial dissipation (standard Jameson scheme dissipation, Martinelli dissipation or matrix dissipation)
- 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:

- Local time stepping
- Implicit residual smoothing (only used with the explicit scheme)
- Full Multi Grid (grid sequencing)
- Multi Grid
- Pre-conditioning for low Mach number flows
- 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:

- Explicit Runge Kutta
- 3rd order Runge Kutta scheme
- Dual time stepping
- LU-SGS scheme

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

Well tested and validated turbulence models in NSMB include:

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

Hybrid approaches are available for the Spalart-Allmaras turbulence model and for the 2equations models (Detached Eddy Simulation – DES, Delayed Detached Eddy Simulation (DDES) and Improved Delayed Detached Eddy Simulation (IDDES)).

NLEVM and EARSM models implemented in NSMB include:

- Gatski-Speziale EARSM model
- Girimaji EARSM model
- Wallin-Johanson EARSM model
- Shih-Zhu-Lumley NLEV model
- Abe-Yang-Leschzinner NLEV model

NSMB also includes also the Speziale-Sarkar-Gatski full Reynolds Stress model.

Roughness models have been implemented for the Spalart turbulence model as well as for the family of 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. In addition it is possible to solve transport equations for the transition (Menter-Langtrey model).

**Standard Modeling**

NSMB is used for hypersonic applications (re-entry space vehicles), and includes several levels of air chemistry modeling for air, CO2 and N2. Available models for air consider 5, 7, 11 or 13 chemical species, and the non-equilibrium chemistry models of Park 1989 , Park 1993 and Park 2001 are available. For all these models the equilibrium constants for the chemical reactions are computed using the polynomials provided by Park

Chemical equilibrium for air can be computed using polynomials (TGAS/VGAS), or by calculating the chemical composition for equilibrium. A general chemical equilibrium solver has recently been implemented in NSMB. In this method the NASA9 polynomials are used to compute the thermodynamic properties.

Thermochemical 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. All these models are available for inviscid and viscous (both laminar and turbulent) flows.

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. The models of Gupta-Yos has been implemented too.

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, partial-catalytic and fully catalytic wall. For the temperature either an isothermal wall, adiabatic wall and a wall at radiative equilibrium are available.

**Astrium Model**

In the frame of developments made for Astrium Space Technologies (now called the Ariane Group), NSMB has been extended with

- general models to compute the thermodynamic properties of the gas mixture using partition functions
- general models to compute the chemical source term for chemical non-equilibrium calculations
- vibrational non-equilibrium models
- electronic non-equilibrium models

**Coupling with the Mutation++ library**

NSMB has been coupled with the Mutation++ library developed by the Von Karman Institute. Mutation++ can be used to compute the thermodynamic properties of the mixture, the chemical source term and the transport coefficients. Mutation++ also includes models for Gas Surface Interaction near ablating walls.

**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 version of NSMB coupled to the CHEMKIN II package is available, to permit the calculations for general reacting flow mixtures. It should be mentioned that the coupling with the Mutation++ library provides the same functionality.

**ALE Approach **

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

- Steady ALE – used to simulate flows on non-moving grids, as for example flows in a rotating frame
- Moving grids – used to simulate flows on moving grids, but no grid deformation takes place
- 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. Moving bodies can be simulated using the chimera mesh approach, and a 6DOF solver is available in NSMB.

NSMB distinguishes 2 levels of fluid structure interaction

- static deformation of the structure due to aerodynamic loads
- dynamic deformation of the structure due to flutter or limit cycle oscillations

For both levels an external tool is need to couple the fluid and structure grids. This is done using the fscon tool developed by SMR. For the static deformation the procedure is as follows: the aerodynamic forces are interpolated on the structures mesh, a CSM solver is then used to compute the deformation of the structure, and this is translated into a displacement of the surface coordinates of the fluid mesh. NSMB uses these displacements to compute a new CFD grid. NSMB has been coupled to the B2000++ CSM solver for FSI calculations using static deformation.

For dynamic fluid structure interaction a linear structural model is employed based on a modal formulation. This is integrated in the NSMB solver and no interaction with an external CSM solver is needed. During the dual time stepping loop NSMB communicates with the integrated CSM solver (strong coupling approach).

For dynamic fluid structure interaction a linear structural model is employed based on a modal formulation. This is integrated in the NSMB solver and no interaction with an external CSM solver is needed. During the dual time stepping loop NSMB communicates with the integrated CSM solver (strong coupling approach).

NSMB includes an automatic procedure to capture the bow shock wave. This procedure requires that the bow shock is located in the blocks with a far field boundary condition. NSMB determines the shock wave position, moves the far field boundary and cluster grids points near the bow shock position. This procedure is in general repeated around 4-5 times to find a stable shock position. Bow shock adaption improves dramatically the heat fluxes on capsule type shapes, removing unwanted oscillations and the carbuncle phenomena.

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.

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.

- Droplet tracking and ice accretion modeling
- Add a particle tracking module
- Improved radiation module
- Transition to a Fortran 2003 version

**Related publications**

Publication 1

Publication 2