DeepAI
Log In Sign Up

lbmpy: Automatic code generation for efficient parallel lattice Boltzmann methods

01/31/2020
by   Martin Bauer, et al.
0

Lattice Boltzmann methods are a popular mesoscopic alternative to macroscopic computational fluid dynamics solvers. Many variants have been developed that vary in complexity, accuracy, and computational cost. Extensions are available to simulate multi-phase, multi-component, turbulent, or non-Newtonian flows. In this work we present lbmpy, a code generation package that supports a wide variety of different methods and provides a generic development environment for new schemes as well. A high-level domain-specific language allows the user to formulate, extend and test various lattice Boltzmann schemes. The method specification is represented in a symbolic intermediate representation. Transformations that operate on this intermediate representation optimize and parallelize the method, yielding highly efficient lattice Boltzmann compute kernels not only for single- and two-relaxation-time schemes but also for multi-relaxation-time, cumulant, and entropically stabilized methods. An integration into the HPC framework waLBerla makes massively parallel, distributed simulations possible, which is demonstrated through scaling experiments on the SuperMUC-NG supercomputing system

READ FULL TEXT
01/31/2020

lbmpy: A flexible code generation toolkit for highly efficient lattice Boltzmann simulations

Lattice Boltzmann methods are a popular mesoscopic alternative to macros...
11/04/2022

Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods

The scientific code generation package lbmpy supports the automated desi...
11/30/2017

Lattice Boltzmann Benchmark Kernels as a Testbed for Performance Analysis

Lattice Boltzmann methods (LBM) are an important part of current computa...
12/03/2022

Binary mixture flow with free energy lattice Boltzmann methods

We use free energy lattice Boltzmann methods (FRE LBM) to simulate shear...
08/10/2022

Designing a 3D Parallel Memory-Aware Lattice Boltzmann Algorithm on Manycore Systems

Lattice Boltzmann method (LBM) is a promising approach to solving Comput...
02/21/2018

Modelling Microbial Fuel Cells using lattice Boltzmann methods

An accurate modelling of bio-electrochemical processes that govern Micro...