FREDLightcurve#

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

A fast-rise, exponential-decay pulse (the Norris et al. 1996 GRB pulse shape).

\[L(t) = A \exp\left(2\sqrt{\tau_1/\tau_2} - \frac{\tau_1}{t} - \frac{t}{\tau_2}\right), \quad t > 0\]

with \(L(0) = 0\). Despite the apparent singularity at \(\tau_1/t\), this is well-behaved: as \(t \to 0^+\), the \(-\tau_1/t\) term dominates and drives \(L \to 0\). The pulse peaks exactly at \(t_\mathrm{peak} = \sqrt{\tau_1 \tau_2}\), where \(L(t_\mathrm{peak}) = A\); \(\tau_1 \ll \tau_2\) gives the characteristic fast rise / slow, exponential-looking decay.

Parameters

The light curve parameters are summarized below.

Parameter

Symbol

Description

amplitude

\(A\)

Peak bolometric luminosity.

rise

\(\tau_1\)

Rise timescale tau_1.

decay

\(\tau_2\)

Decay timescale tau_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()