Download Cactus/Einstein Toolkit source code : it will be put in the Cactus/ folder.
curl -kLO https://raw.githubusercontent.com/gridaphobe/CRL/ET_2014_11/GetComponentschmod a+x GetComponents ./GetComponents --parallel https://bitbucket.org/einsteintoolkit/manifest/raw/ET_2014_11/einsteintoolkit.th See also the official page if needed.
To compile, we need a configuration file and a thornlist.
Here is a working config file c3.cfg I usually used. Modifications may be needed for a new machine/compiler. More configuration example can be found in
Cactus/simfactory/mdb/optionlists/*.cfgThe thornlist determines what to compile. However, it is not necessary to compile everything in the einsteintoolkit.th, so I prepare the BSSN_Hydro.th for a minimal combination.
Otherwise, you might need some try-and-error to determine the minimal set of thorns.
Now compile the cactus in the cactus folder, and the execute file will be placed at Cactus/exe/cactus_<NAME> :
cd Cactusmake <NAME>-delete ## Delete the old project.make <NAME>-config THORNLIST=BSSN_Hydro.th options=c3.cfg ## Then config. You need say "yes" if asked.make <NAME> ## Compile and link.Cactus automatically build external libraries such as LAPACK, hwloc, GSL, HDF5, FFTW3, etc.
However, you can use your own version for performance or saving the compilation time.
Run the Cactus simply by
cactus_<NAME> [parameter file] ## Parameter file example: Cactus/arrangements/EinsteinEvolve/GRHydro/test/balsara1_1d.parMore input parameter file can be found in the thorn source folders, say, Cactus/arrangements/EinsteinEvolve/GRHydro/test
The meaning of each parameter is explained in the thorn doc or Cactus/arrangements/<thorn>/param.ccl