Source code for lenstronomy.Cosmo.lcdm

__author__ = "sibirrer"

from astropy.cosmology import FlatLambdaCDM, LambdaCDM
from lenstronomy.Cosmo.lens_cosmo import LensCosmo

__all__ = ["LCDM"]


[docs] class LCDM(object): """Flat LCDM cosmology background with free Hubble parameter and Omega_m at fixed lens redshift configuration."""
[docs] def __init__(self, z_lens, z_source, flat=True): """ :param z_lens: redshift of lens :param z_source: redshift of source :param flat: bool, if True, flat universe is assumed """ self.z_lens = z_lens self.z_source = z_source self._flat = flat
def _get_cosom(self, H_0, Om0, Ode0=None): """ :param H_0: :param Om0: :param Ode0: :return: """ if self._flat is True: cosmo = FlatLambdaCDM(H0=H_0, Om0=Om0) else: cosmo = LambdaCDM(H0=H_0, Om0=Om0, Ode0=Ode0) lensCosmo = LensCosmo(z_lens=self.z_lens, z_source=self.z_source, cosmo=cosmo) return lensCosmo
[docs] def D_d(self, H_0, Om0, Ode0=None): """Angular diameter to deflector. :param H_0: Hubble parameter [km/s/Mpc] :param Om0: normalized matter density at present time :return: float [Mpc] """ lensCosmo = self._get_cosom(H_0, Om0, Ode0) return lensCosmo.dd
[docs] def D_s(self, H_0, Om0, Ode0=None): """Angular diameter to source. :param H_0: Hubble parameter [km/s/Mpc] :param Om0: normalized matter density at present time :return: float [Mpc] """ lensCosmo = self._get_cosom(H_0, Om0, Ode0) return lensCosmo.ds
[docs] def D_ds(self, H_0, Om0, Ode0=None): """Angular diameter from deflector to source. :param H_0: Hubble parameter [km/s/Mpc] :param Om0: normalized matter density at present time :return: float [Mpc] """ lensCosmo = self._get_cosom(H_0, Om0, Ode0) return lensCosmo.dds
[docs] def D_dt(self, H_0, Om0, Ode0=None): """Time-delay distance. :param H_0: Hubble parameter [km/s/Mpc] :param Om0: normalized matter density at present time :return: float [Mpc] """ lensCosmo = self._get_cosom(H_0, Om0, Ode0) return lensCosmo.ddt