宇宙学特征#

traits 模块托管宇宙学的各个部分,例如 ScaleFactorTemperatureCMB .这些 traits 通过组合不同的组件,可以更轻松地构建定制宇宙学。

举个简单的例子, TemperatureCMB 特征提供了 Tcmb0 财产和 Tcmb() 计算宇宙学CMB温度的方法在特定的红移。通过使用这个trait,你可以将与温度相关的功能添加到你的自定义宇宙学类中,而不必从头开始实现它。

以下是如何使用 ScaleFactorTemperatureCMB 自定义宇宙学课程中的特征:

>>> import astropy.units as u
>>> from astropy.cosmology.traits import ScaleFactor, TemperatureCMB
>>> from astropy.cosmology import Cosmology
>>>
>>> class CustomCosmology(Cosmology, ScaleFactor, TemperatureCMB):
...     def __init__(self, H0, Om0, Ode0, Tcmb0=2.725):
...         self.H0 = H0
...         self.Om0 = Om0
...         self.Ode0 = Ode0
...         self.Tcmb0 = u.Quantity(Tcmb0, "K")
...         super().__init__()
...
...     is_flat = False
...     # Additional custom methods and properties can be added here
>>> cosmo = CustomCosmology(H0=70, Om0=0.3, Ode0=0.7)
>>> cosmo.scale_factor(0)
<Quantity 1.>
>>> cosmo.Tcmb(1)
<Quantity 5.45 K>

通过结合不同的特征,您可以以最少的努力创建功能齐全的宇宙学课程。

参考/API#

天体学.宇宙学.性状模块#

建筑特点 astropy Cosmology

Classes#

ScaleFactor ()

计算宇宙尺度因子的特点。

TemperatureCMB ()

计算宇宙学背景温度的特性。

类继承图#

Inheritance diagram of astropy.cosmology._src.traits.scale_factor.ScaleFactor, astropy.cosmology._src.traits.tcmb.TemperatureCMB