O94¶
- class dust_extinction.parameter_averages.O94(*args, meta=None, name=None, **kwargs)[source]¶
Bases:
BaseExtRvModel
O’Donnell (1994) 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 O’Donnell (1994, ApJ, 422, 158)
Updates/improves the optical portion of the CCM89 model
Example showing O94 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 O94 fig, ax = plt.subplots() # generate the curves and plot them x = np.arange(0.5,10.0,0.1)/u.micron Rvs = ['2.0','3.0','4.0','5.0','6.0'] for cur_Rv in Rvs: ext_model = O94(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
)Attributes Summary
Methods Summary
evaluate
(in_x, Rv)O94 function
Attributes Documentation
- Rv_range = [2.0, 6.0]¶
- x_range = [0.3, 10.0]¶
Methods Documentation
- static evaluate(in_x, Rv)[source]¶
O94 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