B92_MWAvg

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

Bases: BaseExtModel

Bastiaansen (1992) Optical Extinction Curve

Parameters:
None
Raises:
None

Notes

From Bastiaansen (1992, A&AS, 93, 449-462)

Example showing the average curve

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

from dust_extinction.averages import B92_MWAvg

fig, ax = plt.subplots()

# define the extinction model
ext_model = B92_MWAvg()

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

ax.plot(x,ext_model(x),label='B1992')
ax.plot(1.0/ext_model.obsdata_x, ext_model.obsdata_axav, 'ko',
        label='obsdata')

ax.set_xlabel(r'$\lambda$ [$\mu m$]')
ax.set_ylabel(r'$A(x)/A(V)$')

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

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

../_images/dust_extinction-averages-B92_MWAvg-1.png

Attributes Summary

Rv

obsdata_axav

obsdata_tolerance

obsdata_x

x_range

Methods Summary

evaluate(in_x)

B1992 function

Attributes Documentation

Rv = 3.1
obsdata_axav = array([0.849, 0.891, 0.941, 0.998, 1.045, 1.088, 1.139, 1.176, 1.226,        1.279, 1.34 , 1.418, 1.473, 1.507, 1.556, 1.595, 1.659, 1.718,        1.761, 1.795])
obsdata_tolerance = 0.006
obsdata_x = array([1.27016385, 1.33244504, 1.40805407, 1.49678192, 1.5625    ,        1.6374652 , 1.71791788, 1.78539547, 1.84945441, 1.92122959,        2.00040008, 2.12404418, 2.22419929, 2.27531286, 2.38549618,        2.4764735 , 2.64200793, 2.77777778, 2.86286859, 2.93944738])
x_range = [1.2701638511367968, 2.9394473838918285]

Methods Documentation

evaluate(in_x)[source]

B1992 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