SmoothBrokenPowerLawLightcurve#
- class uvex_transients.models.lightcurves.generic.SmoothBrokenPowerLawLightcurve(**overrides: Parameter | Quantity | float | int)[source]#
A smoothly broken power-law transient.
The asymptotic behavior is
\[\begin{split}L(t) \propto \begin{cases} t^{\alpha_\mathrm{rise}}, & t \ll t_\mathrm{peak}, \\ t^{-\alpha_\mathrm{decline}}, & t \gg t_\mathrm{peak}, \end{cases}\end{split}\]with a smooth transition between the two branches. The implementation uses
\[f(x) = \left[ x^{-s\alpha_\mathrm{rise}} + x^{s\alpha_\mathrm{decline}} \right]^{-1/s},\]but rescales the argument and normalization so that the maximum occurs exactly at
t_peakand\[L(t_\mathrm{peak}) = A.\]The positive
smoothnessparameter \(s\) controls the sharpness of the transition: larger values approach a sharply broken power law.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.
rise_index\(\alpha_\mathrm{rise}\)
Positive asymptotic rise index.
decline_index\(\alpha_\mathrm{decline}\)
Positive asymptotic decline index.
smoothness\(s\)
Sharpness of the transition between power-law branches.
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()