py21cmfast.RectilinearLightconer¶
- class py21cmfast.RectilinearLightconer¶
Bases:
LightconerThe class rectilinear lightconer.
- classmethod __init_subclass__()¶
Enabe plugin-style behaviour.
- Return type:
None
- classmethod between_redshifts(min_redshift, max_redshift, resolution, cosmo=Planck18, **kw)¶
Construct a Lightconer with regular comoving dist. slices between two z’s.
- Parameters:
min_redshift (float)
max_redshift (float)
resolution (astropy.units.Quantity[_LENGTH])
- coeval_subselect(lcd, coeval, coeval_res)¶
Sub-select the coeval slice corresponding to this coeval distance.
- Parameters:
lcd (astropy.units.Quantity[astropy.units.pixel])
coeval (numpy.ndarray)
coeval_res (astropy.units.Quantity[_LENGTH])
- construct_lightcone(lcd, box)¶
Construct slices of the lightcone between two coevals.
- Parameters:
lcd (numpy.ndarray)
box (numpy.ndarray)
- Return type:
tuple[numpy.ndarray, numpy.ndarray]
- construct_los_velocity_lightcone(lcd, velocity)¶
Construct slices of the lightcone between two coevals.
- Parameters:
lcd (numpy.ndarray)
velocity (numpy.ndarray)
- Return type:
numpy.ndarray
- find_required_lightcone_limits(classy_output, inputs)¶
Obtain the redshift limits required for the lightcone to include RSDs.
This is a crude estimation of the maximum/minimum lightcone limits that are required in order to simulate all the “mass” that enters the requested ligthcone (due to RSD shift). We use the rms of the velocity field from linear perturbation theory in order to determine the required lightcone limits. If no limit is found, it means that the limits of node_redshifts are not sufficient and an error is raised.
- Parameters:
classy_output (classy.Class) – An object containing all the information from the CLASS calculation.
inputs (InputParameters) – The input parameters corresponding to the box.
- Returns:
lcd_limits_rsd (list) – List that contains the limits of the required lightcone distances.
- Parameters:
classy_output (classy.Class)
- Return type:
list[astropy.units.Quantity]
- get_lc_distances_in_pixels(resolution)¶
Get the lightcone distances in pixels, given a resolution.
- Parameters:
resolution (astropy.units.Quantity[_LENGTH])
- get_shape(simulation_options)¶
Get the shape of the lightcone.
- Parameters:
simulation_options (py21cmfast.wrapper.inputs.SimulationOptions)
- Return type:
tuple[int, int, int]
- make_lightcone_slices(c1, c2)¶
Make lightcone slices out of two coeval objects.
- Parameters:
c1, c2 (Coeval) – The coeval boxes to interpolate.
- Returns:
quantity – The field names of the quantities required by the lightcone.
lcidx – The indices of the lightcone to which these slices belong.
scalar_field_slices – The scalar fields evaluated on the “lightcone” slices that exist within the redshift range spanned by
c1andc2.
- Parameters:
- Return type:
tuple[dict[str, numpy.ndarray], numpy.ndarray]
- redshift_interpolation(dc, coeval_a, coeval_b, dc_a, dc_b, kind='mean')¶
Perform redshift interpolation to a new box given two bracketing coevals.
- Parameters:
dc (float)
coeval_a (numpy.ndarray)
coeval_b (numpy.ndarray)
dc_a (float)
dc_b (float)
kind (str)
- Return type:
numpy.ndarray
- validate_options(inputs, include_dvdr_in_tau21, apply_rsds, classy_output=None)¶
Validate 21cmFAST options.
- Parameters:
include_dvdr_in_tau21 (bool)
apply_rsds (bool)
classy_output (classy.Class | None)
- Return type:
- classmethod with_equal_cdist_slices(min_redshift, max_redshift, resolution, cosmo=Planck18, **kw)¶
Create a lightconer with equally spaced slices in comoving distance.
This method is deprecated and will be removed in future versions. Instead, use between_redshifts to create a lightconer with equally spaced slices in comoving distance.
- Parameters:
min_redshift (float)
max_redshift (float)
resolution (astropy.units.Quantity[_LENGTH])
- __slots__ = ()¶
- cosmo: astropy.cosmology.FLRW¶
- index_offset: int¶
- interp_kinds: dict[str, str]¶
- lc_distances: astropy.units.Quantity[_LENGTH]¶
- property lc_redshifts: numpy.ndarray¶
The redshifts of the lightcone slices.
- Return type:
numpy.ndarray
- line_of_sight_axis: int¶
- quantities: tuple[str]¶