LBC - Lattice Boltzmann Code

Principal Investigator: 

Dr. José Gracia

For Mont-Blanc project:
Mathias Nachtmann, HLRS

Other application users/developers: 
  • German Research School for Simulation Sciences (Aachen)
  • High-Performance Computing Center Stuttgart (HLRS)
Scientific area: 
Computational Fluid Dynamics
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.
Good scaling up to ten thousands cores on Infiniband clusters, Cray XE6 and/or similar computing architectures.
Tested on platforms: 

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

Any other information: 

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