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

FM90 extinction model calculation

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

FM90 extinction model

From Fitzpatrick & Massa (1990)

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)

../_images/dust_extinction-shapes-FM90-1.png

Attributes Summary

C1 linear term: y-intercept
C2 linear term: slope
C3 bump: amplitude
C4 FUV rise: amplitude
gamma bump: width
inputs
outputs
param_names
x_range
xo bump: centroid

Methods Summary

__call__(x[, 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

linear term: y-intercept

C2

linear term: slope

C3

bump: amplitude

C4

FUV rise: amplitude

gamma

bump: width

inputs = ('x',)
outputs = ('exvebv',)
param_names = ('C1', 'C2', 'C3', 'C4', 'xo', 'gamma')
x_range = [3.125, 10.964912280701753]
xo

bump: centroid

Methods Documentation

__call__(x, model_set_axis=None, with_bounding_box=False, fill_value=nan, equivalencies=None)

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

static fit_deriv(in_x, C1, C2, C3, C4, xo, gamma)[source]

Derivatives of the FM90 function with respect to the parameters