BazinLightcurve#

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

A smooth asymmetric transient following the Bazin functional form.

\[L(t) = A\, \frac{ \exp[-(t-t_0)/\tau_\mathrm{fall}] }{ 1 + \exp[-(t-t_0)/\tau_\mathrm{rise}] }.\]

The model combines a logistic-like rise with an exponential decline and is commonly useful as a generic phenomenological approximation to supernova-like transients.

A finite maximum exists when

\[\tau_\mathrm{fall} > \tau_\mathrm{rise}.\]

Unlike most of the other pulse models in this module, amplitude is the normalization of the Bazin function and is not, in general, exactly the peak luminosity.

Parameters

The light curve parameters are summarized below.

Parameter

Symbol

Description

amplitude

\(A\)

Luminosity normalization.

t0

\(t_0\)

Characteristic transition time.

rise

\(\tau_\mathrm{rise}\)

Logistic rise timescale.

fall

\(\tau_\mathrm{fall}\)

Exponential decline timescale.

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