Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

more network documentation #1628

Merged
merged 3 commits into from
Jul 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion networks/ECSN/ecsn_network_generation.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,16 @@
# Only select the rates which are >= 1.e-20 at 1.e9 K and 7.e9 g/cm3
# Do not select weak rates from "20180319default2"
new_rate_list = []
ydots = rc.evaluate_rates(rho=7.e9, T=1.e9, composition=comp)
rho = 7.e9
T = 1.e9
ydots = rc.evaluate_rates(rho=rho, T=T, composition=comp)
for rate in rc.rates:
if ydots[rate] >= 1.e-20 and rate.weak == False:
new_rate_list.append(rate)

wd_net = AmrexAstroCxxNetwork(rates=new_rate_list, rate_files=escn_tabular)
wd_net.write_network()

wd_net.plot(rho, T, comp, outfile="ECSN.png",
hide_xalpha=True, curved_edges=True,
node_size=500, node_font_size=11, node_color="#337dff", node_shape="s")
Binary file added sphinx_docs/source/CNO_He_burn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sphinx_docs/source/ECSN.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sphinx_docs/source/cno_extras_hide_alpha.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
169 changes: 102 additions & 67 deletions sphinx_docs/source/networks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ Available Reaction Networks
***************************


iso7, aprox13, aprox19, and aprox21
===================================
``iso7``, ``aprox13``, ``aprox19``, and ``aprox21``
===================================================

These are alpha-chains (with some other nuclei) from Frank Timmes.
These networks share common rates (from ``Microphysics/rates``),
Expand Down Expand Up @@ -32,8 +32,8 @@ where :math:`N_A` is Avogadro’s number (to convert this to “per gram”)
and :math:`\edotnu` is the neutrino loss term.


general_null
============
``general_null``
================

``general_null`` is a bare interface for a nuclear reaction network --
no reactions are enabled. The
Expand Down Expand Up @@ -79,9 +79,44 @@ At compile time, the "`.net`" file is parsed and a network header
``Make.package``.


``CNO_extras``
==============

