F04

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

Bases: 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)$')

# for 2nd x-axis with lambda values
axis_xs = np.array([0.1, 0.12, 0.15, 0.2, 0.3, 0.5, 1.0])
new_ticks = 1 / axis_xs
new_ticks_labels = ["%.2f" % z for z in axis_xs]
tax = ax.twiny()
tax.set_xlim(ax.get_xlim())
tax.set_xticks(new_ticks)
tax.set_xticklabels(new_ticks_labels)
tax.set_xlabel(r"$\lambda$ [$\mu$m]")

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(x, Rv)

F04 function

Attributes Documentation

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

Methods Documentation

static evaluate(x, Rv)[source]

F04 function

Parameters:
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