waLBerla - widely applicable lattice Boltzmann from Erlangen

Welcome to the waLBerla Framework, a widely applicable lattice Boltzmann simulation code from Erlangen. The following tutorials show you how to get and build waLBerla and describe all the basic data strcutures and concepts of the framework.

- Get and Build waLBerla

This page describes how to obtain a copy of waLBerla and how to setup your environment for development. - Tutorial - Basics 1: waLBerla Data Structures: Blocks and Fields

The first tutorial explains the basic data structures of waLBerla and how to setup a simple domain. - Tutorial - Basics 2: Algorithms on Blocks: Sweeps

The second tutorial shows how to write algorithms that operate on block data. - Tutorial - Basics 3: Writing a Simple Cellular Automaton in waLBerla

The third tutorial deals with communication, iterating field/grid/lattice data, and geometry setup.

- Tutorial - PDE 1: Solving PDEs with the Jacobi Method

Implementation of an iterative solver for the solution of a partial differential equation. - Tutorial - PDE 2: Solving the Heat Equation

Extending the previous tutorial to be able to solve the heat equation.

- Tutorial - LBM 1: Basic LBM Simulation

A full LBM simulation is built. - Tutorial - LBM 4: Complex Geometry

A LBM simulation with complex geometries is built.

Not all features of the framework are covered in the tutorials. To get further information have a look at the modules pages.

Also, the test cases provided in the tests directory are a good starting point for your own developments. Additionally, there is a folder for full-fledged application codes to be found under apps/benchmarks where also codes of walBerla publications are found.

If you use waLBerla in the preparation of a publication, please cite [11]. There are separate publications for some modules, which you should cite in addition if you use them.