PowerLawLightcurve#

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

A power-law decline beginning at a reference time.

\[\begin{split}L(t) = \begin{cases} 0, & t < t_\mathrm{ref}, \\[4pt] A \left(\dfrac{t}{t_\mathrm{ref}}\right)^{-\alpha}, & t \ge t_\mathrm{ref}. \end{cases}\end{split}\]

The luminosity is therefore exactly \(A\) at t_ref. This form is useful for generic afterglows and other transients whose post-onset emission is approximately scale free.

Restricting the model to t >= t_ref avoids the formal divergence of a declining power law as \(t \rightarrow 0\).

Parameters

The light curve parameters are summarized below.

Parameter

Symbol

Description

amplitude

\(A\)

Luminosity at the reference time.

t_ref

\(t_\mathrm{ref}\)

Reference time at which the power law begins.

index

\(\alpha\)

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