Skip to content

Building PeleLM

Matt Larsen edited this page Feb 9, 2021 · 8 revisions
ml gcc/6.4.0
ml cmake/3.14.2

git clone --recursive [email protected]:Alpine-DAV/PeleLM.git
cd PeleLM
git checkout ascent
cd ..

git clone [email protected]:Alpine-DAV/IAMR.git
cd IAMR
git checkout ascent
cd ..

git clone https://github.com/Alpine-DAV/amrex.git
cd amrex
git checkout ascent
cd ..
git clone https://github.com/AMReX-Combustion/PelePhysics.git

PelePhysics needs sundials

cd PelePhysics/ThirdParty
make USE_MPI=TRUE AMREX_HOME=../../amrex
cd ../..

cd PeleLM/Exec/RegTests/FlameSheet
make AMREX_HOME=/gpfs/alpine/proj-shared/csc340/larsen/pele_test_build/amrex/

Note: AMREX_HOME must be specified because some paths in the Pele makefiles don't respect the defaults. For me it built without it, but just to avoid warnings you should specify it.

Next you will need to edit the make file to point at your ascent install on line 39.

Additionally, sundials linking is not rpath'd, so you will have to put the sundials lib path into your LD_LIBRARY_PATH. For me, it was located here:

$(PELE_PHYSICS_HOME)/ThirdParty/INSTALL/gcc/lib/

Ascent is hooked into the same path as the checkpoint calls, so it will execute at the same frequency.

Running:

jsrun -n 4 ./PeleLM3d.gnu.MPI.ex inputs.3d-regt

Note: amrex adds system signal handlers for floating point errors. This means that any floating point exception, which are normally ignored, cause the entire run to crash. You can override this behavior by adding the following line to the input deck:

amrex.signal_handling = 0
Clone this wiki locally