GaussianRisePowerLawLightcurve#

class uvex_transients.models.lightcurves.generic.GaussianRisePowerLawLightcurve(**overrides: Parameter | Quantity | float | int)[source]#

A Gaussian rise followed by a 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_\mathrm{decline}} & t > t_\mathrm{peak} \end{cases}\end{split}\]

The two branches agree exactly at \(t = t_\mathrm{peak}\), where \(L(t_\mathrm{peak}) = A\) – the power-law branch is referenced to \(t_\mathrm{peak}\) rather than \(t = 0\) for exactly this reason. Unlike GREDLightcurve’s exponential cutoff, the power-law tail here (\(L \propto t^{-\alpha_\mathrm{decline}}\) for \(t \gg t_\mathrm{peak}\)) fades slowly at late times – the qualitative late-time behavior of transients with an extended power source (e.g. luminous fast blue optical transients) rather than a sharply cut-off pulse.

sigma_rise is 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

\(\alpha_\mathrm{decline}\)

Positive post-peak power-law decline index.

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