PeleLMeX is a non-subcycling version of PeleLM based on AMReX's AmrCore and borrowing from the incompressible solver incflo. It is designed to run efficiently on small workstations as well as the largest ExaScale platforms currently available.
PeleLMeX is part of the Pele combustion Suite.
PeleLMeX solves of the multispecies reactive Navier-Stokes equations in the low Mach number limit as described in the documentation. It inherits most of PeleLM algorithmic features, but differs significantly in its implementation stemming from the non-subcycling approach.
A overview of PeleLMeX controls is provided in the documentation.
The PeleLMeX governing equations and core algorithms are described in:
https://amrex-combustion.github.io/PeleLMeX/manual/html/Model.html#mathematical-background
https://amrex-combustion.github.io/PeleLMeX/manual/html/Model.html#pelelmex-algorithm
A set of self-contained tutorials describing more complex problems is also provided:
https://amrex-combustion.github.io/PeleLMeX/manual/html/Tutorials.html
The prefered method consist in cloning the PeleLMeX and its submodules using a recursive git clone
:
(amrex, AMReX-Hydro and PelePhysics, PeleMP) using:
git clone --depth 1 --recursive https://github.com/AMReX-Combustion/PeleLMeX.git
Alternatively, you can use separate git clone
of the each of the submodules.
The default location for PeleLMeX dependencies is the Submodule
folder but you optionnally
setup the following environment variables (e.g. using bash) to an other location:
export PELELMEX_HOME=<path_to_PeleLMeX>
export AMREX_HOME=${PELELMEX_HOME}/Submodules/amrex
export AMREX_HYDRO_HOME=${PELELMEX_HOME}/Submodules/AMReX-Hydro
export PELE_PHYSICS_HOME=${PELELMEX_HOME}/Submodules/PelePhysics
export PELEMP_HOME=${PELELMEX_HOME}/Submodules/PeleMP
Both GNUmake and CMake can be used to build a PeleLMeX executable, but GNUmake is the prefered choice.
The code handling the initial condition and boundary conditions is unique to each case,
and subfolders in the Exec
directory provide a number of example.
For instance, to compile the executable for the case of a rising hot bubble,
move into the HotBubble
folder:
cd PeleLMeX/Exec/RegTest/HotBubble
If this is a clean install, you will need to make the third party libraries with: make TPL
(note: if on macOS, you might need to specify COMP=llvm
in the make
statements).
Finally, make with: make -j
, or if on macOS: make -j COMP=llvm
. To clean the installation, use either make clean
or make realclean
.
When using CMake (cmake version >= 3.23 is required), first configure CMake directly in PeleLMeX root folder:
cmake -S . -B buildHotBubble -DPELELMEX_MPI=ON -DPELELMEX_CASE=HotBubble
Then build the executable:
cmake --build buildHoBubble --parallel 4
New contributions to PeleLMeX are welcome ! Contributing Guidelines are provided in CONTRIBUTING.md.
This research was supported by the Exascale Computing Project (ECP), Project Number: 17-SC-20-SC, a collaborative effort of two DOE organizations -- the Office of Science and the National Nuclear Security Administration -- responsible for the planning and preparation of a capable exascale ecosystem -- including software, applications, hardware, advanced system engineering, and early testbed platforms -- to support the nation's exascale computing imperative.