F19_D03_extension

class beast.physicsmodel.dust.extinction_extension.F19_D03_extension(Rv=3.1, **kwargs)[source]

Bases: F19

dust_extinction.parameter_averages.F19 model extended to shorter wavelengths using the dust_extinction.grain_models.D03 models.

Parameters:
None
Raises:
InputParameterError

Input Rv values outside of defined range

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

from beast.physicsmodel.dust.extinction_extension import F19_D03_extension
from dust_extinction.grain_models import D03

fig, ax = plt.subplots()

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

# 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 = F19_D03_extension(Rv=cur_Rv)
    ax.plot(1.0 / x, ext_model(x), label="F19_D03_ext R(V) = " + str(cur_Rv))

pmods = ["MWRV31", "MWRV40", "MWRV55"]
for cmod in pmods:
    dmod = D03(modelname=cmod)
    ax.plot(1.0 / x, dmod(x), label=f"D03 {cmod}", linestyle="dashed", color="black")

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

ax.set_xscale("log")

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

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

../_images/beast-physicsmodel-dust-extinction_extension-F19_D03_extension-1.png

Attributes Summary

x_range

Methods Summary

evaluate(in_x, Rv)

F19_D03_extension function

Attributes Documentation

x_range = [0.3, 100.0]

Methods Documentation

evaluate(in_x, Rv)[source]

F19_D03_extension 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