宇宙学特征#
的 traits 模块托管宇宙学的各个部分,例如 ScaleFactor 或 TemperatureCMB .这些 traits 通过组合不同的组件,可以更轻松地构建定制宇宙学。
举个简单的例子, TemperatureCMB 特征提供了 Tcmb0 财产和 Tcmb() 计算宇宙学CMB温度的方法在特定的红移。通过使用这个trait,你可以将与温度相关的功能添加到你的自定义宇宙学类中,而不必从头开始实现它。
以下是如何使用 ScaleFactor 和 TemperatureCMB 自定义宇宙学课程中的特征:
>>> 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#
|
计算宇宙尺度因子的特点。 |
计算宇宙学背景温度的特性。 |