本文整理汇总了Python中astropy.cosmology.FlatLambdaCDM.efunc方法的典型用法代码示例。如果您正苦于以下问题:Python FlatLambdaCDM.efunc方法的具体用法?Python FlatLambdaCDM.efunc怎么用?Python FlatLambdaCDM.efunc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类astropy.cosmology.FlatLambdaCDM
的用法示例。
在下文中一共展示了FlatLambdaCDM.efunc方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: FlatLambdaCDM
# 需要导入模块: from astropy.cosmology import FlatLambdaCDM [as 别名]
# 或者: from astropy.cosmology.FlatLambdaCDM import efunc [as 别名]
from hmf import MassFunction
import matplotlib
matplotlib.use('pdf')
matplotlib.rcParams['font.size']=12
import matplotlib.pyplot as p
from scipy.interpolate import interp1d
from scipy.misc import derivative
from astropy.cosmology import FlatLambdaCDM
import astropy.units as u
cosmo = FlatLambdaCDM(H0=67.77*u.km/u.s/u.Mpc, Om0=0.307115, Ob0=0.048206)
omega = lambda zz: cosmo.Om0*(1+zz)**3. / cosmo.efunc(zz)**2
DeltaVir_bn98 = lambda zz : (18.*n.pi**2. + 82.*(omega(zz)-1)- 39.*(omega(zz)-1)**2.)/omega(zz)
#Quantity studied
qty = "mvir"
# working directory
dir = join(os.environ['MULTIDARK_LIGHTCONE_DIR'], qty)
# loads summary file
data = fits.open( join(dir, "MD_"+qty+"_summary.fits"))[1].data
NminCount = 100
Npmin = 300
nolim = [0,1e17]
limits_04 = n.log10([Npmin*9.63 * 10**7, 5e12])
limits_10 = n.log10([Npmin*1.51 * 10**9., 5e13])
limits_25 = n.log10([Npmin*2.359 * 10**10., 5e14])
示例2: __init__
# 需要导入模块: from astropy.cosmology import FlatLambdaCDM [as 别名]
# 或者: from astropy.cosmology.FlatLambdaCDM import efunc [as 别名]
class Calculator:
"""
Calculate various quantities under a specific cosmology, as well
as some values with respect to Chandra ACIS detector properties.
"""
def __init__(self, H0=71.0, Om0=0.27, Ob0=0.046):
self.H0 = H0 # [km/s/Mpc]
self.Om0 = Om0
self.Ode0 = 1.0 - Om0
self.Ob0 = Ob0
self._cosmo = FlatLambdaCDM(H0=H0, Om0=Om0, Ob0=Ob0)
def evolution_factor(self, z):
return self._cosmo.efunc(z)
def luminosity_distance(self, z, unit="Mpc"):
dist = self._cosmo.luminosity_distance(z)
return dist.to(au.Unit(unit)).value
def angular_diameter_distance(self, z, unit="Mpc"):
dist = self._cosmo.angular_diameter_distance(z)
return dist.to(au.Unit(unit)).value
def kpc_per_arcsec(self, z):
"""
Calculate the transversal length (unit: kpc) corresponding to
1 arcsec at the *angular diameter distance* of z.
"""
dist_kpc = self.angular_diameter_distance(z, unit="kpc")
return dist_kpc * au.arcsec.to(au.rad)
def kpc_per_pix(self, z):
"""
Calculate the transversal length (unit: kpc) corresponding to
1 ACIS pixel (i.e., 0.492 arcsec) at the *angular diameter distance*
of z.
"""
pix = ACIS.pixel2arcsec * au.arcsec
dist_kpc = self.angular_diameter_distance(z, unit="kpc")
return dist_kpc * pix.to(au.rad).value
def cm_per_pix(self, z):
"""
Calculate the transversal length (unit: cm) corresponding to
1 ACIS pixel (i.e., 0.492 arcsec) at the *angular diameter distance*
of z.
"""
return self.kpc_per_pix(z) * au.kpc.to(au.cm)
def norm_apec(self, z):
"""
The normalization factor of the XSPEC APEC model assuming
EM = 1 (i.e., n_e = n_H = 1 cm^-3, and V = 1 cm^3)
norm = 1e-14 / (4*pi* (D_A * (1+z))^2) * int(n_e * n_H) dV
unit: [cm^-5]
This value will be used to calculate the cooling function values.
References
----------
* XSPEC: APEC model
https://heasarc.gsfc.nasa.gov/docs/xanadu/xspec/manual/XSmodelApec.html
"""
da = self.angular_diameter_distance(z, unit="cm")
norm = 1e-14 / (4*math.pi * (da * (1+z))**2)
return norm