SNEWPY は、超新星ニュートリノを扱うための Python パッケージです。それは…を提供します
pip install snewpy
実行して SNEWPY をインストールします。
SNEWPY には、さまざまなシミュレーション グループからの多数の超新星モデルが含まれています。これらのモデルのサイズは数 100 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 モデルやサードパーティ コード (イベント ジェネレーターなど) でのフレーバー変換を使用したりすることもできます。
SNEWPY を通じて利用できるダウンロード可能な超新星モデルを紹介する Jupyter ノートブックとその機能の多くはdoc/nb/
サブフォルダーで利用できます。追加のサンプル スクリプトはpython/snewpy/scripts/
サブフォルダーにあります。
SNEWPY と基礎となる物理学について説明した論文は、Astrophysical Journal (DOI:10.3847/1538-4357/ac350f、arXiv:2109.08188) および Journal of Open Source Software (DOI:10.21105/joss.03772) に掲載されています。
詳細については、「ドキュメントを読む」で完全なドキュメントを参照してください。
SNEWPYへの投稿は大歓迎です!軽微な変更の場合は、プル リクエストを送信するだけです。より大きな変更を計画している場合は、作業を調整するために最初に問題をオープンすることをお勧めします。
GitHub で一般的なフォークとプル リクエストのワークフローを使用します。詳細については、完全なドキュメントの「貢献」ページを参照してください。