# Numerical codes

## CIFOG

CIFOG is a versatile **MPI-parallelised semi-numerical** tool to perform simulations of the **Epoch of Reionization**. From a set of evolving cosmological gas density and ionizing emissivity fields, it computes the time and spatially dependent ionization of neutral hydrogen (HI), neutral (HeI) and singly ionized helium (HeII) in the intergalactic medium (IGM). The code accounts for HII, HeII, HeIII recombinations, and provides different descriptions for the photoionization rate that are used to calculate the residual HI fraction in ionized regions.

This tool has been designed to be coupled to semi-analytic galaxy formation models or hydrodynamical simulations. The modular fashion of the code allows the user to easily introduce new descriptions for recombinations and the photoionization rate.

CIFOG is described in Hutter (2018) and also listed in the Astrophysics Source Code Library. The source code and instructions for compilation and execution are available here .

## ASTRAEUS

ASTRAEUS is a **MPI-parallelised semi-numerical** tool to perform simulations of early galaxies and the intergalactic medium (IGM) during the **Epoch of Reionization**. It self-consistently derives the evolution of galaxies and the reionization of the IGM based on the merger trees and density fields of a DM-only N-body simulation. ASTRAEUS models gas accretion, star formation, SN feedback, the time and spatial evolution of the ionized regions, accounting for recombinations, HI fractions and photoionization rates within ionized regions, and radiative feedback. The reionization part in ASTRAEUS is performed by CIFOG.

ASTRAEUS is described in Hutter et al. (2021) and also listed in the Astrophysics Source Code Library. The source code and instructions for compilation and execution are available here .

## Polyspectrum

Polyspectrum is a **MPI-parallelised** code that computes **polyspectra** from a 3D grid of values, using the method described in Watkinson et al. (2017) To date this code supports the computation of powerspectra and bispectra, however it can be easily extended to higher orders. A comparison to an analytical model is available here.

Polypsectrum is listed in the Astrophysics Source Code Library. The source code and instructions for compilation and execution can be found here.

## PCF (Parallel Correlation Function)

PCF is a **MPI-parallelised** library that allows to compute the **two-point correlation functions** between a set of points. It supports the calculations of 3D and angular correlation functions using the Landy-Szalay estimator. Data and random points are distributed over domains, and pairs are calculated within and across domains.

Source code and instructions for compilation and execution can be found here.

An overview of all my publicly available codes can be found on my github page .