BlackBody#
- class astropy.modeling.physical_models.BlackBody(*args, **kwargs)[源代码]#
-
使用普朗克函数的黑体模型。
- 参数:
- temperature :
Quantity
[:ref: 'temperature' ]数量 [:ref: 'temperature'] 黑体温度。
- scalePython:浮点或数量 [:ref: 'dimensionless']
比例因子。如果无量纲,则假设输入单位为赫兹,输出单位为(erg/(cm ** 2 * s * Hz * sr). If not dimensionless, must be equivalent to either (erg / (cm ** 2 * s * 赫兹 * sr) or erg / (cm * * 2 * %s * AA * Sr),在这种情况下,结果将以请求的单位返回,比例将被剥离单位(应用浮点值)。
- temperature :
笔记
模型公式:
\[B{\nu}(T)=A\frac{2h\nu^{3}/c^{2}}{exp(h\nu/kt)-1}\]实例
>>> from astropy.modeling import models >>> from astropy import units as u >>> bb = models.BlackBody(temperature=5000*u.K) >>> bb(6000 * u.AA) <Quantity 1.53254685e-05 erg / (Hz s sr cm2)>
import numpy as np import matplotlib.pyplot as plt from astropy.modeling.models import BlackBody from astropy import units as u from astropy.visualization import quantity_support bb = BlackBody(temperature=5778*u.K) wav = np.arange(1000, 110000) * u.AA flux = bb(wav) with quantity_support(): plt.figure() plt.semilogx(wav, flux) plt.axvline(bb.nu_max.to(u.AA, equivalencies=u.spectral()).value, ls='--') plt.show()
属性摘要
热通量。
此属性用于指示evaluate方法所需的单元或单元集,并返回将输入映射到单元(或
None
如果接受任何单位)。当曲线用功率密度表示时的峰值波长。
当功率曲线为峰值时。
描述此类型模型的参数的名称。
方法总结
evaluate
(x, temperature, scale)评估模型。
属性文档
- bolometric_flux#
热通量。
- input_units#
- input_units_equivalencies = {'x': [(Unit("m"), Unit("Hz"), <function spectral.<locals>.<lambda>>), (Unit("m"), Unit("J"), <function spectral.<locals>.<lambda>>), (Unit("Hz"), Unit("J"), <function spectral.<locals>.<lambda>>, <function spectral.<locals>.<lambda>>), (Unit("m"), Unit("1 / m"), <function spectral.<locals>.<lambda>>), (Unit("Hz"), Unit("1 / m"), <function spectral.<locals>.<lambda>>, <function spectral.<locals>.<lambda>>), (Unit("J"), Unit("1 / m"), <function spectral.<locals>.<lambda>>, <function spectral.<locals>.<lambda>>), (Unit("1 / m"), Unit("rad / m"), <function spectral.<locals>.<lambda>>, <function spectral.<locals>.<lambda>>), (Unit("m"), Unit("rad / m"), <function spectral.<locals>.<lambda>>), (Unit("Hz"), Unit("rad / m"), <function spectral.<locals>.<lambda>>, <function spectral.<locals>.<lambda>>), (Unit("J"), Unit("rad / m"), <function spectral.<locals>.<lambda>>, <function spectral.<locals>.<lambda>>)]}#
- lambda_max#
当曲线用功率密度表示时的峰值波长。
- nu_max#
当功率曲线为峰值时。
- param_names = ('temperature', 'scale')#
描述此类型模型的参数的名称。
此元组中的参数与初始化特定类型的模型时应传入的顺序相同。某些类型的模型,如多项式模型,根据模型的某些其他属性(如阶数)有不同数量的参数。
定义自定义模型类时,此属性的值由
Parameter
在类中定义的body属性。
- scale = Parameter('scale', value=1.0, bounds=(0, None))#
- temperature = Parameter('temperature', value=5000.0, unit=K, bounds=(0, None))#
方法文件
- evaluate(x, temperature, scale)[源代码]#
评估模型。
- 参数:
- 返回:
-
备注
使用
numpy.errstate
如果需要,可以取消Numpy警告。警告
输出值可能包含
nan
和inf
. - 加薪:
ValueError
无效温度。
ZeroDivisionError
波长为零(转换为频率时)。