CELLAR is a C++ project that forms the foundation of cell based AMR for applications
It provides the following:
- AMR Mesh Datastructure
- AMR Mesh Reconstruction
- Communication Patterns
- C++ Error Handling and Tracing
- Performance Monitoring
- C++/Fortran Interop
The easiest way to install dependencies is using Spack. After installing Spack, you can start build dependencies.
The following instructions assume that you have Spack 0.13 or newer. You can check your Spack version like so:
$ spack --version
0.13.0
First, add lanl/cellar-spack to your list of spack repos.
Once you have the lanl/cellar-spack
installed, then you can install all
dependencies using
Spack environments.
You'll need to use a modern-ish C++ compiler that supports C++14:
$ module load gcc/9.3.0
$ spack compiler find
$ cd path/to/eap-core
Then issue the following commands. This will build all of eap-core's dependencies.:
$ spack env create -d spack/default
$ spack env activate -d $PWD/spack/default
$ spack install
Any time you open a new shell, you'll need to re-activate the Spack environment:
$ spack env activate -d $PWD/spack/default
Now you're ready to build eap-core. First configure the project using CMake:
mkdir build && cd build
cmake ..
And then build:
make -j
For snow, substitute in spack/snow in the above instructions in place of spack/default. If you need to change the environment use "spack env deactivate".
Code contributors should read the Developers Guide prior to sending a pull request.