waLBerla: A block-structured high-performance framework for multiphysics simulations
arXiv:1909.13772 · doi:10.1016/j.camwa.2020.01.007
Abstract
Programming current supercomputers efficiently is a challenging task. Multiple levels of parallelism on the core, on the compute node, and between nodes need to be exploited to make full use of the system. Heterogeneous hardware architectures with accelerators further complicate the development process. waLBerla addresses these challenges by providing the user with highly efficient building blocks for developing simulations on block-structured grids. The block-structured domain partitioning is flexible enough to handle complex geometries, while the structured grid within each block allows for highly efficient implementations of stencil-based algorithms. We present several example applications realized with waLBerla, ranging from lattice Boltzmann methods to rigid particle simulations. Most importantly, these methods can be coupled together, enabling multiphysics simulations. The framework uses meta-programming techniques to generate highly efficient code for CPUs and GPUs from a symbolic method formulation. To ensure software quality and performance portability, a continuous integration toolchain automatically runs an extensive test suite encompassing multiple compilers, hardware architectures, and software configurations.
References in corpus (20)
- Numerical Simulations of Particulate Suspensions via a Discretized Boltzmann Equation Part I. Theoretical Foundation
- On pressure and velocity flow boundary conditions and bounceback for the lattice Boltzmann BGK model
- Physics of Microswimmers - Single Particle Motion and Collective Behavior
- A Survey of High Level Frameworks in Block-Structured Adaptive Mesh Refinement Packages
- Massively Parallel Algorithms for the Lattice Boltzmann Method on Non-uniform Grids
- Discrete solution of the electrokinetic equations
- A comparative study of fluid-particle coupling methods for fully resolved lattice Boltzmann simulations
- Analyzing and Modeling the Performance of the HemeLB Lattice-Boltzmann Simulation Environment
- Free Surface Lattice Boltzmann with Enhanced Bubble Model
- Numerical Investigations on Hatching Process Strategies for Powder Bed Based Additive Manufacturing using an Electron Beam
- Extreme-Scale Block-Structured Adaptive Mesh Refinement
- Hydrodynamic Mobility Reversal of Squirmers near Flat and Curved Surfaces
- A Lattice Boltzmann Model for Squirmers
- Moving Charged Particles in Lattice Boltzmann-Based Electrokinetics
- Lattice Boltzmann Benchmark Kernels as a Testbed for Performance Analysis
- Limiting Spurious Flow in Simulations of Electrokinetic Phenomena
- A Systematic Comparison of Dynamic Load Balancing Algorithms for Massively Parallel Rigid Particle Dynamics
- Massively Parallel Phase-Field Simulations for Ternary Eutectic Directional Solidification
- A Python Extension for the Massively Parallel Multiphysics Simulation Framework waLBerla
- A Modular and Extensible Software Architecture for Particle Dynamics
Cited by in corpus (25)
- Cross-platform programming model for many-core lattice Boltzmann simulations
- Compressible lattice Boltzmann methods with adaptive velocity stencils: An interpolation-free formulation
- An extensible lattice Boltzmann method for viscoelastic flows: complex and moving boundaries in Oldroyd-B fluids
- Lettuce: PyTorch-based Lattice Boltzmann Framework
- LBcuda: a high-performance CUDA port of LBsoft for simulation of colloidal systems
- LBsoft: a parallel open-source software for simulation of colloidal systems
- Rheology of mobile sediment beds in laminar shear flow: effects of creep and polydispersity
- On the importance of data encoding in quantum Boltzmann methods
- Manapy: MPI-Based framework for solving partial differential equations using finite-volume on unstructured-grid
- Particle-resolved simulation of antidunes in free-surface flows
- Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods
- Development and performance of a HemeLB GPU code for human-scale blood flow simulation
- waLBerla-wind: a lattice-Boltzmann-based high-performance flow solver for wind energy applications
- GPU-based compressible lattice Boltzmann simulations on non-uniform grids using standard C++ parallelism: From best practices to aerodynamics, aeroacoustics and supersonic flow simulations
- Analysis and comparison of boundary condition variants in the free-surface lattice Boltzmann method
- Numerical simulation of endovascular treatment options for cerebral aneurysms
- Efficient methods for particle-resolved direct numerical simulation
- qlbm -- A Quantum Lattice Boltzmann Software Framework
- Comparison of refilling schemes in the free-surface lattice Boltzmann method
- Characteristic Boundary Condition for Thermal Lattice Boltzmann Methods
- Comparison of free-surface and conservative Allen-Cahn phase-field lattice Boltzmann method
- A Continuous Benchmarking Infrastructure for High-Performance Computing Applications
- Palabos Turret: A Particle-Resolved Numerical Framework for Settling Dynamics of Arbitrary-Shaped Particles
- Towards nonlinear thermohydrodynamic simulations via the Onsager-Regularized Lattice Boltzmann Method
- Analytical modelling of wind-turbine wake turbulence in neutral atmospheric boundary layers