TypeIIbSED#

class uvex_transients.models.supernovae.IIb.TypeIIbSED(**overrides: Parameter | Quantity | float | int)[source]#

Phenomenological Type IIb supernova SED.

Two superposed Bazin pulses times a cooling blackbody photosphere. Unlike MoragShockCoolingSED/MoragShockCoolingBlackbodySED, which model only the early shock-cooling phase from first principles, this is a purely empirical light-curve shape intended to span a full Type IIb light curve. It fits real double- and single-peaked Type IIb events better than a single modulated pulse:

\[L_\mathrm{bol}(t) = A_0\, \frac{\exp[-(t-t_0)/\tau_{\mathrm{fall},0}]}{1 + \exp[-(t-t_0)/\tau_{\mathrm{rise},0}]} + A_1\, \frac{\exp[-(t-t_1)/\tau_{\mathrm{fall},1}]}{1 + \exp[-(t-t_1)/\tau_{\mathrm{rise},1}]},\]

delegated directly to TwoComponentBazinLightcurve – see that class’s docstring for why an additive superposition of two independent pulses covers both single- and double-peaked light curves. The first component (centered on \(t_0\)) stands in for the early shock-cooling peak, the second (centered on \(t_1\)) for the radioactively powered main/nickel peak. The photospheric temperature follows the same single-power-law cooling law used elsewhere in this package (cooling_temperature_cgs()):

\[T(t) = T_\mathrm{floor} + (T_0 - T_\mathrm{floor})\left(1 + \frac{t}{\tau_T}\right)^{-\alpha_T}.\]

Parameters

Parameter

Symbol

Description

amplitude_0

\(A_0\)

Luminosity normalization of the early, shock-cooling peak.

t0

\(t_0\)

Characteristic transition time of the early peak.

rise_0

\(\tau_{\mathrm{rise},0}\)

Logistic rise timescale of the early peak.

fall_0

\(\tau_{\mathrm{fall},0}\)

Exponential decline timescale of the early peak.

amplitude_1

\(A_1\)

Luminosity normalization of the main, radioactively powered peak.

t1

\(t_1\)

Characteristic transition time of the main peak.

rise_1

\(\tau_{\mathrm{rise},1}\)

Logistic rise timescale of the main peak.

fall_1

\(\tau_{\mathrm{fall},1}\)

Exponential decline timescale of the main peak.

T0

\(T_0\)

Photospheric temperature at t=0 (the T(t) -> T0 limit, not literally T at peak).

T_floor

\(T_\mathrm{floor}\)

Asymptotic late-time photospheric temperature (T(t) -> T_floor as t -> infinity).

tau_T

\(\tau_T\)

Photospheric cooling timescale.

alpha_T

\(\alpha_T\)

Photospheric cooling power-law index.

Notes

amplitude_0 – the early peak’s normalization – is uniform in \(\log_{10}(A_0/\mathrm{erg\,s^{-1}})\) between 39 and 43, spanning several decades from far fainter than the main peak up to brighter than it. This single prior covers both populations at once: draws where the early peak ends up negligible are effectively single-peaked Type IIb light curves, and draws where it is comparable to or exceeds the main peak are double-peaked – roughly a third of draws from the default priors below are double-peaked. t0 and T_floor are held fixed; every other parameter is drawn from a broad Uniform (or, for amplitude_1/T0, Normal-in-log) prior over an order-of-magnitude-motivated range, not yet a fit to any specific real Type IIb event (compare TypeIIPSED, whose light-curve priors do come from fitting real SNe).

Methods

as_astropy_model([x_type, y_type, y_kind, ...])

Build an Model of this SpectralModel for a given parameter set.

as_source_spectrum(t, *[, redshift, ...])

Build a SourceSpectrum giving the observed flux at one fixed time \(t\).

eval(nu, t, **parameters)

Evaluate the spectral luminosity at the given frequency and time.

eval_bolometric(t, **parameters)

Evaluate the bolometric luminosity at the given time.

eval_bolometric_cgs(t, **parameters)

Bolometric luminosity, taking and returning plain cgs numbers.

