Spectral
PeakFluxModel
class PeakFluxModel(E, n0, eps_b, dL, z, k, X)
The peak flux model. Assumes an ultra-relativistic shock moving adiabatically through an external medium with ρ=ρ0⋅R−k.
Parameters
E: float or astropy.units.Quantity['energy']The explosion energy [1e52 ergs]. If a float or dimensionless quantity is provided, assumes that the value is already normalized to 1e52 erg. If passing a
Quantity, it will be normalized before being stored as a float.
n0: float or astropy.units.Quantity['number density', 'mass density']The number density normalization [cm-3] at a characteristic radius.
eps_b: floatThe fraction of thermal energy in the magnetic field. Must be in the range [0, 1].
dL: float or astropy.units.Quantity['length']The luminosity distance to the event [1e28 cm]. If a float or dimensionless quantity is provided, assumes that
dLis already normalized to 1e28 cm. If passing aQuantity, it will be normalized before being stored as a float.
z: floatThe redshift of the event.
k: floatThe density power-law index.
X: floatThe hydrogen mass fraction. Must be in the range [0, 1]. 0 indicates hydrogen depleted. 1 indicates hydrogen rich. If there is no information on
X, then0.7is a typical value.
Methods
PeakFluxModel.evaluate(t, ref=17)
Calculates the peak flux at the times t.
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe peak flux [mJy] at time
t.
PeakFluxModel.__call__(t, ref=17)
Makes the class instance callable. This behaves the same as evaluate(t, ref).
Examples
CoolingFrequencyModel
class CoolingFrequencyModel(E, n0, eps_b, k, z)
The cooling frequency model. Assumes an ultra-relativistic shock moving adiabatically through an external medium with ρ=ρ0⋅R−k.
Parameters
E: float or astropy.units.Quantity['energy']The explosion energy [1e52 ergs]. If a float or dimensionless quantity is provided, assumes that the value is already normalized to 1e52 erg. If passing a
Quantity, it will be normalized before being stored as a float.
n0: float or astropy.units.Quantity['number density', 'mass density']The number density normalization [cm-3] at a characteristic radius.
eps_b: floatThe fraction of thermal energy in the magnetic field. Must be in the range [0, 1].
k: floatThe density power-law index.
z: floatThe redshift of the event.
Methods
CoolingFrequencyModel.evaluate(t, ref=17)
Calculates the cooling frequencies at the times t.
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe cooling frequencies [Hz] at time(s)
t.
CoolingFrequencyModel.__call__(t, ref=17)
Makes the class instance callable. This behaves the same as evaluate(t, ref).
SynchrotronFrequencyModel
class SynchrotronFrequencyModel(E, eps_e, eps_b, k, z, X, p)
The synchrotron frequency model. Assumes an ultra-relativistic shock moving adiabatically through an external medium with ρ=ρ0⋅R−k.
Parameters
E: float or astropy.units.Quantity['energy']The explosion energy [1e52 ergs]. If a float or dimensionless quantity is provided, assumes that the value is already normalized to 1e52 erg. If passing a
Quantity, it will be normalized before being stored as a float.
n0: float or astropy.units.Quantity['number density', 'mass density']The number density normalization [cm-3] at a characteristic radius.
eps_e: floatThe fraction of thermal energy in the electric field. Must be in the range [0, 1].
eps_b: floatThe fraction of thermal energy in the magnetic field. Must be in the range [0, 1].
k: floatThe density power-law index.
z: floatThe redshift of the event.
X: floatThe hydrogen mass fraction. Must be in the range [0, 1]. 0 indicates hydrogen depleted. 1 indicates hydrogen rich.
p: floatThe electron energy power-law index.
Methods
SynchrotronFrequencyModel.evaluate(t, ref=17)
Calculates the synchrotron frequencies at the time(s) t.
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe synchrotron frequencies [Hz] at the time(s)
t.
SynchrotronFrequencyModel.__call__(t, ref=17)
Makes the class instance callable. This behaves the same as evaluate(t, ref).
AbsorptionFrequencyModel
class AbsorptionFrequencyModel(E, n0, eps_e, eps_b, k, z, X, p)
The absorption frequency model. Assumes an ultra-relativistic shock moving adiabatically through an external medium with ρ=ρ0⋅R−k.
Parameters
E: float or astropy.units.Quantity['energy']The explosion energy [1e52 ergs]. If a float or dimensionless quantity is provided, assumes that the value is already normalized to 1e52 erg. If passing a
Quantity, it will be normalized before being stored as a float.
n0: float or astropy.units.Quantity['number density', 'mass density']The number density normalization [cm-3] at a characteristic radius.
eps_e: floatThe fraction of thermal energy in the electric field. Must be in the range [0, 1].
eps_b: floatThe fraction of thermal energy in the magnetic field. Must be in the range [0, 1].
k: floatThe density power-law index.
z: floatThe redshift of the event.
X: floatThe hydrogen mass fraction. Must be in the range [0, 1]. 0 indicates hydrogen depleted. 1 indicates hydrogen rich.
p: floatThe electron energy power-law index.
Methods
AbsorptionFrequencyModel.evaluate(t, order, ref=17)
Calculates the absorption frequencies at the time(s) t.
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
order: str, {'amc', 'mac', 'cam', 'acm'}The order of the spectral breaks.
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe self-absorption frequencies [Hz] at time(s)
t.
AbsorptionFrequencyModel.evaluate_amc(t, ref=17)
Calculates the self-absorption frequencies at the time(s) t in the weak self-absorption regime (c < a < m).
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe self-absorption frequencies [Hz] at time(s)
t.
AbsorptionFrequencyModel.evaluate_mac(t, ref=17)
Calculates the self-absorption frequencies at the time(s) t in the weak self-absorption regime (m < a < c).
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe self-absorption frequencies [Hz] at time(s)
t.
AbsorptionFrequencyModel.evaluate_cam(t, ref=17)
Calculates the self-absorption frequencies at the time(s) t in the strong self-absorption regime (c < a < m).
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe self-absorption frequencies [Hz] at time(s)
t.
AbsorptionFrequencyModel.evaluate_mac(t, ref=17)
Calculates the self-absorption frequencies at the time(s) t in the weak self-absorption regime (m < a < c).
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe self-absorption frequencies [Hz] at time(s)
t.
AbsorptionFrequencyModel.evaluate_acm(t, ref=17)
Calculates the self-absorption frequencies at the time(s) t in the weak self-absorption regime (a < c < m).
See ?? for the theory and derivation.
Parameters
t: float or np.ndarray of floatThe observer times [d].
ref: float, default = 17The log of the characteristic radius [cm].
Returns
float or np.ndarray of floatThe self-absorption frequencies [Hz] at time(s)
t.
Last updated