Skip to content

Compiling

The latest version is available in the official repository. To get a local copy of the master branch, run:

git clone https://github.com/SWIFTSIM/HBT-HERONS.git && cd HBT-HERONS

As HBT-HERONS saves the commit hash and its status when the code is compiled, it is recommended to compile it from its own separate build folder. This prevents git from identifying changes to the files it tracks.

mkdir build && cd build 

The relevant libraries used to compile the code are found through CMake. Then it is a simple case of compiling to generate the HBT executable:

cmake ../ && make -j 4

Note that there are several important compile-time options that can be specified using CMake. Compiling without specifying their values, as we have just done, uses their default values.

Compile-time options

We only show the subset of options that are directly relevant to how a simulation is analysed.

Tip

Using ccmake instead of cmake opens an interactive terminal view showing the all the relevant compile-time options and allows the user to change their value more easily.

Type of simulation

Property
Default
Description
HBT_DM_ONLY Off Enable if the simulation is dark matter only.
HBT_UNBIND_WITH_THERMAL_ENERGY Off Enable to include thermal energy of gas when calculating its binding energy. If enabled, the dataset needs to be loaded from the particle outpouts.

Internal precision

These flags are used to determine the internal dtypes used by HBT-HERONS, which always default to using the maximum precision possible. If you would like to reduce the memory footprint of the code, you can do so using these flags.

Property
Default
Description
HBT_INT8 Off Whether to represent integers using 8 or 4 bytes.
HBT_REAL8 Off Whether to represent floats using 8 or 4 bytes.
HBT_REAL8 Off Whether to represent floats using 8 (64) or 4 (32) bytes (bits).
HBT_REAL8 Off Whether to represent floats using 8 (64) or 4 (32) bytes (bits).
HBT_REAL8 Off Whether to represent floats using 8 (64) or 4 (32) bytes (bits).

HBT_CHECK_TRACER_INDEX OFF

HBT_INPUT_INT8 ON HBT_INT8 ON HBT_REAL4_MASS OFF HBT_REAL4_VEL OFF OFF HBT_UNSIGNED_LONG_ID_OUTPUT ON

Debugging and testing