BlackBody1D¶
-
class
astropy.modeling.blackbody.BlackBody1D(temperature=<Quantity 5000. K>, bolometric_flux=<Quantity 1. erg / (cm2 s)>, **kwargs)[source]¶ Bases:
astropy.modeling.Fittable1DModelDeprecated since version 4.0: BlackBody provides the same capabilities
One dimensional blackbody model.
Parameters: temperature :
QuantityBlackbody temperature.
bolometric_flux :
QuantityThe bolometric flux of the blackbody (i.e., the integral over the spectral axis).
Notes
Model formula:
\[f(x) = \pi B_{\nu} f_{\text{bolometric}} / (\sigma T^{4})\]Examples
>>> import warnings >>> from astropy.modeling import models >>> from astropy import units as u >>> with warnings.catch_warnings(): ... warnings.simplefilter('ignore') # Ignore deprecation warning ... bb = models.BlackBody1D() ... bb(6000 * u.AA) # doctest: +FLOAT_CMP <Quantity 1.3585381201978953e-15 erg / (cm2 Hz s)>
# Ignore warnings about deprecation of BlackBody1D import warnings warnings.simplefilter('ignore') import numpy as np import matplotlib.pyplot as plt from astropy.modeling.models import BlackBody1D from astropy.modeling.blackbody import FLAM from astropy import units as u from astropy.visualization import quantity_support bb = BlackBody1D(temperature=5778*u.K) wav = np.arange(1000, 110000) * u.AA flux = bb(wav).to(FLAM, u.spectral_density(wav)) with quantity_support(): plt.figure() plt.semilogx(wav, flux) plt.axvline(bb.lambda_max.to(u.AA).value, ls='--') plt.show()
Deprecated since version 4.0: BlackBody provides the same capabilities
Attributes Summary
bolometric_fluxinput_unitsThis property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or Noneif any units are accepted).input_units_equivalencieslambda_maxPeak wavelength when the curve is expressed as power density. param_namestemperatureMethods Summary
evaluate(x, temperature, bolometric_flux)Evaluate the model. Attributes Documentation
-
bolometric_flux= Parameter('bolometric_flux', value=1.0, unit=erg / (cm2 s), bounds=(0, None))¶
-
input_units¶ This property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or
Noneif any units are accepted).Model sub-classes can also use function annotations in evaluate to indicate valid input units, in which case this property should not be overridden since it will return the input units based on the annotations.
-
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¶ Peak wavelength when the curve is expressed as power density.
-
param_names= ('temperature', 'bolometric_flux')¶
-
temperature= Parameter('temperature', value=5000.0, unit=K, bounds=(0, None))¶
Methods Documentation
-
evaluate(x, temperature, bolometric_flux)[source]¶ Evaluate the model.
Parameters: x : float,
ndarray, orQuantityFrequency at which to compute the blackbody. If no units are given, this defaults to Hz.
temperature : float,
ndarray, orQuantityTemperature of the blackbody. If no units are given, this defaults to Kelvin.
bolometric_flux : float,
ndarray, orQuantityDesired integral for the blackbody.
Returns: y : number or ndarray
Blackbody spectrum. The units are determined from the units of
bolometric_flux.
-