Lattice Boltzman Method with Adaptative Mesh Refinement strategy to solve the transport equation

Abstract

International audienceIntroductionThe Lattice Boltzmann Method (LBM) is a widelyused method for solving the transport equation inmedia with complex geometry. This popularity stemsboth from its simplicity of implementation and fromits intrinsically parallelizable algorithm, which makesit a highly efficient High-Performance Computing(HPC) numerical method.The main drawback of this method, in its basic form,is the use of a lattice similar to a regular Cartesianmesh, which can lead to use a large number of siteswith a level of discretization that is much too high inareas of low interest. We propose here to use anAdaptive Mesh Refinement method for the LBM withthe strong objective of not reducing the HPCefficiency of LBM.HPC strategyOur main objective is to develop a high-levellanguage portable simulation tool on different parallelCPU and GPU architectures without having to rewriteit with each new processors technological advance.To do this, we have developed our code in C++coupled with the Kokkos library that allows us toobtain an executable that runs on several kinds ofarchitectures (as multicores x86 multicores, GPUNVIDIA®, AMD GPU or ARM processor) [1,2].LBM on non-conformal gridsIn order to modify a LB numerical scheme to a nonconforminglattice, we choose to use a Lax-Wendroffdiscretization approach for replacing the streamingstep. The LB algorithm then reads (1) for collisionstep where Ωi is the transport collision operator and(2) for the streaming step.fi(x,t)=fi(x,t)Ωif^*_i (x,t) = f_i (x,t) - \Omega_i (1)fi(x,t+Δt)=fi(x,t)χ(fi(x,t)fi(xeiΔx,t))0.5χ(1χ)(fi(x+eiΔx,t)2fi(x,t)+fi(xeiΔx,t))f_i (x, t+\Delta t) = f^*_i (x,t) - \chi(f^*_i (x,t) - f^*_i (x-e_i \Delta x,t)) - 0.5 \chi (1-\chi)(f^*_i (x+e_i \Delta x,t) - 2f^*_i (x,t) + f^*_i (x-e_i \Delta x,t))(2)_This scheme is stable for χ<1\chi<1, which we impose bychoice of Δt on the finest network and thus guaranteestability on all refinement levels.The mesh is organised in blocks of a given number ofcells in an octree structure. The communicationbetween neighboring blocks is done via ghost cells.For neighboring blocks of different refinement level,the ghost layers are filled using quadraticinterpolation.Adaptive Mesh Refinement criteriaIn order to compute the transport as accurately aspossible, we have chosen to refine as much aspossible the high concentration gradient zones andhave therefore chosen to use a criterion based on thegradient to refine or to coarsen each block componentof the lattice.When the mesh adaptation criteria requires to refine agiven block, the values to be assigned to the refinedlattice are obtained by projection and when thecriterion value asks for coarsening, the value to beassigned is obtained by averaging.References[1] Compatibilities of kokkos library (2020).https://github.com/kokkos/kokkos/wiki/Compiling(Web link accessible on March 8, 2022).[2] Verdier, W., Kestener, P., & Cartalade, A. (2020).Performance portability of lattice Boltzmannmethods for two-phase flows with phase change.Computer Methods in Applied Mechanics andEngineering, 370, 113266

    Similar works

    Full text

    thumbnail-image

    Available Versions

    Last time updated on 25/05/2024