LBC - Lattice Boltzmann Code

Principal Investigator: 

At HLRS-USTUTT:
Dr. José Gracia
gracia@hlrs.de

For Mont-Blanc project:
Mathias Nachtmann, HLRS
nachtmann@hlrs.de

Other application users/developers: 
  • German Research School for Simulation Sciences (Aachen)
  • High-Performance Computing Center Stuttgart (HLRS)
Scientific area: 
Computational Fluid Dynamics
Abstract: 
LBC (Lattice-Boltzmann Code) is a solver for the Boltzmann Equation using the Lattice-Boltzmann Method (LBM) written in Fortran95. The Lattice-Boltzmann Method is based on a discretization of the Boltzmann Equation, which describes the time-evolution of the phase-space density of a fluid or an ensemble of particles through advection and collisions, respectively. The numerical model is conceptually very simple: a single equation is solved on an orthogonal, (usually) equidistant grid by basic stencil operations without relying on complex matrix operations or iterative processes. The LBM method can be implemented in a highly efficient manner based on vector operations making it very suitable both for vector architectures as the NEC SX series and for modern SSE instruction sets available to all x86- based processors. LBC is a sister code of BEST (Boltzmann Equation Solver Tool), this code is highly optimiced and developed for several different architektures. Basically, due to a complex system of pre-processor macros, porting work on BEST is very error-prone. Both codes are very similar in terms of the basic code structure, i.e. data organization, etc., and mathematical model.
Scalability: 
Good scaling up to ten thousands cores on Infiniband clusters, Cray XE6 and/or similar computing architectures.
Versions: 
MPI
OpenMP
Tested on platforms: 

Infiniband clusters, Cray XE6, Cray XC30, NEC SX-9

Images: 
Any other information: 

LBC and its sister code BEST are regularly used for performance evaluation during procurements.