simlightcurve.curves

simlightcurve.curves.minishell

class simlightcurve.curves.minishell.Minishell(k1, k2, k3, beta, delta1, delta2, t0, **kwargs)

Supernova radio-lightcurve model (Type-II).

CF K. Weiler et al, 2002: http://www.annualreviews.org/doi/abs/10.1146/annurev.astro.40.060401.093744

and VAST memo #3, Ryder 2010: http://www.physics.usyd.edu.au/sifa/vast/uploads/Main/vast_memo3.pdf

See Weiler et al for some typical parameter values.

static evaluate(t, k1, k2, k3, beta, delta1, delta2, t0)

Wraps _curve function to only process values at t > 0

simlightcurve.curves.modsigmoidexp

class simlightcurve.curves.modsigmoidexp.ModSigmoidExp(a, b, t1_minus_t0, rise_tau, decay_tau, t0, **kwargs)

Sigmoidal rise / exponential decay modulated by a quadratic polynomial.

Typically applied as a supernova optical-lightcurve model, applicable to all SNe types.

Following Karpenka et al 2012; Eq 1. ( http://adsabs.harvard.edu/abs/2013MNRAS.429.1278K )

simlightcurve.curves.misc

class simlightcurve.curves.misc.NegativeQuadratic(amplitude, t0, **kwargs)

Very simple example, used for testing purposes.

simlightcurve.curves.powerlaw

class simlightcurve.curves.powerlaw.Powerlaw(init_amp, alpha_one, t_offset_min, t0, **kwargs)

Represents a simple power-law curve

The curve is defined as

amplitude * (t_offset)**alpha

Be wary of using an init_alpha<0, since this results in an asymptote at t=0.

NB The curve will always begin at the origin, because maths. (Cannot raise a negative number to a fractional power unless you deal with complex numbers. Also 0.**Y == 0. )

class simlightcurve.curves.powerlaw.SingleBreakPowerlaw(init_amp, alpha_one, break_one_t_offset, alpha_two, t_offset_min, t0, **kwargs)

Represents an power-law curve with a single index-break

The curve is defined as

init_amplitude * (t_offset)**alpha_one
until the location of the first index-break, then
matched_amplitude * (t_offset)**alpha_two

where matched_amplitude is calculated to ensure the curves meet at the power-break location.

We wary of using an init_alpha<0, since this results in an asymptote at t=0.

NB The curve will always begin at the origin, because maths. (Cannot raise a negative number to a fractional power unless you deal with complex numbers. Also 0.**Y == 0. )

simlightcurve.curves.composite

class simlightcurve.curves.composite.gaussexp.GaussExp(amplitude, rise_tau, decay_tau, t0, **kwargs)
amplitude
decay_tau
static evaluate(t, amplitude, rise_tau, decay_tau, t0)
inputs = ('t',)
outputs = ('flux',)
param_names = ('amplitude', 'rise_tau', 'decay_tau', 't0')
rise_tau
t0
class simlightcurve.curves.composite.gausspowerlaw.GaussPowerlaw(amplitude, rise_tau, decay_alpha, decay_offset, t0, **kwargs)
amplitude
decay_alpha
decay_offset
static evaluate(t, amplitude, rise_tau, decay_alpha, decay_offset, t0)
inputs = ('t',)
outputs = ('flux',)
param_names = ('amplitude', 'rise_tau', 'decay_alpha', 'decay_offset', 't0')
rise_tau
t0
class simlightcurve.curves.composite.linearexp.LinearExp(amplitude, rise_time, decay_tau, t0, **kwargs)
amplitude
decay_tau
static evaluate(t, amplitude, rise_time, decay_tau, t0)
inputs = ('t',)
outputs = ('flux',)
param_names = ('amplitude', 'rise_time', 'decay_tau', 't0')
rise_time
t0