py21cmfast.inputs.AstroParams

class py21cmfast.inputs.AstroParams(*args, INHOMO_RECO=False, **kwargs)[source]

Astrophysical parameters.

To see default values for each parameter, use AstroParams._defaults_. All parameters passed in the constructor are also saved as instance attributes which should be considered read-only. This is true of all input-parameter classes.

Parameters:
  • INHOMO_RECO (bool, optional) – Whether inhomogeneous recombinations are being calculated. This is not a part of the astro parameters structure, but is required by this class to set some default behaviour.

  • HII_EFF_FACTOR (float, optional) – The ionizing efficiency of high-z galaxies (zeta, from Eq. 2 of Greig+2015). Higher values tend to speed up reionization.

  • F_STAR10 (float, optional) – The fraction of galactic gas in stars for 10^10 solar mass haloes. Only used in the “new” parameterization, i.e. when USE_MASS_DEPENDENT_ZETA is set to True (in FlagOptions). If so, this is used along with F_ESC10 to determine HII_EFF_FACTOR (which is then unused). See Eq. 11 of Greig+2018 and Sec 2.1 of Park+2018. Given in log10 units.

  • F_STAR7_MINI (float, optional) – The fraction of galactic gas in stars for 10^7 solar mass minihaloes. Only used in the “minihalo” parameterization, i.e. when USE_MINI_HALOS is set to True (in FlagOptions). If so, this is used along with F_ESC7_MINI to determine HII_EFF_FACTOR_MINI (which is then unused). See Eq. 8 of Qin+2020. Given in log10 units.

  • ALPHA_STAR (float, optional) – Power-law index of fraction of galactic gas in stars as a function of halo mass. See Sec 2.1 of Park+2018.

  • ALPHA_STAR_MINI (float, optional) – Power-law index of fraction of galactic gas in stars as a function of halo mass, for MCGs. See Sec 2 of Muñoz+21 (2110.13919).

  • F_ESC10 (float, optional) – The “escape fraction”, i.e. the fraction of ionizing photons escaping into the IGM, for 10^10 solar mass haloes. Only used in the “new” parameterization, i.e. when USE_MASS_DEPENDENT_ZETA is set to True (in FlagOptions). If so, this is used along with F_STAR10 to determine HII_EFF_FACTOR (which is then unused). See Eq. 11 of Greig+2018 and Sec 2.1 of Park+2018.

  • F_ESC7_MINI (float, optional) – The “escape fraction for minihalos”, i.e. the fraction of ionizing photons escaping into the IGM, for 10^7 solar mass minihaloes. Only used in the “minihalo” parameterization, i.e. when USE_MINI_HALOS is set to True (in FlagOptions). If so, this is used along with F_ESC7_MINI to determine HII_EFF_FACTOR_MINI (which is then unused). See Eq. 17 of Qin+2020. Given in log10 units.

  • ALPHA_ESC (float, optional) – Power-law index of escape fraction as a function of halo mass. See Sec 2.1 of Park+2018.

  • M_TURN (float, optional) – Turnover mass (in log10 solar mass units) for quenching of star formation in halos, due to SNe or photo-heating feedback, or inefficient gas accretion. Only used if USE_MASS_DEPENDENT_ZETA is set to True in FlagOptions. See Sec 2.1 of Park+2018.

  • R_BUBBLE_MAX (float, optional) – Mean free path in Mpc of ionizing photons within ionizing regions (Sec. 2.1.2 of Greig+2015). Default is 50 if INHOMO_RECO is True, or 15.0 if not.

  • ION_Tvir_MIN (float, optional) – Minimum virial temperature of star-forming haloes (Sec 2.1.3 of Greig+2015). Given in log10 units.

  • L_X (float, optional) – The specific X-ray luminosity per unit star formation escaping host galaxies. Cf. Eq. 6 of Greig+2018. Given in log10 units.

  • L_X_MINI (float, optional) – The specific X-ray luminosity per unit star formation escaping host galaxies for minihalos. Cf. Eq. 23 of Qin+2020. Given in log10 units.

  • NU_X_THRESH (float, optional) – X-ray energy threshold for self-absorption by host galaxies (in eV). Also called E_0 (cf. Sec 4.1 of Greig+2018). Typical range is (100, 1500).

  • X_RAY_SPEC_INDEX (float, optional) – X-ray spectral energy index (cf. Sec 4.1 of Greig+2018). Typical range is (-1, 3).

  • X_RAY_Tvir_MIN (float, optional) – Minimum halo virial temperature in which X-rays are produced. Given in log10 units. Default is ION_Tvir_MIN.

  • F_H2_SHIELD (float, optional) – Self-shielding factor of molecular hydrogen when experiencing LW suppression. Cf. Eq. 12 of Qin+2020. Consistently included in A_LW fit from sims. If used we recommend going back to Macachek+01 A_LW=22.86.

  • t_STAR (float, optional) – Fractional characteristic time-scale (fraction of hubble time) defining the star-formation rate of galaxies. Only used if USE_MASS_DEPENDENT_ZETA is set to True in FlagOptions. See Sec 2.1, Eq. 3 of Park+2018.

  • N_RSD_STEPS (int, optional) – Number of steps used in redshift-space-distortion algorithm. NOT A PHYSICAL PARAMETER.

  • A_LW, BETA_LW (float, optional) – Impact of the LW feedback on Mturn for minihaloes. Default is 22.8685 and 0.47 following Machacek+01, respectively. Latest simulations suggest 2.0 and 0.6. See Sec 2 of Muñoz+21 (2110.13919).

  • A_VCB, BETA_VCB (float, optional) – Impact of the DM-baryon relative velocities on Mturn for minihaloes. Default is 1.0 and 1.8, and agrees between different sims. See Sec 2 of Muñoz+21 (2110.13919).

Methods

__init__(*args[, INHOMO_RECO])

clone(**kwargs)

Make a fresh copy of the instance with arbitrary parameters updated.

convert(key, val)

Convert a given attribute before saving it the instance.

get_fieldnames([cstruct])

Obtain the C-side field names of this struct.

get_fields([cstruct])

Obtain the C-side fields of this struct.

get_pointer_fields([cstruct])

Obtain all pointer fields of the struct (typically simulation boxes).

refresh_cstruct()

Delete the underlying C object, forcing it to be rebuilt.

update(**kwargs)

Update the parameters of an existing class structure.

Attributes

NU_X_THRESH

Check if the choice of NU_X_THRESH is sensible.

R_BUBBLE_MAX

Maximum radius of bubbles to be searched.

X_RAY_Tvir_MIN

Minimum virial temperature of X-ray emitting sources (unlogged and set dynamically).

defining_dict

Pure python dictionary representation of this class, as it would appear in C.

fieldnames

List names of fields of the underlying C struct.

fields

List of fields of the underlying C struct (a list of tuples of "name, type").

pointer_fields

List of names of fields which have pointer type in the C struct.

primitive_fields

List of names of fields which have primitive type in the C struct.

pystruct

A pure-python dictionary representation of the corresponding C structure.

self

Dictionary which if passed to its own constructor will yield an identical copy.

t_STAR

Check if the choice of NU_X_THRESH is sensible.