This network replicates the popular [MESA "cno_extras"
network](https://docs.mesastar.org/en/latest/net/nets.html) which is
meant to study hot-CNO burning and the start of the breakout from CNO
burning.

We add ${}^{56}\mathrm{Fe}$ as an inert nucleus to allow this to be
used for X-ray burst simulations.

.. figure:: cno_extras_hide_alpha.png
:align: center

ignition_chamulak
=================

``CNO_He_burn``
===============

This network is meant to study explosive H and He burning. It combines
the ``CNO_extras`` network (with the exception of the inert ${}^{56}\mathrm{Fe}$
with the ``subch_simple`` network. This allows it to capture hot-CNO and
He burning.

.. figure:: CNO_He_burn.png
:align: center

``ECSN``
========

``ECSN`` is meant to model electron-capture supernovae in O-Ne white dwarfs.
It includes various weak rates that are important to this process.

.. figure:: ECSN.png
:align: center


``ignition_chamulak``
=====================

This network was introduced in our paper on convection in white dwarfs
as a model of Type Ia supernovae :cite:`wdconvect`. It models
Expand All @@ -104,11 +139,24 @@ binding energies are negative. The energy generation rate is then:

(this is positive since both :math:`q` and :math:`dY/dt` are negative)

ignition_reaclib
================
``ignition_reaclib``
====================

This contains several networks designed to model C burning in WDs. They include:

* ``C-burn-simple`` : a version of ``ignition_simple`` built from
ReacLib rates. This just includes the C+C rates and doesn't group
the endpoints together.

* ``URCA-simple`` : a basic network for modeling convective Urca,
containing the ${}^{23}\mathrm{Na}$-${}^{23}\mathrm{Ne}$ Urca pair.

* ``URCA-medium`` : a more extensive Urca network than ``URCA-simple``,
containing more extensive C burning rates.

ignition_simple
===============

``ignition_simple``
===================

This is the original network used in our white dwarf convection
studies :cite:`lowMach4`. It includes a single-step
Expand All @@ -127,11 +175,26 @@ Kepler stellar evolution code (Weaver 1978), which implements the work
of (Graboske 1973) for weak screening and the work of (Alastuey 1978
and Itoh 1979) for strong screening.

kpp
===

powerlaw
========
nova networks
=============

The ``nova`` and ``nova2`` networks both are intended for modeling classical novae.


* ``nova`` focuses just on CNO/hot-CNO:

.. figure:: nova.png
:align: center

* ``nova2`` expands ``nova`` by adding the pp-chain nuclei:

.. figure:: nova2.png
:align: center


``powerlaw``
============

This is a simple single-step reaction rate.
We will consider only two species, fuel, :math:`f`, and ash, :math:`a`, through
Expand Down Expand Up @@ -185,8 +248,8 @@ There are a number of parameters we use to control the constants in
this network. This is one of the few networks that was designed
to work with ``gamma_law`` as the EOS.

rprox
=====
``rprox``
=========

This network contains 10 species, approximating hot CNO,
triple-\ :math:`\alpha`, and rp-breakout burning up through :math:`^{56}\mathrm{Ni}`,
Expand All @@ -195,8 +258,8 @@ reaction rates from ReacLib :cite:`ReacLib` where available.
This network was used for the X-ray burst studies in
:cite:`xrb:II`, :cite:`xrb:III`, and more details are contained in those papers.

triple_alpha_plus_cago
======================
``triple_alpha_plus_cago``
==========================

This is a 2 reaction network for helium burning, capturing the :math:`3`-:math:`\alpha`
reaction and :math:`\isotm{C}{12}(\alpha,\gamma)\isotm{O}{16}`. Additionally,
Expand All @@ -206,8 +269,7 @@ reaction and :math:`\isotm{C}{12}(\alpha,\gamma)\isotm{O}{16}`. Additionally,
subch networks
==============

The networks subch_full (subch2), subch_approx (subch),
subch_simple, and subch_base recreate an aprox13
The subch networks recreate an ``aprox13``
alpha-chain + including a bypass rate for :math:`\isotm{C}{12}(\alpha,
\gamma)\isotm{O}{16}` discussed in :cite:`ShenBildsten`. This is appropriate
for explosive He burning.
Expand Down Expand Up @@ -242,74 +304,47 @@ forward rate to just be the first rate. We do not include reverse
rates for these processes.


subch_full
----------

subch_full, also known as subch2, does not create an effective rate
for :math:`(\alpha, \gamma)` and :math:`(\alpha, p)(p, \gamma)`
(i.e. combine them assuming proton equilibrium). Therefore,
we need to explicitly include the intermediate nuclei produced in
the :math:`(\alpha,p)` reactions. In all, 28 nuclei and 107 rates are included.
``subch_simple``
----------------

This network is generated via pynucastro using the ``subch_full.py`` script.
The overall network appears as:

.. figure:: subch_full.png
:align: center

.. note::
subch_full has been removed in
commit 19108a72c2dc81e251669ef0fed4edf7e6a3f9ed

subch_approx
------------

subch_approx, also known as subch, approximates subch_full by
``subch_simple`` uses the ideas above but approximates some
of the rates by
combining some of the :math:`A(\alpha,p)X(p,\gamma)B` links with
:math:`A(\alpha,\gamma)B`, allowing us to drop the intermediate
nucleus :math:`X`. We do this for :math:`\isotm{Cl}{35}`,
:math:`\isotm{K}{39}`, :math:`\isotm{Sc}{43}`, :math:`\isotm{V}{47}`,
:math:`\isotm{Mn}{51}`, and :math:`\isotm{Co}{55}`.
The resulting network appears as:

.. figure:: subch_approx.png
:align: center

The nuclei in gray are not part of the network, but the links to them
are approximated. This reduces the number of nuclei compared to subch_full
from 28 to 22.

.. note::
subch_approx has been removed in
commit 19108a72c2dc81e251669ef0fed4edf7e6a3f9ed

subch_simple
-------------
Further simplifications include:

subch_simple further simplifies subch_approx by the following:

* Reverse rates of :math:`\isotm{C}{12}+\isotm{C}{12}`,
* The reverse rates of :math:`\isotm{C}{12}+\isotm{C}{12}`,
:math:`\isotm{C}{12}+\isotm{O}{16}`, :math:`\isotm{O}{16}+\isotm{O}{16}` are
neglected since they're not present in the original aprox13 network

* :math:`\isotm{C}{12}+\isotm{Ne}{20}` rates are removed
* The :math:`\isotm{C}{12}+\isotm{Ne}{20}` rate is removed

* :math:`(\alpha, \gamma)` links between :math:`\isotm{Na}{23}`,
* The :math:`(\alpha, \gamma)` links between :math:`\isotm{Na}{23}`,
:math:`\isotm{Al}{27}` and between :math:`\isotm{Al}{27}` and
:math:`\isotm{P}{31}` are removed, since they're not in the
original aprox13 network.

The network appears as:

.. figure:: subch_simple.png
:align: center

.. warning::
Due to inclusion of the rate sequence, n14(a, g)f18(a, p)ne21, there is
an artificial end-point at Na22.
The nuclei in gray are those that have been approximated about, but the links
are effectively accounted for in the approximate rates.

.. warning:: Due to inclusion of the rate sequence,
${}^{14}\mathrm{N}(\alpha, \gamma){}^{18}\mathrm{F}(\alpha,
\mathrm{p}){}^{21}\mathrm{Ne}$, there is an artificial end-point at
${}^{22}\mathrm{Na}$.

subch_base
-----------
``subch_base``
--------------

subch_base is the simplest subch network. It is created to reconcile the
``subch_base`` is the simplest subch network. It is created to reconcile the
artificial end-point at :math:`\isotm{Na}{22}`. This is done by excluding
:math:`\isotm{N}{14}`, :math:`\isotm{F}{18}`, :math:`\isotm{Ne}{21}`,
and :math:`\isotm{Na}{22}`. These nuclei were added to include
Expand Down
Binary file added sphinx_docs/source/nova.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sphinx_docs/source/nova2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed sphinx_docs/source/subch_approx.png
Binary file not shown.
Binary file removed sphinx_docs/source/subch_full.png
Binary file not shown.
Loading