Dust Model#

Dust emission powered by the stellar radiation field is modeled in lightning using the Draine & Li (2007) models. Setting dust_emission=True when initializing Lightning automatically selects this model; we do not currently provide an alternative.

class lightning.dust.DL07Dust#

Bases: BaseEmissionModel

An implementation of the Draine & Li (2007) dust emission models.

A fraction gamma of the dust is exposed to a radiation field such that the mass of dust dM exposed to a range of intensities [U, U + dU] is

\[dM = {\rm const}~U^{-\alpha} dU,\]

where U is in [Umin, Umax]. The remaining portion (1 - gamma) is exposed to a radiation field with intensity Umin.

Parameters:
filter_labelslist, str

List of filter labels.

redshiftfloat

Redshift of the model.

wave_gridnp.ndarray

Rest frame wavelength grid to interpolate the model on.

Attributes:
Lnu_restnumpy.ndarray, (29, 7, Nwave), float

High-res spectral model grid. First dimension covers U, the second q_PAH, and the third covers wavelength.

Lnu_obsnumpy.ndarray, (29, 7, Nwave), float

(1 + redshift) * Lnu_rest

mean_Lnunumpy.ndarray, (29, 7, Nfilters), float

The Lnu_obs grid integrated against the filters.

Lbolnumpy.ndarray, (29, 7), float

Total luminosity of each model in the grid.

wave_grid_restnumpy.ndarray, (Nwave,), float

Rest-frame wavelength grid for the models.

wave_grid_obs
nu_grid_rest
nu_grid_obs

Methods

get_model_lnu(params)

Construct the dust SED as observed in the given filters.

get_model_lnu_hires(params)

Construct the high-resolution dust SED.

print_params([verbose])

If verbose, print a nicely formatted table of the models, their parameters, and the description of the parameters.

get_model_lnu(params)#

Construct the dust SED as observed in the given filters.

Given a set of parameters, the corresponding high-resolution spectrum is constructed and convolved with the filters.

Parameters:
paramsnp.ndarray, (Nmodels, 5) or (5,) float32

The dust model parameters.

Returns:
Lnu_obsnp.ndarray, (Nmodels, Nfilters), (Nmodels, Nages, Nfilters), or (Nfilters,), float32

The dust spectrum as seen through the given filters

Lbolnp.ndarray, (Nmodels,) or (Nmodels, Nages)

The total luminosity of the dust model.

get_model_lnu_hires(params)#

Construct the high-resolution dust SED.

Given a set of parameters, the high-resolution spectrum is constructed.

Parameters:
paramsnp.ndarray, (Nmodels, 5) or (5,) float32

The dust model parameters.

Returns:
Lnu_obsnp.ndarray, (Nmodels, Nwave), (Nmodels, Nages, Nwave), or (Nwave,), float32

The dust spectrum as seen through the given filters

Lbolnp.ndarray, (Nmodels,) or (Nmodels, Nages)

The total luminosity of the dust model.

The GrayBody class is used internally to add an additional cold dust component to the AGN emission spectra, balanced with the attenuated power of the “polar dust” component. It cannot currently be selected to replace the Draine & Li model to model the dust emission powered by attenuated stars. It is documented here for completeness; note that it can be initialized on its own and used to build your own custom models.

class lightning.dust.Graybody#

Bases: BaseEmissionModel

A gray-body dust emission model.

The gray body is a modified blackbody accounting for variations in opacity and emissivity, such that (Casey et al. 2012):

\[L_\nu \propto [1 - \exp(-\tau(\nu))] B_\nu(T) = [1 - \exp(-\tau(\nu))] \frac{\nu^3}{\exp(h \nu / k T) - 1}\]

where the optical depth is taken to be a power law in frequency: tau(nu) = (nu / nu0)^beta for some nu0 where the optical depth is 1. In practice this is usually assumed to be around 100-200 um. Beta is expected to range between ~1–2.5.

Parameters:
filter_labelslist, str

List of filter labels.

redshiftfloat

Redshift of the model.

wave_gridnp.ndarray

Rest frame wavelength grid to evaluate the model on.

Methods

get_model_lnu(params)

Construct the dust SED as observed in the given filters.

get_model_lnu_hires(params)

Construct the high-resolution dust SED.

print_params([verbose])

If verbose, print a nicely formatted table of the models, their parameters, and the description of the parameters.

get_model_lnu(params)#

Construct the dust SED as observed in the given filters.

Note that the model Lnu is normalized to the total luminosity.

Parameters:
paramsnp.ndarray, (Nmodels, 3) or (3,) float32

The dust model parameters.

Returns:
Lnu_obsnp.ndarray, (Nmodels, Nfilters), (Nmodels, Nages, Nfilters), or (Nfilters,), float32

The dust spectrum as seen through the given filters

Lbolnp.ndarray, (Nmodels,) or (Nmodels, Nages)

The total luminosity of the dust model.

get_model_lnu_hires(params)#

Construct the high-resolution dust SED.

Note that the model Lnu is normalized to the total luminosity.

Parameters:
paramsnp.ndarray, (Nmodels, 3) or (3,) float32

The dust model parameters.

Returns:
Lnu_obsnp.ndarray, (Nmodels, Nwave), (Nmodels, Nages, Nwave), or (Nwave,), float32

The dust spectrum as seen through the given filters

Lbolnp.ndarray, (Nmodels,) or (Nmodels, Nages)

The total luminosity of the dust model.