hyperion.dust.SphericalDust

class hyperion.dust.SphericalDust(*args)

This class should be used in cases where fully arbitrary dust properties need to be specified, within the framework of randomly oriented grains, which means that the scattering phase function has the general form:

R(\theta) = \left[\begin{array}{cccc}P_1 & P_2 & 0 & 0 \\P_2 & P_1 & 0 & 0 \\0 & 0 & P_3 & -P_4 \\0 & 0 & P_4 & P_3\end{array}\right]

This class is initialized with:

d = SphericalDust()

and the properties should then be set manually. See here for a description of the available properties and how to set them.

Method

set_sublimation_temperature(mode[, temperature]) Set the dust sublimation mode and temperature.
set_sublimation_specific_energy(mode[, …]) Set the dust sublimation mode and specific energy.
set_lte_emissivities([n_temp, temp_min, …]) Calculate the emissivities assuming LTE
plot(filename)
read(filename) Read in from a standard dust file
write(filename[, compression]) Write out to a standard dust file, including calculations of the mean opacities and optionally thermal emissivities.
temperature2specific_energy(temperature) Convert a temperature to its corresponding specific energy value.
specific_energy2temperature(specific_energy) Convert a specific energy value to its corresponding temperature.
chi_nu_temperature(temperature) Compute the mean opacity to extinction for a blackbody at a given temperature.
kappa_nu_temperature(temperature) Compute the mean opacity to absorption for a blackbody at a given temperature.
chi_nu_spectrum(nu, fnu) Compute the mean opacity to extinction for a given spectrum.
kappa_nu_spectrum(nu, fnu) Compute the mean opacity to absorption for a given spectrum.

Methods (detail)

set_sublimation_temperature(mode, temperature=0.0)

Set the dust sublimation mode and temperature.

Parameters:

mode : str

The dust sublimation mode, which can be:
  • ‘no’ - no sublimation
  • ‘fast’ - remove all dust in cells exceeding the
    sublimation temperature
  • ‘slow’ - reduce the dust in cells exceeding the
    sublimation temperature
  • ‘cap’ - any temperature exceeding the sublimation
    temperature is reset to the sublimation temperature.

temperature : float, optional

The dust sublimation temperature, in K

set_sublimation_specific_energy(mode, specific_energy=0.0)

Set the dust sublimation mode and specific energy.

Parameters:

mode : str

The dust sublimation mode, which can be:
  • ‘no’ - no sublimation
  • ‘fast’ - remove all dust in cells exceeding the
    sublimation specific energy
  • ‘slow’ - reduce the dust in cells exceeding the
    sublimation specific energy
  • ‘cap’ - any specific energy exceeding the sublimation
    specific energy is reset to the sublimation specific energy.

specific_energy : float, optional

The dust sublimation specific energy, in cgs

set_lte_emissivities(n_temp=1200, temp_min=0.1, temp_max=100000.0)

Calculate the emissivities assuming LTE

Parameters:

n_temp : int, optional

The number of temperatures to calculate the emissivities for

temp_min : float, optional

The minimum temperature to calculate the emissivities for

temp_max : float, optional

The maximum temperature to calculate the emissivities for

plot(filename)
read(filename)

Read in from a standard dust file

write(filename, compression=True)

Write out to a standard dust file, including calculations of the mean opacities and optionally thermal emissivities.

temperature2specific_energy(temperature)

Convert a temperature to its corresponding specific energy value.

Parameters:

temperature : float or array_like

The temperature to convert

Returns:

specific_energy : float or array_like

The specific energy corresponding to the input temperature

specific_energy2temperature(specific_energy)

Convert a specific energy value to its corresponding temperature.

Parameters:

specific_energy : float or array_like

The specific energy to convert

Returns:

temperature : float or array_like

The temperature corresponding to the input specific energy

chi_nu_temperature(temperature)

Compute the mean opacity to extinction for a blackbody at a given temperature.

Parameters:

temperature : float

The temperature of the blackbody to use

Returns:

chi_nu_mean : float

The mean opacity to extinction

kappa_nu_temperature(temperature)

Compute the mean opacity to absorption for a blackbody at a given temperature.

Parameters:

temperature : float

The temperature of the blackbody to use

Returns:

kappa_nu_mean : float

The mean opacity to absorption

chi_nu_spectrum(nu, fnu)

Compute the mean opacity to extinction for a given spectrum.

Parameters:

nu : array_like

The frequencies, in Hz

fnu : array_like

The monochromatic fluxes per unit frequency. Units are unimportant since proportionality constants are cancelled out in the computation.

Returns:

chi_nu_mean : float

The mean opacity to extinction

kappa_nu_spectrum(nu, fnu)

Compute the mean opacity to absorption for a given spectrum.

Parameters:

nu : array_like

The frequencies, in Hz

fnu : array_like

The monochromatic fluxes per unit frequency. Units are unimportant since proportionality constants are cancelled out in the computation.

Returns:

kappa_nu_mean : float

The mean opacity to absorption