SNEWPY 是一个用于处理超新星中微子的 Python 包。它提供…
运行pip install snewpy
以安装 SNEWPY。
SNEWPY 包括来自不同模拟组的大量超新星模型。由于这些模型的大小为数百 MB,因此它们不包含在初始安装中,但会在需要时自动下载。或者,您可以运行以下命令将要使用的模型显式下载到当前目录中名为SNEWPY-models/<model_name>/
子目录中:
python -c 'import snewpy; snewpy.get_models()'
SNEWPY 让您轻松访问数百个包含的 SN 模拟……
import astropy . units as u
from snewpy . models . ccsn import Nakazato_2013 , Bollig_2016
# Initialise two SN models. This automatically downloads the required data files if necessary.
nakazato = Nakazato_2013 ( progenitor_mass = 20 * u . solMass , revival_time = 100 * u . ms , metallicity = 0.004 , eos = 'shen' )
bollig = Bollig_2016 ( progenitor_mass = 27 * u . solMass )
……以及中微子在前往地球的途中可能经历的许多味道转变……
from snewpy . flavor_transformation import AdiabaticMSW
from snewpy . neutrino import MassHierarchy
# Adiabatic MSW flavor transformation with normal mass ordering
msw_nmo = AdiabaticMSW ( mh = MassHierarchy . NORMAL )
...让您快速计算到达地球的中微子通量:
times = [ 0.5 , 1 ] * u . s
energies = range ( 5 , 50 ) * u . MeV
# Assume a SN at the fiducial distance of 10 kpc and normal mass ordering.
flux = bollig . get_flux ( times , energies , distance = 10 * u . kpc , flavor_xform = msw_nmo )
您还可以计算 SNOwGLoBES 支持的所有中微子探测器中观察到的事件率,使用第三方代码(如事件生成器)中包含的 SN 模型和风味转换等等。
Jupyter 笔记本展示了可通过 SNEWPY 下载的超新星模型,其大部分功能可在doc/nb/
子文件夹中使用。其他示例脚本位于python/snewpy/scripts/
子文件夹中。
描述 SNEWPY 及其基础物理的论文发表在《天体物理学杂志》(DOI:10.3847/1538-4357/ac350f, arXiv:2109.08188) 和《开源软件杂志》(DOI:10.21105/joss.03772) 上。
有关更多信息,请参阅阅读文档上的完整文档。
欢迎您为 SNEWPY 做出贡献!对于较小的更改,只需提交拉取请求即可。如果您计划进行更大的更改,那么首先提出一个问题来协调我们的工作可能是个好主意。
我们使用 Fork & Pull Request 工作流程,这在 GitHub 上很常见。有关详细信息,请参阅我们完整文档中的贡献页面。