Skip to content

Commit d330d53

Browse files
committed
tweaks
1 parent 9eacc02 commit d330d53

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

paper/paper.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ bibliography: paper.bib
4141

4242
# Summary
4343

44-
MARBLES is a computational fluid dynamics solver that leverages the lattice Boltzmann method (LBM) and block-structured adaptive mesh refinement (AMR) to simulate flows in complex media. The solver leverages the AMReX [@AMReX] library, a library that provides underlying data structures, parallel paradigms, grids, domain decomposition, and portability programming models to run on massively parallel computing architectures. All major GPU architectures (e.g., Intel, AMD, NVIDIA) are supported through the use of performance portability functionalities implemented in AMReX. The MARBLES software is released in NREL Software Record SWR-23-37 “MARBLES (Multi-scale Adaptively Refined Boltzmann LatticE Solver)” [@marbles_swr].
44+
MARBLES is a computational fluid dynamics solver that leverages the lattice Boltzmann method (LBM) and block-structured adaptive mesh refinement (AMR) to simulate flows in complex media. The solver leverages the AMReX [@AMReX] library, a library that provides underlying data structures, parallel paradigms, grids, domain decomposition, and portability programming models to run on massively parallel computing architectures. All major GPU architectures (e.g., NVIDIA, AMD, Intel) are supported through the use of performance portability functionalities implemented in AMReX. The MARBLES software is released in NREL Software Record SWR-23-37 “MARBLES (Multi-scale Adaptively Refined Boltzmann LatticE Solver)” [@marbles_swr].
4545

4646
MARBLES implements LBM, a mesoscopic approach to computational fluid dynamics in which the computation of the Boltzmann transport equation by advection and collision of fictitious particles results into a solution of the Navier Stokes equation at the macroscale. The evolution equation of LBM proceeds in two parts: a "streaming" step akin to space discretization in which particles representing probability distribution functions at grid cells transfer information about their current state to their nearest neighbors and a "collision" step akin to time discretization in which these advected quantities give rise to new state variables by subsequently relaxing toward their equilibrium distributions over some characteristic time. Macroscopic state variables such as density, momentum and total energy are obtained by locally computing moments of the probability distribution functions. In MARBLES, these steps are carried out on parallelized AMReX blocks in which the phase space is discretized using 27 grid neighbors in 3D (D3Q27) which provides high accuracy and slightly increased memory consumption compared to other LBM stencils. An equivalent stencil is implemented for 2D simulations. The stencil can be sub-divided and applied locally in a region with half the grid spacing using an implementation of the explode and coalesce algorithm [@chen2006grid], where refined cells process two time steps per every step of the parent grid assuming a factor of two grid refinement ratio. This cycling between refinement levels and interpolation between grids is managed by AMReX functionality and minimizes communication between parallel blocks to enable excellent scaling performance.
4747

@@ -53,7 +53,7 @@ MARBLES is written in C++ and uses an MPI+X approach: the AMR grid patches are d
5353

5454
Several software tools that implement the Lattice Boltzmann method can found online, including a PyTorch based solver, Lettuce [@bedrunka2021lettuce], the commonly used OpenLB [@krause2021openlb], Palabos [@latt2021palabos], waLBerla [@bauer2021walberla; @godenschwager2013framework], and others [@schmieschek2017lb3d; @mora2020concise; @pastewka2019hpc].
5555

56-
In contrast with these solvers, MARBLES is the only code to the authors' knowledge to be built on AMReX data structures which allows us to tackle exascale problems and take advantage of both CPU and GPU hardware with little change to the underlying code. Because of this, MARBLES is easily extensible to other capabilities and will automatically perform well on emerging architectures. MARBLES, through its use of vendor-agnostic programming models implemented in AMReX, achieves high performance from a small desktop station to the world's largest supercomputer. Additionally, AMReX provides tools to naturally track regions of the fluid in need of refinement (e.g., around an evolving fluid-vapor interface or near the surface of a deforming solid obstacle) and communicate variables between grid refinement levels in a highly performant manner.
56+
In contrast with these solvers, MARBLES is the only code to the authors' knowledge to be built on AMReX data structures which allows us to tackle exascale problems and take advantage of both CPU and GPU hardware with little change to the underlying code. Because of this, MARBLES is easily extensible to other capabilities and has the potential to perform well on emerging architectures. MARBLES, through its use of vendor-agnostic programming models implemented in AMReX, achieves high performance from a small desktop station to the world's largest supercomputer. Additionally, AMReX provides tools to naturally track regions of the fluid in need of refinement (e.g., around an evolving fluid-vapor interface or near the surface of a deforming solid obstacle) and communicate variables between grid refinement levels in a highly performant manner.
5757

5858
MARBLE's unique features consist in implementing the two-population compressible thermal LBM [@sawant_consistent_2022] in a highly scalable and performance portable framework. The LBM formulation implemented in MARBLES uses one lattice for mass and momentum equations and another lattice for the energy equation, keeping the whole solver within the lattice Boltzmann framework without the need for a hybrid discretization approach. A fully lattice Boltzmann framework combines exact conservation as in finite volume solvers with the flexibility of a structured grid like in immersed boundary finite difference solvers, without their respective drawbacks of grid generation and conservation errors, respectively. Using a nearest-neighbor based correction to equilibrium pressure, the model maintains Galilean invariance up to third order in velocity space, sufficient to faithfully simulate the correct viscosity and thermal diffusivity over a wide range of temperatures, while still using the standard D3Q27 lattice.
5959

0 commit comments

Comments
 (0)