VillarCoolingBlackbodySED#
- class uvex_transients.models.supernovae.villar.VillarCoolingBlackbodySED(**overrides: Parameter | Quantity | float | int)[source]#
Supernova light curve with an evolving blackbody photosphere.
This model combines the phenomenological bolometric light curve of
VillarLightcurve(the parametric form introduced by [1]) with a time-dependent blackbody spectral shape,\[L_\nu(\nu, t) = L_\mathrm{bol}(t)\, S_\mathrm{BB}\!\left[\nu, T(t)\right],\]where \(S_\mathrm{BB}\) is the normalized blackbody spectrum provided by
BlackbodySpectrum.The photospheric temperature evolves according to
\[T(t) = T_\mathrm{floor} + \left(T_0-T_\mathrm{floor}\right) \left(1+\frac{t}{\tau_T}\right)^{-\alpha_T}.\]Thus, the temperature begins at \(T_0\) at \(t=0\) and approaches \(T_\mathrm{floor}\) asymptotically at late times. The parameters \(\tau_T\) and \(\alpha_T\) control the characteristic cooling timescale and the rate of the decline, respectively.
Because the blackbody shape is normalized independently of luminosity, the bolometric and spectral components remain exactly separable:
\[\int L_\nu(\nu,t)\,d\nu = L_\mathrm{bol}(t).\]Consequently,
_eval_bolometric()delegates directly toVillarLightcurve, while_eval_spectrum()evaluatesBlackbodySpectrumat the time-dependent temperature \(T(t)\). No numerical frequency integration is required to recover the bolometric luminosity.The model is intended as a generic phenomenological description of supernova-like transients whose continuum can be approximated by a cooling photosphere. It does not attempt to model photospheric-radius evolution, line blanketing, recombination physics, nebular emission, or detailed radiative transfer.
Parameters
The model parameters are summarized below.
Parameter
Symbol
Description
amplitude\(A\)
Overall luminosity normalization.
t0\(t_0\)
Reference time at which the logistic rise is centered.
gamma\(\gamma\)
Duration of the plateau, measured from t0.
beta\(\beta\)
Linear slope of the plateau.
tau_rise\(\tau_\mathrm{rise}\)
Logistic rise timescale.
tau_fall\(\tau_\mathrm{fall}\)
Exponential decline timescale, after the plateau.
T0\(T_0\)
Photospheric temperature at t=0 (the T(t) -> T0 limit, not literally T at peak).
T_floor\(T_\mathrm{floor}\)
Asymptotic late-time photospheric temperature (T(t) -> T_floor as t -> infinity).
tau_T\(\tau_T\)
Photospheric cooling timescale.
alpha_T\(\alpha_T\)
Photospheric cooling power-law index.
Notes
The default parameter distributions are broad, phenomenological starting points rather than subtype-specific empirical priors.
Subclasses may define only the entries of
_DEFAULT_PARAMETERSthey wish to modify. Their parameter definitions are merged with the complete parameter set ofVillarCoolingBlackbodySEDduring subclass creation. This makes it straightforward to define supernova-subtype variants by changing only the parameters whose distributions differ between populations.The temperature law assumes \(T_0 > T_\mathrm{floor}\) for a cooling photosphere, although this ordering is not enforced by the model itself.
References
Methods
as_astropy_model([x_type, y_type, y_kind, ...])Build an
Modelof thisSpectralModelfor a given parameter set.as_source_spectrum(t, *[, redshift, ...])Build a
SourceSpectrumgiving the observed flux at one fixed time \(t\).eval(nu, t, **parameters)Evaluate the spectral luminosity at the given frequency and time.
eval_bolometric(t, **parameters)Evaluate the bolometric luminosity at the given time.
eval_bolometric_cgs(t, **parameters)Bolometric luminosity, taking and returning plain cgs numbers.
eval_bolometric_log(t, **parameters)Natural log of the bolometric luminosity, given physical-unit inputs.
eval_bolometric_log_cgs(t, **parameters)Natural log of the bolometric luminosity, taking and returning plain cgs numbers.
eval_cgs(nu, t, **parameters)Spectral luminosity, taking and returning plain cgs numbers.
eval_from_arrays(nu, t, *parameters)Positional-argument form of
eval().eval_log(nu, t, **parameters)Natural log of the spectral luminosity, given physical-unit inputs.
eval_log_cgs(nu, t, **parameters)Natural log of the spectral luminosity, taking and returning plain cgs numbers.
eval_spectrum(nu, t, **parameters)Evaluate the normalized spectral shape at the given frequency and time.
eval_spectrum_cgs(nu, t, **parameters)Return the normalized spectral shape as plain cgs numbers; see
eval_log_cgs().eval_spectrum_log(nu, t, **parameters)Natural log of the normalized spectral shape, given physical-unit inputs.
eval_spectrum_log_cgs(nu, t, **parameters)Natural log of the normalized spectral shape, taking and returning plain cgs numbers.
flux(nu, t, *[, redshift, ...])Evaluate the observed flux density at the given frequency and time.
flux_band(nu, throughput, t, *[, redshift, ...])Evaluate the throughput-weighted mean observed flux density over a band.
flux_band_cgs(nu, throughput, t, redshift, ...)Band-averaged observed flux density as plain cgs numbers; see
flux_band_log_cgs().flux_band_log(nu, throughput, t, *[, ...])Natural log of the band-averaged observed flux density, given physical-unit inputs.
flux_band_log_cgs(nu, throughput, t, ...[, ...])Natural log of the throughput-weighted mean flux density over a band, plain cgs numbers.
flux_bolometric(t, *[, redshift, ...])Evaluate the observed bolometric flux at the given time.
flux_bolometric_cgs(t, redshift, ...)Observed bolometric flux, taking and returning plain cgs numbers.
flux_bolometric_log(t, *[, redshift, ...])Natural log of the observed bolometric flux, given physical-unit inputs.
flux_bolometric_log_cgs(t, redshift, ...)Natural log of the observed bolometric flux, taking and returning plain cgs numbers.
flux_cgs(nu, t, redshift, luminosity_distance, *)Observed flux density, taking and returning plain cgs numbers.
flux_log(nu, t, *[, redshift, ...])Natural log of the observed flux density, given physical-unit inputs.
flux_log_cgs(nu, t, redshift, ...[, ...])Natural log of the observed flux density, taking and returning plain cgs numbers.
get(k[,d])items()keys()mag(nu, t, *[, redshift, ...])Evaluate the apparent AB magnitude at the given frequency and time.
mag_band(nu, throughput, t, *[, redshift, ...])Evaluate the apparent AB magnitude of the band-averaged flux density.
mag_band_cgs(nu, throughput, t, redshift, ...)Apparent AB magnitude of the band-averaged flux density.
mag_bandpass(bandpass, t, *[, redshift, ...])Evaluate the apparent AB magnitude of the flux averaged over bandpass.
mag_cgs(nu, t, redshift, luminosity_distance, *)Apparent AB magnitude: \(m_\mathrm{AB} = -2.5 \log_{10}(F_\nu / F_{\mathrm{AB},0})\).
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(nu, t[, size, rng])Draw random parameter realizations and evaluate the model at the given frequency and time.
simulate_photometry(t, exptime, detector, ...)Simulate noisy synthetic photometry of this model at given time(s), against a real detector.
unpack_params_from_arrays(*parameters)Convert an ordered sequence of parameter values back into a dict.
values()