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