VillarLightcurve#
- class uvex_transients.models.lightcurves.generic.VillarLightcurve(**overrides: Parameter | Quantity | float | int)[source]#
A parametric supernova-like light curve.
\[\begin{split}L(t) = A \times \begin{cases} \dfrac{1 + \beta(t - t_0)}{1 + \exp[-(t-t_0)/\tau_\mathrm{rise}]}, & t < t_1, \\[8pt] \dfrac{(1 + \beta\gamma)\, \exp[-(t-t_1)/\tau_\mathrm{fall}]}{1 + \exp[-(t-t_0)/\tau_\mathrm{rise}]}, & t \ge t_1, \end{cases}\end{split}\]with \(t_1 = t_0 + \gamma\). A logistic rise (timescale \(\tau_\mathrm{rise}\)) turns on around \(t_0\); the light curve then declines linearly with slope \(\beta\) (a plateau, for small \(|\beta|\)) until \(t_1\), after which it switches to an exponential decline with timescale \(\tau_\mathrm{fall}\). The two branches agree exactly at \(t_1\), by construction.
This is the parametric form used by Villar et al.[1] to fit multi-band supernova photometry, adapted here to a bolometric luminosity rather than a per-band flux.
Parameters
The light curve parameters are summarized below.
Parameter
Symbol
Description
amplitude\(A\)
Overall luminosity normalization.
t0\(t_0\)
Reference time at which the logistic rise is centered.
gamma\(\gamma\)
Duration of the plateau, measured from t0.
beta\(\beta\)
Linear slope of the plateau.
tau_rise\(\tau_\mathrm{rise}\)
Logistic rise timescale.
tau_fall\(\tau_\mathrm{fall}\)
Exponential decline timescale, after the plateau.
See also
uvex_transients.models.supernovae.VillarCoolingBlackbodySEDPairs this bolometric light curve with a cooling-blackbody spectrum.
References
Methods
eval(t, **parameters)Evaluate the bolometric luminosity at the given time.
eval_cgs(t, **parameters)Bolometric luminosity, taking and returning plain cgs numbers.
eval_from_arrays(t, *parameters)Positional-argument form of
eval().eval_log(t, **parameters)Natural log of the bolometric luminosity, given physical-unit inputs.
eval_log_cgs(t, **parameters)Natural log of the bolometric luminosity, taking and returning plain cgs numbers.
get(k[,d])items()keys()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(t[, size, rng])Draw random parameter realizations and evaluate the model at the given time.
unpack_params_from_arrays(*parameters)Convert an ordered sequence of parameter values back into a dict.
values()