Supernova Models: snewpy.models

Base Class for Supernova Models

class snewpy.models.base.SupernovaModel(time, metadata)[source]

Base class defining an interface to a supernova model.

Initialize supernova model base class (call this method in the subclass constructor as super().__init__(time,metadata)).

Parameters:
  • time (ndarray of astropy.Quantity) – Time points where the model flux is defined. Must be array of Quantity, with units convertable to “second”.

  • metadata (dict) – Dict of model parameters <name>:<value>, to be used for printing table in __repr__() and _repr_markdown_()

abstract get_initial_spectra(t, E, flavors=<enum 'Flavor'>)[source]

Get neutrino spectra at the source.

Parameters:
  • t (astropy.Quantity) – Time to evaluate initial spectra.

  • E (astropy.Quantity or ndarray of astropy.Quantity) – Energies to evaluate the initial spectra.

  • flavors (iterable of snewpy.neutrino.Flavor) – Return spectra for these flavors only (default: all)

Returns:

initialspectra (dict) – Dictionary of neutrino spectra, keyed by neutrino flavor.

get_time()[source]
Returns:

ndarray of astropy.Quantity – Snapshot times from the simulation

get_transformed_spectra(t, E, flavor_xform)[source]

Get neutrino spectra after applying oscillation.

Parameters:
  • t (astropy.Quantity) – Time to evaluate initial and oscillated spectra.

  • E (astropy.Quantity or ndarray of astropy.Quantity) – Energies to evaluate the initial and oscillated spectra.

  • flavor_xform (FlavorTransformation) – An instance from the flavor_transformation module.

Returns:

dict – Dictionary of transformed spectra, keyed by neutrino flavor.

Derived Models

The submodule snewpy.models.ccsn contains models of core-collapse supernovae derived from the SupernovaModel base class.

You can download neutrino fluxes for each of these models using snewpy.get_models("<model_name>").

class snewpy.models.ccsn.Analytic3Species(filename)[source]

An analytical model calculating spectra given total luminosity, average energy, and rms or pinch, for each species.

Parameters:

filename (str) – Absolute or relative path to file with model data.

class snewpy.models.ccsn.Bollig_2016(filename, eos='LS220')[source]

Model based on simulations from Bollig et al. (2016). Models were taken, with permission, from the Garching Supernova Archive.

Initialize model

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux.

  • eos (string) – Equation of state used in simulation.

class snewpy.models.ccsn.Fornax_2019(filename, cache_flux=False)[source]

Model based on 3D simulations from D. Vartanyan, A. Burrows, D. Radice, M. A. Skinner and J. Dolence, MNRAS 482(1):351, 2019. Data available at https://www.astro.princeton.edu/~burrows/nu-emissions.3d/

Parameters:
  • filename (str) – Absolute or relative path to FITS file with model data.

  • cache_flux (bool) – If true, pre-compute the flux on a fixed angular grid and store the values in a FITS file.

get_initial_spectra(t, E, theta, phi, flavors=<enum 'Flavor'>, interpolation='linear')[source]

Get neutrino spectra/luminosity curves before flavor transformation.

Parameters:
  • t (astropy.Quantity) – Time to evaluate initial spectra.

  • E (astropy.Quantity or ndarray of astropy.Quantity) – Energies to evaluate the initial spectra.

  • theta (astropy.Quantity) – Zenith angle of the spectral emission.

  • phi (astropy.Quantity) – Azimuth angle of the spectral emission.

  • flavors (iterable of snewpy.neutrino.Flavor) – Return spectra for these flavors only (default: all)

  • interpolation (str) – Scheme to interpolate in spectra (‘nearest’, ‘linear’).

Returns:

initialspectra (dict) – Dictionary of model spectra, keyed by neutrino flavor.

class snewpy.models.ccsn.Fornax_2021(filename)[source]

Model based on axisymmetric simulations from A. Burrows and D. Vartanyan, Nature 589:29, 2021. Data available at https://www.astro.princeton.edu/~burrows/nu-emissions.2d/.

Parameters:

