Using candi to compile dependencies#
In its default configuration candi
downloads and compiles a
deal.II configuration that is able to run
ASPECT, but it also contains a number of packages
that are not required. We strive to keep
the development version of ASPECT compatible
with the latest release of deal.II and the
current deal.II development version at any
time, and we usually support several older versions of p4est and Trilinos.
Obtaining candi: Download
candi
by runninggit clone https://github.com/dealii/candi
in a directory of your choice.
Obtaining a suitable candi configuration file: As mentioned above the default configuration of candi includes a number of packages that are not necessary for ASPECT and some optional ASPECT dependencies are not enabled by default. In addition there are some configuration options that make ASPECT faster. We provide a candi configuration file that is optimized for ASPECT at
https://github.com/geodynamics/aspect/tree/main/contrib/install/local.cfg
While not mandatory, we recommend to download this file and place it inside the
candi
directory (you should then have two configuration files in that directory, namedcandi.cfg
andlocal.cfg
). When bothcandi.cfg
andlocal.cfg
are present in the directory, running candi (see below) will by default use the configuration options inlocal.cfg
.If you want to work without the
local.cfg
, be aware that you should enablep4est
trilinos
hdf5 (optional)
netcdf (optional)
sundials
deal.II and that you should consider enabling
NATIVE_OPTIMIZATIONS
. The packages above marked(optional)
are not required to be able to run ASPECT, but some features like HDF5 output will not be available if the corresponding package is not installed. Therefore, we recommend installing all packages as listed above (or use the providedlocal.cfg
).
Installing deal.II and its dependencies: Execute
candi
by runningcd candi ./candi.sh -p INSTALL_PATH
(here we assume you replace
INSTALL_PATH
by the path were you want to install all dependencies and deal.II, typically a directory inside$HOME/bin
or a similar place). This step might take a long time, but can be parallelized by adding-jN
, whereN
is the number of CPU cores available on your computer. Further configuration options and parameters are listed at dealii/candi. In case you encounter problems during this step, please read the error message, and consult our wiki (geodynamics/aspect) for common installation problems, before asking on the forum (https://community.geodynamics.org/c/aspect).You may now want to configure your environment to make it aware of the newly installed packages. This can be achieved by adding the line
source INSTALL_PATH/configuration/enable.sh
to the file responsible for setting up your shell environment[1] (again we assume you replaceINSTALL_PATH
by the patch chosen in the previous step). Then close the terminal and open it again to activate the change.Testing your installation: Test that your installation works by compiling the
step-32
example that you can find in$DEAL_II_DIR/examples/step-32
. Prepare and compile by runningcmake . && make
and run withmpirun -n 2 ./step-32
.
Congratulations, you are now set up for compiling ASPECT itself.