GaussianRiseBrokenPowerLawLightcurve#
- class uvex_transients.models.lightcurves.generic.GaussianRiseBrokenPowerLawLightcurve(**overrides: Parameter | Quantity | float | int)[source]#
A Gaussian rise followed by a broken power-law decline, peaked at
t_peak.\[\begin{split}L(t) = A \times \begin{cases} \exp\left(-\dfrac{(t - t_\mathrm{peak})^2}{2\sigma_\mathrm{rise}^2}\right) & t \le t_\mathrm{peak} \\[4pt] \left(\dfrac{t}{t_\mathrm{peak}}\right)^{-\alpha_1} & t_\mathrm{peak} < t \le t_\mathrm{break} \\[4pt] \left(\dfrac{t_\mathrm{break}}{t_\mathrm{peak}}\right)^{-\alpha_1} \left(\dfrac{t}{t_\mathrm{break}}\right)^{-\alpha_2} & t > t_\mathrm{break} \end{cases}\end{split}\]Extends GaussianRisePowerLawLightcurve with a second, steeper power-law segment past a break time
t_break. Every branch agrees exactly at its boundary, by construction: \(L(t_\mathrm{peak}) = A\), and the two decline branches meet at \(t_\mathrm{break}\) without a jump. Useful for transients whose late-time decline steepens relative to the early-time behavior – e.g. a kilonova’s blue/early ejecta component fading faster once it becomes optically thin.t_breakis assumed to exceedt_peak, although this ordering is not enforced by the model itself.sigma_riseis not itself a free parameter – it is fixed at \(\sigma_\mathrm{rise} = t_\mathrm{peak}/5\), one fifth of the time to peak, the same ratio GREDLightcurve fixes between the two quantities.Parameters
The light curve parameters are summarized below.
Parameter
Symbol
Description
amplitude\(A\)
Peak bolometric luminosity.
t_peak\(t_\mathrm{peak}\)
Time of peak luminosity since explosion.
decline_index_1\(\alpha_1\)
Positive power-law decline index between
t_peakandt_break.decline_index_2\(\alpha_2\)
Positive power-law decline index past
t_break.t_break\(t_\mathrm{break}\)
Time at which the decline steepens from \(\alpha_1\) to \(\alpha_2\).
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()