filename (str) – Absolute or relative path to FITS file with model data.

get_initial_spectra(t, E, flavors=<enum 'Flavor'>, interpolation='linear')[source]

Get neutrino spectra/luminosity curves after oscillation.

Parameters:
  • t (astropy.Quantity) – Time to evaluate initial spectra.

  • E (astropy.Quantity or ndarray of astropy.Quantity) – Energies to evaluate the initial spectra.

  • flavors (iterable of snewpy.neutrino.Flavor) – Return spectra for these flavors only (default: all)

  • interpolation (str) – Scheme to interpolate in spectra (‘nearest’, ‘linear’).

Returns:

initialspectra (dict) – Dictionary of model spectra, keyed by neutrino flavor.

class snewpy.models.ccsn.Kuroda_2020(filename, eos='LS220', mass=<Quantity 20. solMass>)[source]

Model based on simulations from Kuroda et al. (2020).

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux

  • eos (string) – Equation of state used in simulation

class snewpy.models.ccsn.Nakazato_2013(filename)[source]

Model based on simulations from Nakazato et al., ApJ S 205:2 (2013), ApJ 804:75 (2015), PASJ 73:639 (2021). See also http://asphwww.ph.noda.tus.ac.jp/snn/.

Parameters:

filename (str) – Absolute or relative path to FITS file with model data.

class snewpy.models.ccsn.OConnor_2013(base, mass=15, eos='LS220')[source]

Model based on the black hole formation simulation in O’Connor & Ott (2013).

Parameters:
  • base (str) – Path of directory containing model files

  • mass (int) – Progenitor mass

  • eos (string) – Equation of state used in simulation

class snewpy.models.ccsn.OConnor_2015(filename, eos='LS220')[source]

Model based on the black hole formation simulation in O’Connor (2015).

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux

  • eos (string) – Equation of state used in simulation

class snewpy.models.ccsn.Sukhbold_2015(filename)[source]

Model based on simulations from Sukhbold et al., ApJ 821:38,2016. Models were shared privately by email.

Parameters:

filename (str) – Absolute or relative path to FITS file with model data.

class snewpy.models.ccsn.Tamborra_2014(filename, eos='LS220')[source]

Model based on 3D simulations from Tamborra et al., PRD 90:045032, 2014. Data files are from the Garching Supernova Archive.

Initialize model

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux.

  • eos (string) – Equation of state used in simulation.

class snewpy.models.ccsn.Walk_2018(filename, eos='LS220')[source]

Model based on SASI-dominated simulations from Walk et al., PRD 98:123001, 2018. Data files are from the Garching Supernova Archive.

Initialize model

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux.

  • eos (string) – Equation of state used in simulation.

class snewpy.models.ccsn.Walk_2019(filename, eos='LS220')[source]

Model based on SASI-dominated simulations from Walk et al., PRD 101:123013, 2019. Data files are from the Garching Supernova Archive.

Initialize model

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux.

  • eos (string) – Equation of state used in simulation.

class snewpy.models.ccsn.Warren_2020(filename, eos='SFHo')[source]

Model based on simulations from Warren et al., ApJ 898:139, 2020. Neutrino fluxes available at https://doi.org/10.5281/zenodo.3667908.

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux

  • eos (string) – Equation of state used in simulation

class snewpy.models.ccsn.Zha_2021(filename, eos='STOS_B145')[source]

Model based on the hadron-quark phse transition models from Zha et al. 2021.

Parameters:
  • filename (str) – Absolute or relative path to file prefix, we add nue/nuebar/nux

  • eos (string) – Equation of state used in simulation

Other Models

class snewpy.models.ccsn.SNOwGLoBES(tarfilename)[source]

A model that does not inherit from SupernovaModel (yet) and imports a group of SNOwGLoBES files.

Parameters:

tarfilename (str) – Absolute or relative path to tar archive with SNOwGLoBES files.

get_fluence(t)[source]

Return the fluence at a given time t.

Parameters:

t (float) – Time in seconds.

Returns:

fluence (dict) – A dictionary giving fluence at time t, keyed by flavor.