Code to compute HI 21cm & 3HeII 3.5cm brightness temperature
If you want to compute the 21cm signal in the early stages of reionization from a cosmological simulation. You will need
- cosmological box with DM/gas overdensities (grid)
- a box with ovderdensity of number of ionizing photons (grid)
- MPI Parallel The code can be run on multiple cores and distributed memory.
- redshift-variable spectral index An input list needs to be provided where the spectral index of the Lyman-alpha and x-ray sources can be changed over time.
- 3HeII 3cm emission The code includes the option to compute the 3HeII 3cm emission line.
Serial run
1. fftw3 library: ``fftw3 >= 3.3.3``
2. gsl library (math, integrate): ``gsl >= 1.16``
Parallel run
- MPI library
- fftw3 & fftw3-mpi library: fftw3 >= 3.3.3
- gsl library (math, integrate): gsl >= 1.16
FFTW3 '''''
Go to the FFTW webpage <http://www.fftw.org/download.html>__ to install fftw3. Ensure to compile the library with the enable-mpi flag for parallel runs
::
$ ./configure --enable-mpi
$ make
$ make install
GSL '''
Go to the GSL webpage <https://www.gnu.org/software/gsl/>__ to install gsl and follow the instructions there.
::
$ git clone https://github.com/annehutter/21cm_grid.git
$ make
This will download the code and first test case from the github directory and compile the source code.
The code is executed by ::
$ ./21CMGRID iniFile.ini
iniFile.ini contains all input parameters that are needed for any runs. For a different simulation the code does not need to be recompiled but just this parameter file iniFile.ini to be adapted.
Parameter file ''''''''''''''
General ...........
- 
inputFilesAreInDoublePrecision: 0 for single, 1 for double precision of data files to be read in
- 
inputList: list with redshift steps: z, dens_id, xray_id, lumX, alphaX, nuX_min, lya_id, lumLya, alphaLya, nuLya_min
- 
inputIgmDensityFile: path to density grids (without "_<dens_id>" at the end)
- 
inputXraySourcesFile: path to Xray sources grids (without "_<xray_id>" at the end)
- 
inputLyaSourcesFile: path to Lya sources grids (without "_<lya_id>" at the end)
- 
gridsize: size of the grid (should be a power of 2)
- 
boxsize: comoving boxsize in Mpc/h
- 
initialRedshift: redshift at which simulation starts
- 
finalRedshift: redshift at which simulation ends
- 
dz_max: maximum decrease in redshift when evolving
- 
h: H = 100*h km/s/Mpc
- 
omega_b: baryon density parameter
- 
omega_m: matter density parameter
- 
omega_l: lambda density parameter
- 
sigma8: sigma8
- 
Y: mass fraction of Helium in the primordial gas (assumed to consist of H and He)
- 
solve_3He: 1 for solving brightness temperature for 3HeII, 0 for only HI
- 
initialIGMtemperature: initial IGM temperature at "initialRedshift"