LogNormalPulseLightcurve#

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

A log-normal pulse in time.

\[L(t) = A \exp\left[ -\frac{1}{2} \left( \frac{\ln(t/t_\mathrm{peak})}{\sigma} \right)^2 \right], \qquad t > 0.\]

The pulse peaks exactly at t_peak with

\[L(t_\mathrm{peak}) = A.\]

Unlike a Gaussian pulse in linear time, a log-normal pulse is intrinsically asymmetric and has support only at positive times. The dimensionless width sigma controls the width in logarithmic time.

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.

sigma

\(\sigma\)

Width of the pulse in logarithmic time.

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