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.VillarCoolingBlackbodySED

Pairs 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()