F99

class dust_extinction.dust_extinction.F99(Rv=3.1, **kwargs)[source]

Bases: dust_extinction.dust_extinction.BaseExtRvModel

F99 extinction model calculation

Parameters:

Rv: float

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

Raises:

InputParameterError

Input Rv values outside of defined range

Notes

F99 Milky Way R(V) dependent extinction model

From Fitzpatrick (1999, PASP, 111, 63)

Updated for the C1 vs C2 correlation in
Fitzpatrick & Massa (2007, ApJ, 663, 320)

Example showing F99 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.dust_extinction import F99

fig, ax = plt.subplots()

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

# 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 = F99(Rv=cur_Rv)
   ax.plot(x,ext_model(x),label='R(V) = ' + str(cur_Rv))

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

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

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

../_images/dust_extinction-dust_extinction-F99-1.png

Attributes Summary

Rv_range
param_names
x_range

Methods Summary

evaluate(in_x, Rv) F99 function

Attributes Documentation

Rv_range = [2.0, 6.0]
param_names = ('Rv',)
x_range = [0.3, 10.0]

Methods Documentation

evaluate(in_x, Rv)[source]

F99 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