Several test models are already provided in the demos. If you need to create your own models, please use the repository PlanetaryModels to create your input planetary models.
Prerequisite: MPI, ParMetis and pEVSL. Intel Math Kernel Library (MKL) is recommended to use pEVSL. It runs on multi-CPU platforms. Currently, this code has been tested using GNU, Intel and Cray compilers and scaled up to 40k processes.
Parallel Graph Partitioning (ParMetis) is used for domain decomposition. To install ParMetis, CMake is needed and please edit metis/include/metis.h and change IDXTYPEWIDTH to 64. You can then do
make config; make;
Since CMake is commonly installed in modern clusters, the installation of ParMetis will be easy and simple.
ParMetis is also avaiable in GitHub, here is its GitHub link. You will also need to install GKlib and METIS. Please change i64 set in METIS as IDXTYPEWIDTH needs to be 64. The installation will be similar.
Parallel EigenValue Slicing Library (pEVSL) is used to solve the generalized eigenvalue problem. You may use the forked pEVSL version for this application, since it contains several modifications for your convenience. Please edit makefile.in for your cluster. We recommend users to use MKL and Intel link line advisor to find the right links for you. If you do not have MKL, we recommend users to use OpenBLAS or GotoBLAS. The installation of pEVSL will be easy and simple. Please check the example to make sure that it is installed correctly.
Once ParMetis and pEVSL are installed, you can install this software. Please edit makefile.in for right paths and links. We have two makefile.in examples for GNU and Intel compiler users. You may then go to src/ and type
make
The installation should also be easy and simple.