Lightcurve#

class uvex_transients.models.core.base.Lightcurve(**overrides: Parameter | Quantity | float | int)[source]#

Abstract base class for time-dependent bolometric luminosity models.

A Lightcurve describes how a source’s bolometric (frequency-integrated) luminosity, \(L_\mathrm{bol}(t)\), evolves with time since explosion \(t\). It shares SpectralModel’s parameter storage, evaluation-family conventions, and sampling machinery, but carries none of SpectralModel’s \(\nu\)-dependent or observed-frame machinery (spectral shape, flux, band flux, magnitudes).

To define a new model, subclass Lightcurve and implement _eval(), the natural log of \(L_\mathrm{bol}(t)\) in cgs units. Every other quantity (the *_log_cgs/*_log/*_cgs/plain family described in the module docstring) is derived automatically.

Pairing a Lightcurve with a Spectrum via ComposedSpectralModel turns it into a full \(L_\nu(\nu, t)\) SpectralModel.

See also

Spectrum

The frequency-only counterpart this mirrors.

ComposedSpectralModel

Combines a Lightcurve and a Spectrum into a full SED.

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