Source code for snewpy.models.presn

# -*- coding: utf-8 -*-
"""
The submodule ``snewpy.models.presn`` contains models of presupernova neutrino fluxes,
derived from the :class:`SupernovaModel` base class.
"""
import snewpy.models.presn_loaders as loaders
from snewpy.models.registry_model import RegistryModel
from astropy import units as u

[docs] @RegistryModel( progenitor_mass = [15, 25]<<u.Msun ) class Odrzywolek_2010(loaders.Odrzywolek_2010): """Presupernova model based on `A.Odrzywolek, Alexander Heger, Acta Phys.Polon.B 41 (2010) <https://inspirehep.net/literature/870759>`_ Dataset available on `Odrzywolek’s website <http://th.if.uj.edu.pl/~odrzywolek/psns/index.html>`_ """ def __init__(self, progenitor_mass:u.Quantity): filename=f"s{progenitor_mass.to_value('Msun'):.0f}_nuebar_data.txt" super().__init__(filename)
[docs] @RegistryModel( progenitor_mass = [15, 30]<<u.Msun ) class Patton_2017(loaders.Patton_2017): """Presupernova model based on `Kelly M. Patton et al. 2017 ApJ 851 6 <https://iopscience.iop.org/article/10.3847/1538-4357/aa95c4>`_ Dataset available on Zenodo (`DOI:10.5281/zenodo.2626645 <http://doi.org/10.5281/zenodo.2626645>`_) """ def __init__(self, progenitor_mass:u.Quantity): filename=f"totalLuminosity_{progenitor_mass.to_value('Msun'):.0f}SolarMass.dat" super().__init__(filename)
[docs] @RegistryModel( progenitor_mass = [12, 15]<<u.Msun ) class Kato_2017(loaders.Kato_2017): """Presupernova model based on `Chinami Kato et al. 2017 ApJ 848 48 <https://iopscience.iop.org/article/10.3847/1538-4357/aa8b72>`_ Dataset available on `Zenodo <https://zenodo.org/records/3768052>`__ """ def __init__(self, progenitor_mass:u.Quantity): path=f"pre_collapse/m{progenitor_mass.to_value('Msun'):.0f}" super().__init__(path)
[docs] @RegistryModel( progenitor_mass = [12, 15, 20]<<u.Msun ) class Yoshida_2016(loaders.Yoshida_2016): """Presupernova model based on `Yoshida et al. (2016), PRD 93, 123012 <https://doi.org/10.1103/PhysRevD.93.123012>`_ Dataset available on `Zenodo <https://zenodo.org/records/3778014>`__ """ def __init__(self, progenitor_mass:u.Quantity): path=f"t_spc_m{progenitor_mass.to_value('Msun'):.0f}_1.2.txt" super().__init__(path)