py21cmfast.inputs.FlagOptions¶
- class py21cmfast.inputs.FlagOptions(*args, **kwargs)[source]¶
Flag-style options for the ionization routines.
To see default values for each parameter, use
FlagOptions._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.Note that all flags are set to False by default, giving the simplest “vanilla” version of 21cmFAST.
- Parameters:
USE_HALO_FIELD (bool, optional) – Set to True if intending to find and use the halo field. If False, uses the mean collapse fraction (which is considerably faster).
USE_MINI_HALOS (bool, optional) – Set to True if using mini-halos parameterization. If True, USE_MASS_DEPENDENT_ZETA and INHOMO_RECO must be True.
USE_CMB_HEATING (bool, optional) – Whether to include CMB Heating. (cf Eq.4 of Meiksin 2021, arxiv.org/abs/2105.14516)
USE_LYA_HEATING (bool, optional) – Whether to use Lyman-alpha heating. (cf Sec. 3 of Reis+2021, doi.org/10.1093/mnras/stab2089)
USE_MASS_DEPENDENT_ZETA (bool, optional) – Set to True if using new parameterization. Setting to True will automatically set M_MIN_in_Mass to True.
SUBCELL_RSDS (bool, optional) – Add sub-cell redshift-space-distortions (cf Sec 2.2 of Greig+2018). Will only be effective if USE_TS_FLUCT is True.
INHOMO_RECO (bool, optional) – Whether to perform inhomogeneous recombinations. Increases the computation time.
USE_TS_FLUCT (bool, optional) – Whether to perform IGM spin temperature fluctuations (i.e. X-ray heating). Dramatically increases the computation time.
M_MIN_in_Mass (bool, optional) – Whether the minimum halo mass (for ionization) is defined by mass or virial temperature. Automatically True if USE_MASS_DEPENDENT_ZETA is True.
PHOTON_CONS (bool, optional) – Whether to perform a small correction to account for the inherent photon non-conservation.
FIX_VCB_AVG (bool, optional) – Determines whether to use a fixed vcb=VAVG (regardless of USE_RELATIVE_VELOCITIES). It includes the average effect of velocities but not its fluctuations. See Muñoz+21 (2110.13919).
USE_VELS_AUX (bool, optional) – Auxiliary variable (not input) to check if minihaloes are being used without relative velocities and complain
Methods
__init__
(*args, **kwargs)clone
(**kwargs)Make a fresh copy of the instance with arbitrary parameters updated.
convert
(key, val)Make any conversions of values before saving to 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).
Delete the underlying C object, forcing it to be rebuilt.
update
(**kwargs)Update the parameters of an existing class structure.
Attributes
Automatically setting INHOMO_RECO to True if USE_MINI_HALOS.
Whether minimum halo mass is defined in mass or virial temperature.
Automatically setting PHOTON_CONS to False if USE_MINI_HALOS.
The SUBCELL_RSD flag is only effective if APPLY_RSDS is True.
Automatically setting USE_HALO_FIELD to False if USE_MINI_HALOS.
Automatically setting USE_MASS_DEPENDENT_ZETA to True if USE_MINI_HALOS.
Automatically setting USE_TS_FLUCT to True if USE_MINI_HALOS.
Pure python dictionary representation of this class, as it would appear in C.
List names of fields of the underlying C struct.
List of fields of the underlying C struct (a list of tuples of "name, type").
List of names of fields which have pointer type in the C struct.
List of names of fields which have primitive type in the C struct.
A pure-python dictionary representation of the corresponding C structure.
Dictionary which if passed to its own constructor will yield an identical copy.