Input files used to configure and run our COLA simulations. These include transfer functions, lua files, transferinfo files, files with cosmological parameters, and files containing information about the background. The latter 2 sets of files are not necessary but we store them here.
There is a directory for each model: 'wCDM', 'LCDM'. Within each model there are directories for each set of simulations, or 'project'. Each project is named by the number of cosmologies, then an underscore, then a 1 or 2 to indicate COLA-precision (default or high respectively). For example LCDM/800_1 indicates 800 paired-and-fixed LCDM simulations in default precision.
At a high level, the requisite files to run a COLA simulation using our approach are:
- A slurm file to submit the job. This file contains the path to the lua file.
- The lua file contains the COLA settings and the paths to the output directory and the trainsferinfo file.
- The transferinfo file contains the path to the transfer functions, and lists the redshifts at which we provide these transfer functions.
- The transfer functions for the simulation generated by our HiCLASS code.
For each model you can find a transfer_function_generator python script which can be run to generate the transfer functions of the various cosmologies for each batch of simulations. This script generates the transfer functions and the transferinfo files, but also outputs the cosmological parameters from the code into the cosmo_params directory, and files containing data for the background (which we currently do not use anywhere and can be ignored). The cosmo_params files in theory should be redundant and contain the parameters we already determined from our LHS, however for ultimate precision we take the cosmological parameters from CLASS and put them in the lua files.
You can also find a lua_script_generator script which generates the lua files for each simulation. Since paired-and-fixed simulations require 2 separate simulations, they require separate lua files and we label the 2 phases 'a' and 'b'. The necessary settings that need adjustment are specified at the top of this script. Here one must also adjust the 4 paths labeled towards the top of the script, in the loop over cosmologies.
The transfer functions, transferinfo files, cosmological params, or background files, are all unique to each cosmology, but not to COLA precision. Only the lua file needs to be changed for COLA precision. Hence, instead of copying these files into each directory for each precision, we simply include them in the appropriate default precision directory, and point to the files in that directory wherever needed for the high-precision simulations. More specifically, to make the high-precision lua files, one can point to the transferinfo files in the default-precision directory (which already point to the transfer functions in the default precision directory), and one can also read in the cosmo_params from the default preicision directory in order to write the luad files. However a different output path would need to be specified to avoid overwriting old data!
A sample slurm script for each precision is provided in the appropriate directory.