CHIMES DriverΒΆ

This section describes the chimes-driver.py python script that can be used to run the stand-alone CHIMES module on a variety of applications, for example to compute equilibrium abundances from a simulation snapshot in post-processing, to follow the non-equilibrium chemical equilibrium on a grid of initial temperatures, densities and metallicities, or to create tables of cooling rates or equilibrium abundances.

To run chimes-driver.py, you need to pass it a parameter file as an argument. This is a text file defining the various parameters, which are described in the Parameters section below. To run on a single CPU, you can use:

python chimes-driver.py parameter_file

You can also run on multiple CPUs with MPI. For example, to run on 4 CPUs:

mpirun -np 4 python chimes-driver.py parameter_file

By default, chimes-driver.py will assume that you built the CHIMES library in double precision by passing it the -DCHIMES_USE_DOUBLE_PRECISION compiler flag in the Makefile. If instead you built it in single precision, i.e. without the -DCHIMES_USE_DOUBLE_PRECISION compiler flag, you will need to run chimes-driver.py with an additional --single-precision argument, which must come after the parameter file, i.e.:

mpirun -np 4 python chimes-driver.py parameter_file --single-precision

You will also need to make sure that the Sundials library was built in single precision.