eval_bolometric_log(t, **parameters)

Natural log of the bolometric luminosity, given physical-unit inputs.

eval_bolometric_log_cgs(t, **parameters)

Natural log of the bolometric luminosity, taking and returning plain cgs numbers.

eval_cgs(nu, t, **parameters)

Spectral luminosity, taking and returning plain cgs numbers.

eval_from_arrays(nu, t, *parameters)

Positional-argument form of eval().

eval_log(nu, t, **parameters)

Natural log of the spectral luminosity, given physical-unit inputs.

eval_log_cgs(nu, t, **parameters)

Natural log of the spectral luminosity, taking and returning plain cgs numbers.

eval_spectrum(nu, t, **parameters)

Evaluate the normalized spectral shape at the given frequency and time.

eval_spectrum_cgs(nu, t, **parameters)

Return the normalized spectral shape as plain cgs numbers; see eval_log_cgs().

eval_spectrum_log(nu, t, **parameters)

Natural log of the normalized spectral shape, given physical-unit inputs.

eval_spectrum_log_cgs(nu, t, **parameters)

Natural log of the normalized spectral shape, taking and returning plain cgs numbers.

flux(nu, t, *[, redshift, ...])

Evaluate the observed flux density at the given frequency and time.

flux_band(nu, throughput, t, *[, redshift, ...])

Evaluate the throughput-weighted mean observed flux density over a band.

flux_band_cgs(nu, throughput, t, redshift, ...)

Band-averaged observed flux density as plain cgs numbers; see flux_band_log_cgs().

flux_band_log(nu, throughput, t, *[, ...])

Natural log of the band-averaged observed flux density, given physical-unit inputs.

flux_band_log_cgs(nu, throughput, t, ...[, ...])

Natural log of the throughput-weighted mean flux density over a band, plain cgs numbers.

flux_bolometric(t, *[, redshift, ...])

Evaluate the observed bolometric flux at the given time.

flux_bolometric_cgs(t, redshift, ...)

Observed bolometric flux, taking and returning plain cgs numbers.

flux_bolometric_log(t, *[, redshift, ...])

Natural log of the observed bolometric flux, given physical-unit inputs.

flux_bolometric_log_cgs(t, redshift, ...)

Natural log of the observed bolometric flux, taking and returning plain cgs numbers.

flux_cgs(nu, t, redshift, luminosity_distance, *)

Observed flux density, taking and returning plain cgs numbers.

flux_log(nu, t, *[, redshift, ...])

Natural log of the observed flux density, given physical-unit inputs.

flux_log_cgs(nu, t, redshift, ...[, ...])

Natural log of the observed flux density, taking and returning plain cgs numbers.

get(k[,d])

items()

keys()

mag(nu, t, *[, redshift, ...])

Evaluate the apparent AB magnitude at the given frequency and time.

mag_band(nu, throughput, t, *[, redshift, ...])

Evaluate the apparent AB magnitude of the band-averaged flux density.

mag_band_cgs(nu, throughput, t, redshift, ...)

Apparent AB magnitude of the band-averaged flux density.

mag_bandpass(bandpass, t, *[, redshift, ...])

Evaluate the apparent AB magnitude of the flux averaged over bandpass.

mag_cgs(nu, t, redshift, luminosity_distance, *)

Apparent AB magnitude: \(m_\mathrm{AB} = -2.5 \log_{10}(F_\nu / F_{\mathrm{AB},0})\).

pack_params_to_arrays(**parameters)

Convert a dict of parameter values into an ordered sequence.

sample_parameters([size, rng, parameters])

Draw random samples of some or all of this model's parameters.

simulate(nu, t[, size, rng])

Draw random parameter realizations and evaluate the model at the given frequency and time.

simulate_photometry(t, exptime, detector, ...)

Simulate noisy synthetic photometry of this model at given time(s), against a real detector.

temperature(t, **parameters)

\(T(t)\) in Kelvin.

unpack_params_from_arrays(*parameters)

Convert an ordered sequence of parameter values back into a dict.

values()