MoragShockCoolingSED#
- class uvex_transients.models.supernovae.IIb.MoragShockCoolingSED(**overrides: Parameter | Quantity | float | int)[source]#
Full UV-suppressed shock-cooling SED (Eq. A7).
Based on Morag+24[1].
The frequency-dependent SED: line suppression above \(3.5\,T_\mathrm{col}\), plus a free-free correction below it. See
MoragShockCoolingBlackbodySEDfor the simpler pure-blackbody form (Eq. A8) instead.Notes
Unlike
MoragShockCoolingBlackbodySED, this SED has no closed-form bolometric luminosity: Eq. A7’s UV-suppression/free-free reshaping of the underlying blackbody is not constructed to conserve the Eq. A1 diffusion-envelope \(L_\mathrm{bol}(t)\) upon frequency integration (by as much as ~15-20%, depending on epoch), so_eval_bolometric()genuinely needs the frequency integral of_eval()itself, not Eq. A1. A generic adaptivescipy.integrate.quad_vec()over \((0, \infty)\) converges too slowly through Eq. A7’s line-suppression kink to be practical, so this is overridden with a fixed, log-spaced grid in \(h\nu\) (0.1-104 eV, comfortably spanning the Wien tail on both sides of any physically reasonable \(T_\mathrm{col}\)) and a trapezoidal quadrature in \(\ln\nu\) – accurate to <0.2% against an adaptive reference across the whole validity window, and orders of magnitude faster.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.
temperature(t, **parameters)\(T_\mathrm{col}(t)\) in Kelvin -- the color temperature shared by both subclasses.
unpack_params_from_arrays(*parameters)Convert an ordered sequence of parameter values back into a dict.
values()