F04

class dust_extinction.parameter_averages.F04(*args, meta=None, name=None, **kwargs)[source]

Bases: dust_extinction.baseclasses.BaseExtRvModel

Fitzpatrick (2004) Milky Way R(V) dependent model

Parameters
Rv: float

R(V) = A(V)/E(B-V) = total-to-selective extinction

Raises
InputParameterError

Input Rv values outside of defined range

Notes

From Fitzpatrick (2004, ASP Conf. Ser. 309, Astrophysics of Dust, 33)

Equivalent to the F99 model with an updated NIR Rv dependence

See also Fitzpatrick & Massa (2007, ApJ, 663, 320)

Example showing F04 curves for a range of R(V) values.

import numpy as np
import matplotlib.pyplot as plt
import astropy.units as u

from dust_extinction.parameter_averages import F04

fig, ax = plt.subplots()

# temp model to get the correct x range
text_model = F04()

# generate the curves and plot them
x = np.arange(text_model.x_range[0],
              text_model.x_range[1],0.1)/u.micron

Rvs = ['2.0','3.0','4.0','5.0','6.0']
for cur_Rv in Rvs:
   ext_model = F04(Rv=cur_Rv)
   ax.plot(x,ext_model(x),label='R(V) = ' + str(cur_Rv))

ax.set_xlabel(r'$x$ [$\mu m^{-1}$]')
ax.set_ylabel(r'$A(x)/A(V)$')

ax.legend(loc='best')
plt.show()

(Source code, png, hires.png, pdf)

../_images/dust_extinction-parameter_averages-F04-1.png

Attributes Summary

Rv_range

x_range

Methods Summary

evaluate(in_x, Rv)

F04 function

Attributes Documentation

Rv_range = [2.0, 6.0]
x_range = [0.3, 10.0]

Methods Documentation

evaluate(in_x, Rv)[source]

F04 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
axav: np array (float)

A(x)/A(V) extinction curve [mag]

Raises
ValueError

Input x values outside of defined range