Code Generation for waLBerla

Generate sweeps using pystencils

Code Generation for waLBerla

Generate lattice Boltzmann sweeps


widely applicable Lattice Boltzmann from Erlangen


A Massively Parallel Framework


Extensions for free surface flows, fluid structure interaction and phase-field simulations


Massively Parallel

waLBerla runs on some of the Top10 HPC Clusters in the world. It contains efficient, hardware specific compute kernels to get optimal performance on today's supercomputing architectures. In Germany, waLBerla runs on the three tier-1 HPC systems: SuperMUC-NG (Munich), HAWK (Stuttgart) and JUWELS (Jülich).

Parallel Domain Decomposition for Complex Geometries

waLBerla employs a block-structured partitioning of the simulation domain including support for grid refinement. These grid data structures make it easy to integrate various data parallel algorithms like Multigrid, CG, or phasefield models.
Various IO modules enable loading and storing the simulation setup from and to voxel based file formats or triangle meshes.

Flexible and Modular Software Design

waLBerla is written in C++, which allows for modular and portable software design without having to make any performance tradeoffs. An automatic test suite ensure that waLBerla compiles with various C++ compilers (GCC, Visual Studio, Clang, Intel C++ Compiler) on different operating systems (Linux, Windows). For small scale simulations and application development, waLBerla contains a GUI that allows an online visualization of waLBerla data structures.

Extreme-Scale AMR

waLBerla supports block-structured adaptive mesh refinement, including different dynamic load balancing strategies, for massively parallel simulations. The applicability of the implementation has been demonstrated for one trillion grid cells on peta-scale systems.

Fluid Simulations with LBM

waLBerla uses the lattice Boltzmann method (LBM), which is an alternative to classical Navier-Stokes solvers for computational fluid dynamics simulations. All of the common LBM collision models are implemented (SRT, TRT, MRT). Additionally, a coupling to the rigid body physics engine pe is available.

Particle Dynamics with MESA-PD

MESA-PD is a flexible and user friendly module to provide particle dynamics to waLBerla. Clearly defined interfaces and code generation techniques facilitate the use in different scenarios and provide high performance.

Get waLBerla

Hosted IPython Notebook

You can try out the Python interface of waLBerla right away in your browser in an interactive Jupyter notebook.


You can run the interactive Python notebook on your own machines using Docker. For installation instructions see the Python documentation.

Install with conda

Binary distributions of waLBerla's Python module are available via the conda package manager. Read here how to get it.

Get C++ Sources

waLBerla is open source and you can download the C++ source code for free. Visit the download site to learn more about how to get waLBerla.


Lattice Boltzmann Simulations

The main application of the waLBerla framework are massively parallel CFD simulations based on the lattice Boltzmann method. It can simulate flows in complex geometries and supports many different lattice models and collision operators.

Simulations of Nanofibers

Scalable rigid body module of waLBerla was employed for extreme-scale mechanical modeling of nanofibrillar systems. Coarse-grained representation of carbon nanotubes as chains of interacting rigid cylinders with properly calibrated mesoscale interactions and energy dissipation enabled accurate modeling of such systems at unprecedented simulation scales.

Free Surface Flows

The free surface extension of waLBerla uses a volume-of-fluid approach to simulate free boundaries. Above image shows a simulation of two impinging fluid jets forming a lamella, once for low surface tensions (left) and high surface tensions (right).

Fluid-Structure Interaction

waLBerla can be coupled to the pe physics engine to study particle-laden flows. This allows the simulation of systems like fluidized beds with several thousand fully resolved particles.

Phase-Field Methods

waLBerla is not only a framework for lattice Boltzmann based CFD simulations, but for arbitrary algorithms on block-structured grid. This flexibility enables the implementation of a phase-field method in waLBerla that can simulate the solidification of ternary eutectic alloys.

Additive Manufacturing

waLBerla can be used to simulate additive manufacturing processes: Above image shows a simulation of laser beam melting. This simulations combines the rigid body module to simulate the powder bed with the lattice Boltzmann method to simulate heat conduction as well as the hydrodynamics of the melting pool.

waLBerla has been funded by