Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods
From MaRDI portal
Abstract: The scientific code generation package lbmpy supports the automated design and the efficient implementation of lattice Boltzmann methods (LBMs) through metaprogramming. It is based on a new, concise calculus for describing multiple relaxation-time LBMs, including techniques that enable the numerically advantageous subtraction of the constant background component from the populations. These techniques are generalized to a wide range of collision spaces and equilibrium distributions. The article contains an overview of lbmpy's front-end and its code generation pipeline, which implements the new LBM calculus by means of symbolic formula manipulation tools and object-oriented programming. The generated codes have only a minimal number of arithmetic operations. Their automatic derivation rests on two novel Chimera transforms that have been specifically developed for efficiently computing raw and central moments. Information contained in the symbolic representation of the methods is further exploited in a customized sequence of algebraic simplifications, further reducing computational cost. When combined, these algebraic transformations lead to concise and compact numerical kernels. Specifically, with these optimizations, the advanced central moment- and cumulant-based methods can be realized with only little additional cost as when compared with the simple BGK method. The effectiveness and flexibility of the new lbmpy code generation system is demonstrated in simulating Taylor-Green vortex decay and the automatic derivation of an LBM algorithm to solve the shallow water equations.
Recommendations
- Developing extensible lattice-Boltzmann simulators for general-purpose graphics-processing units
- OpenLB -- open source lattice Boltzmann code
- Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method
- THE OPENLB PROJECT: AN OPEN SOURCE AND OBJECT ORIENTED IMPLEMENTATION OF LATTICE BOLTZMANN METHODS
- Lattice Boltzmann simulations on irregular grids: introduction of the NATriuM library
Cites work
- \textsc{waLBerla}: a block-structured high-performance framework for multiphysics simulations
- A cascaded phase-field lattice Boltzmann model for the simulation of incompressible, immiscible fluids with high density contrast
- A central moments-based lattice Boltzmann scheme for shallow water equations
- A filtered cumulant lattice Boltzmann method for violent two-phase flows
- A lattice Boltzmann model for the shallow water equations
- A Model for Collision Processes in Gases. I. Small Amplitude Processes in Charged and Neutral One-Component Systems
- Adjoint lattice Boltzmann for topology optimization on multi-GPU architecture
- Comparison of different propagation steps for lattice Boltzmann methods
- Discrete lattice effects on the forcing term in the lattice Boltzmann method
- DOLFIN: automated finite element computing
- Extreme-Scale Block-Structured Adaptive Mesh Refinement
- Firedrake, automating the finite element method by composing abstractions
- Lattice Boltzmann method with regularized pre-collision distribution functions
- Lattice Boltzmann model for the incompressible Navier-Stokes equation
- Massively parallel algorithms for the lattice Boltzmann method on nonuniform grids
- Multiple–relaxation–time lattice Boltzmann models in three dimensions
- On the single processor performance of simple lattice Boltzmann kernels
- On the three-dimensional central moment lattice Boltzmann method
- OpenLB -- open source lattice Boltzmann code
- Palabos: parallel lattice Boltzmann solver
- Parametrization of the cumulant lattice Boltzmann method for fourth order accurate diffusion. I: Derivation and validation
- The cumulant lattice Boltzmann equation in three dimensions: theory and validation
- The lattice Boltzmann method. Principles and practice
Cited in
(2)
This page was built for publication: Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q6095428)