FM90¶
-
class
dust_extinction.shapes.
FM90
(C1=0.1, C2=0.7, C3=3.23, C4=0.41, xo=4.6, gamma=0.99, **kwargs)[source]¶ Bases:
astropy.modeling.Fittable1DModel
Fitzpatrick & Massa (1990) 6 parameter ultraviolet shape model
- Parameters
- C1: float
y-intercept of linear term
- C2: float
slope of liner term
- C3: float
amplitude of “2175 A” bump
- C4: float
amplitude of FUV rise
- xo: float
centroid of “2175 A” bump
- gamma: float
width of “2175 A” bump
Notes
From Fitzpatrick & Massa (1990, ApJS, 72, 163)
Only applicable at UV wavelengths
Example showing a FM90 curve with components identified.
import numpy as np import matplotlib.pyplot as plt import astropy.units as u from dust_extinction.shapes import FM90 fig, ax = plt.subplots() # generate the curves and plot them x = np.arange(3.8,8.6,0.1)/u.micron ext_model = FM90() ax.plot(x,ext_model(x),label='total') ext_model = FM90(C3=0.0, C4=0.0) ax.plot(x,ext_model(x),label='linear term') ext_model = FM90(C1=0.0, C2=0.0, C4=0.0) ax.plot(x,ext_model(x),label='bump term') ext_model = FM90(C1=0.0, C2=0.0, C3=0.0) ax.plot(x,ext_model(x),label='FUV rise term') ax.set_xlabel(r'$x$ [$\mu m^{-1}$]') ax.set_ylabel(r'$E(\lambda - V)/E(B - V)$') ax.legend(loc='best') plt.show()
(Source code, png, hires.png, pdf)
Attributes Summary
Methods Summary
__call__
(self, *inputs[, model_set_axis, …])Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.
evaluate
(in_x, C1, C2, C3, C4, xo, gamma)FM90 function
fit_deriv
(in_x, C1, C2, C3, C4, xo, gamma)Derivatives of the FM90 function with respect to the parameters
Attributes Documentation
-
C1
= Parameter('C1', value=0.1)¶
-
C2
= Parameter('C2', value=0.7)¶
-
C3
= Parameter('C3', value=3.23)¶
-
C4
= Parameter('C4', value=0.41)¶
-
gamma
= Parameter('gamma', value=0.99, bounds=(0.0, None))¶
-
n_inputs
= 1¶
-
n_outputs
= 1¶
-
param_names
= ('C1', 'C2', 'C3', 'C4', 'xo', 'gamma')¶
-
x_range
= [3.125, 10.964912280701753]¶
-
xo
= Parameter('xo', value=4.6, bounds=(0.0, None))¶
Methods Documentation
-
__call__
(self, *inputs, model_set_axis=None, with_bounding_box=False, fill_value=nan, equivalencies=None, inputs_map=None, **new_inputs)¶ Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.
-
static
evaluate
(in_x, C1, C2, C3, C4, xo, gamma)[source]¶ FM90 function
- Parameters
- in_x: float
expects either x in units of wavelengths or frequency or assumes wavelengths in wavenumbers [1/micron]
internally wavenumbers are used
- Returns
- exvebv: np array (float)
E(x-V)/E(B-V) extinction curve [mag]
- Raises
- ValueError
Input x values outside of defined range