N09¶
-
class
dust_attenuation.shapes.
N09
(x0=0.2175, gamma=0.035, ampl=0, slope=0.0, Av=1.0, **kwargs)[source]¶ Bases:
dust_attenuation.baseclasses.BaseAttAvModel
Attenuation curve using a modified version of the Calzetti law allowing for a varying UV slope and the presence of a UV bump.
- Parameters
- x0: float
Central wavelength of the UV bump (in microns).
- gamma: float
Width (FWHM) of thhe UV bump (in microns).
- ampl: float
Amplitude of the UV bump.
- slope: float
Slope of the power law.
- Av: float
attenuation in V band.
- Raises
- InputParameterError
Input Av values outside of defined range
Notes
The original formalism is from Noll et al, A&A 507, 1793–1813 (2009).
Example:
import matplotlib.pyplot as plt import numpy as np import astropy.units as u from dust_attenuation.shapes import N09 fig, ax = plt.subplots() # generate the curves and plot them x = np.arange(0.5,10,0.1)/u.micron slopes = [-1, -0.5, 0, 0.5, 1] for slope in slopes: att_model = N09(Av=1,ampl=3.5,slope=slope) ax.plot(x,att_model(1/x),label=r'$\delta$ = %.2f' % (slope)) ax.set_xlabel(r'$x$ [$\mu m^{-1}$]') ax.set_ylabel(r'A(x) [mag]') ax.legend(loc='best') plt.title("Noll09 with varying slopes") plt.show()
(Source code, png, hires.png, pdf)
Attributes Summary
Methods Summary
evaluate
(x, Av, x0, gamma, ampl, slope)N09 function
k_lambda
(x, x0, gamma, ampl, slope)Compute the starburst reddening curve k’(λ)=A(λ)/E(B-V) using recipe of Calzetti 2000 and Leitherer 2002
power_law
(x, slope)Power law normalised at 0.55 microns (V band).
uv_bump
(x, x0, gamma, ampl)Drude profile for computing the UV bump.
Attributes Documentation
-
Av
= Parameter('Av', value=1.0, bounds=(0.0, None))¶
-
Rv_C00
= 4.05¶
-
ampl
= Parameter('ampl', value=0.0, bounds=(0, None))¶
-
gamma
= Parameter('gamma', value=0.035, bounds=(0, None))¶
-
param_names
= ('Av', 'x0', 'gamma', 'ampl', 'slope')¶
-
slope
= Parameter('slope', value=0.0, bounds=(-3.0, 3.0))¶
-
x0
= Parameter('x0', value=0.2175, bounds=(0, None))¶
-
x_range
= [0.097, 2.2]¶
Methods Documentation
-
evaluate
(x, Av, x0, gamma, ampl, slope)[source]¶ N09 function
- Parameters
- x: np array (float)
expects either x in units of wavelengths or frequency or assumes wavelengths in [micron] internally microns are used
- Av: float
attenuation in V band.
- x0: float
Central wavelength of the UV bump (in microns).
- gamma: float
Width (FWHM) of thhe UV bump (in microns).
- ampl: float
Amplitude of the UV bump.
- slope: float
Slope of the power law.
- Returns
- att: np array (float)
Att(x) attenuation curve [mag]
- Raises
- ValueError
Input x values outside of defined range
-
k_lambda
(x, x0, gamma, ampl, slope)[source]¶ Compute the starburst reddening curve k’(λ)=A(λ)/E(B-V) using recipe of Calzetti 2000 and Leitherer 2002
- Parameters
- in_x: np array (float)
expects either x in units of wavelengths or frequency or assumes wavelengths in [micron] internally microns are used
- x0: float
Central wavelength of the UV bump (in microns).
- gamma: float
Width (FWHM) of thhe UV bump (in microns).
- ampl: float
Amplitude of the UV bump.
- slope: float
Slope of the power law.
- Returns
- k_lambda: np array (float)
k_lambda(x) reddening curve
- Raises
- ValueError
Input x values outside of defined range
-
power_law
(x, slope)[source]¶ Power law normalised at 0.55 microns (V band).
- Parameters
- x: np array (float)
expects wavelengths in [micron]
- slope: float
slope of the power law
- Returns
- powlaw: np array (float)
power law
-
uv_bump
(x, x0, gamma, ampl)[source]¶ Drude profile for computing the UV bump.
- Parameters
- x: np array (float)
expects wavelengths in [micron]
- x0: float
Central wavelength of the UV bump (in microns).
- gamma: float
Width (FWHM) of the UV bump (in microns).
- ampl: float
Amplitude of the UV bump.
- Returns
- np array (float)
lorentzian-like Drude profile
- Raises
- ValueError
Input x values outside of defined range