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

Delete duplicated network nova2 #1746

Merged
merged 14 commits into from
Feb 27, 2025
Merged
32 changes: 23 additions & 9 deletions Docs/source/networks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,21 +145,35 @@ burning. This network is managed by pynucastro.
above).


nova networks
=============
The ``nova`` network:
=====================

The ``nova`` and ``nova2`` networks both are intended for modeling classical novae.
This networks, composed of 17 nuclei: $\isotm{H}{1,2}$, $\isotm{He}{3,4}$, $\isotm{Be}{7}$, $\isotm{B}{8}$,
$\isotm{C}{12,13}$, $\isotm{N}{13-15}$, $\isotm{O}{14-17}$, $\isotm{F}{17,18}$ is used to model the onset of
a classical novae thermonuclear runaway. The first set of nuclei, $\isotm{H}{1,2}$, $\isotm{He}{3,4}$ represent
the pp-chain sector of the reaction network, while the second set,of nuclei, $\isotm{Be}{7}$, and $\isotm{B}{8}$, describe
the involvement of the x-process. Finally, all the remaining nuclei, are active participants of
the CNO cycle with endpoints at $\isotm{F}{17}$ and $\isotm{F}{18}$. The triple-$\alpha$ reaction
$\alpha(\alpha\alpha,\gamma)\isotm{C}{12}$, serves as bridge between the nuclei of first and the last set.

The the cold-CNO chain of reactions of the CN-branch are:

* ``nova`` focuses just on CNO/hot-CNO:
* :math:`\isotm{C}{12}(p,\gamma)\isotm{N}{13}(\beta^{+}\nu_e)\isotm{C}{13}(p,\gamma)`

.. figure:: nova.png
:align: center
while the NO-branch chain of reactions is:

* ``nova2`` expands ``nova`` by adding the pp-chain nuclei:
* :math:`\isotm{N}{14}(p,\gamma)\isotm{O}{15}(\beta^{+})\isotm{N}{15}(p,\gamma)\isotm{O}{16}(p,\gamma)\isotm{F}{17}(\beta^{+}\nu_e)\isotm{O}{17}`

.. figure:: nova2.png
:align: center
where the isotopes $\isotm{N}{15}$ and $\isotm{O}{17}$ may decay back into $\isotm{C}{12}$ and $\isotm{N}{14}$ through
$\isotm{N}{15}(p,\alpha)\isotm{C}{12}$ and $\isotm{O}{17}(p,\alpha)\isotm{N}{14}$ respectively.

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


Once the temperature threshold of $\gtrsim 10^8\,\mathrm{K}$, the fast $p$-captures, for example,
$\isotm{N}{13}(p,\gamma)\isotm{O}{14}$ are more likely than the $\beta^{+}$-decays $\isotm{N}{13}(\beta^{+}\nu_e)\isotm{C}{13}$
reactions, this rates are also included in this network.


He-burning networks
Expand Down
Binary file modified 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 removed Docs/source/nova2.png
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# The nova network contains the pp-chain, some
# nuclei from the x-process, like Be and B, and
# the CNO cycle, allowing a leakage throguh f18.

hydrogen-1 H1 1.0 1.0
hydrogen-2 H2 2.0 1.0
helium-3 He3 3.0 2.0
Expand Down
1 change: 1 addition & 0 deletions networks/nova/Make.package
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ ifeq ($(USE_REACT),TRUE)
CEXE_headers += actual_network.H
CEXE_headers += tfactors.H
CEXE_headers += partition_functions.H
CEXE_sources += partition_functions_data.cpp
CEXE_headers += actual_rhs.H
CEXE_headers += reaclib_rates.H
CEXE_headers += table_rates.H
Expand Down
124 changes: 80 additions & 44 deletions networks/nova/actual_network.H
Original file line number Diff line number Diff line change
Expand Up @@ -29,41 +29,53 @@ namespace network
if constexpr (spec == H1) {
return 0.0_rt;
}
else if constexpr (spec == H2) {
return 2.2245662689997516_rt;
}
else if constexpr (spec == He3) {
return 7.718041347999588_rt;
}
else if constexpr (spec == He4) {
return 28.29566_rt;
return 28.295662457999697_rt;
}
else if constexpr (spec == Be7) {
return 37.60083855599987_rt;
}
else if constexpr (spec == B8) {
return 37.7372096199997_rt;
}
else if constexpr (spec == C12) {
return 92.16172800000001_rt;
return 92.16173498399803_rt;
}
else if constexpr (spec == C13) {
return 97.108037_rt;
return 97.10804378399916_rt;
}
else if constexpr (spec == N13) {
return 94.105219_rt;
return 94.10522604799917_rt;
}
else if constexpr (spec == N14) {
return 104.65859599999999_rt;
return 104.65860734799753_rt;
}
else if constexpr (spec == N15) {
return 115.4919_rt;
return 115.49190414799887_rt;
}
else if constexpr (spec == O14) {
return 98.731892_rt;
return 98.73189611199996_rt;
}
else if constexpr (spec == O15) {
return 111.95538_rt;
return 111.95539521199862_rt;
}
else if constexpr (spec == O16) {
return 127.619296_rt;
return 127.6193154119992_rt;
}
else if constexpr (spec == O17) {
return 131.76237600000002_rt;
return 131.76239561199873_rt;
}
else if constexpr (spec == F17) {
return 128.21957600000002_rt;
return 128.21958437599824_rt;
}
else if constexpr (spec == F18) {
return 137.369484_rt;
return 137.36950247599816_rt;
}


Expand Down Expand Up @@ -125,27 +137,39 @@ namespace Rates
k_O14_to_N14_weak_wc12 = 2,
k_O15_to_N15_weak_wc12 = 3,
k_F17_to_O17_weak_wc12 = 4,
k_p_C12_to_N13 = 5,
k_He4_C12_to_O16 = 6,
k_p_C13_to_N14 = 7,
k_p_N13_to_O14 = 8,
k_p_N14_to_O15 = 9,
k_He4_N14_to_F18 = 10,
k_p_N15_to_O16 = 11,
k_p_O16_to_F17 = 12,
k_p_O17_to_F18 = 13,
k_He4_N13_to_p_O16 = 14,
k_p_N15_to_He4_C12 = 15,
k_He4_O14_to_p_F17 = 16,
k_p_O17_to_He4_N14 = 17,
k_p_F18_to_He4_O15 = 18,
k_He4_He4_He4_to_C12 = 19,
k_B8_to_He4_He4_weak_wc12 = 5,
k_p_p_to_d_weak_bet_pos_ = 6,
k_p_p_to_d_weak_electron_capture = 7,
k_p_d_to_He3 = 8,
k_d_d_to_He4 = 9,
k_p_He3_to_He4_weak_bet_pos_ = 10,
k_He4_He3_to_Be7 = 11,
k_p_Be7_to_B8 = 12,
k_p_C12_to_N13 = 13,
k_He4_C12_to_O16 = 14,
k_p_C13_to_N14 = 15,
k_p_N13_to_O14 = 16,
k_p_N14_to_O15 = 17,
k_He4_N14_to_F18 = 18,
k_p_N15_to_O16 = 19,
k_p_O16_to_F17 = 20,
k_p_O17_to_F18 = 21,
k_d_He3_to_p_He4 = 22,
k_He4_N13_to_p_O16 = 23,
k_p_N15_to_He4_C12 = 24,
k_He4_O14_to_p_F17 = 25,
k_p_O17_to_He4_N14 = 26,
k_p_F18_to_He4_O15 = 27,
k_He3_He3_to_p_p_He4 = 28,
k_d_Be7_to_p_He4_He4 = 29,
k_He3_Be7_to_p_p_He4_He4 = 30,
k_He4_He4_He4_to_C12 = 31,
NumRates = k_He4_He4_He4_to_C12
};

// number of reaclib rates

const int NrateReaclib = 19;
const int NrateReaclib = 31;

// number of tabular rates

Expand All @@ -161,21 +185,33 @@ namespace Rates
"O14_to_N14_weak_wc12", // 2,
"O15_to_N15_weak_wc12", // 3,
"F17_to_O17_weak_wc12", // 4,
"p_C12_to_N13", // 5,
"He4_C12_to_O16", // 6,
"p_C13_to_N14", // 7,
"p_N13_to_O14", // 8,
"p_N14_to_O15", // 9,
"He4_N14_to_F18", // 10,
"p_N15_to_O16", // 11,
"p_O16_to_F17", // 12,
"p_O17_to_F18", // 13,
"He4_N13_to_p_O16", // 14,
"p_N15_to_He4_C12", // 15,
"He4_O14_to_p_F17", // 16,
"p_O17_to_He4_N14", // 17,
"p_F18_to_He4_O15", // 18,
"He4_He4_He4_to_C12" // 19,
"B8_to_He4_He4_weak_wc12", // 5,
"p_p_to_d_weak_bet_pos_", // 6,
"p_p_to_d_weak_electron_capture", // 7,
"p_d_to_He3", // 8,
"d_d_to_He4", // 9,
"p_He3_to_He4_weak_bet_pos_", // 10,
"He4_He3_to_Be7", // 11,
"p_Be7_to_B8", // 12,
"p_C12_to_N13", // 13,
"He4_C12_to_O16", // 14,
"p_C13_to_N14", // 15,
"p_N13_to_O14", // 16,
"p_N14_to_O15", // 17,
"He4_N14_to_F18", // 18,
"p_N15_to_O16", // 19,
"p_O16_to_F17", // 20,
"p_O17_to_F18", // 21,
"d_He3_to_p_He4", // 22,
"He4_N13_to_p_O16", // 23,
"p_N15_to_He4_C12", // 24,
"He4_O14_to_p_F17", // 25,
"p_O17_to_He4_N14", // 26,
"p_F18_to_He4_O15", // 27,
"He3_He3_to_p_p_He4", // 28,
"d_Be7_to_p_He4_He4", // 29,
"He3_Be7_to_p_p_He4_He4", // 30,
"He4_He4_He4_to_C12" // 31,
};

}
Expand All @@ -185,7 +221,7 @@ namespace NSE_INDEX
{
constexpr int H1_index = 0;
constexpr int N_index = -1;
constexpr int He4_index = 1;
constexpr int He4_index = 3;

// Each row corresponds to the rate in NetworkRates enum
// First 3 row indices for reactants, followed by 3 product indices
Expand Down
50 changes: 31 additions & 19 deletions networks/nova/actual_network_data.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,37 @@
namespace NSE_INDEX
{
AMREX_GPU_MANAGED amrex::Array2D<int, 1, Rates::NumRates, 1, 7, Order::C> rate_indices {
-1, -1, 4, -1, -1, 3, -1,
-1, -1, 7, -1, -1, 5, -1,
-1, -1, 8, -1, -1, 6, -1,
-1, -1, 11, -1, -1, 10, -1,
-1, 0, 2, -1, -1, 4, -1,
-1, 1, 2, -1, -1, 9, -1,
-1, 0, 3, -1, -1, 5, -1,
-1, 0, 4, -1, -1, 7, -1,
-1, 0, 5, -1, -1, 8, -1,
-1, 1, 5, -1, -1, 12, -1,
-1, 0, 6, -1, -1, 9, -1,
-1, 0, 9, -1, -1, 11, -1,
-1, 0, 10, -1, -1, 12, -1,
-1, 1, 4, -1, 0, 9, -1,
-1, 0, 6, -1, 1, 2, -1,
-1, 1, 7, -1, 0, 11, -1,
-1, 0, 10, -1, 1, 5, -1,
-1, 0, 12, -1, 1, 8, -1,
1, 1, 1, -1, -1, 2, -1
-1, -1, 8, -1, -1, 7, -1,
-1, -1, 11, -1, -1, 9, -1,
-1, -1, 12, -1, -1, 10, -1,
-1, -1, 15, -1, -1, 14, -1,
-1, -1, 5, -1, 3, 3, -1,
-1, 0, 0, -1, -1, 1, -1,
-1, 0, 0, -1, -1, 1, -1,
-1, 0, 1, -1, -1, 2, -1,
-1, 1, 1, -1, -1, 3, -1,
-1, 0, 2, -1, -1, 3, -1,
-1, 2, 3, -1, -1, 4, -1,
-1, 0, 4, -1, -1, 5, -1,
-1, 0, 6, -1, -1, 8, -1,
-1, 3, 6, -1, -1, 13, -1,
-1, 0, 7, -1, -1, 9, -1,
-1, 0, 8, -1, -1, 11, -1,
-1, 0, 9, -1, -1, 12, -1,
-1, 3, 9, -1, -1, 16, -1,
-1, 0, 10, -1, -1, 13, -1,
-1, 0, 13, -1, -1, 15, -1,
-1, 0, 14, -1, -1, 16, -1,
-1, 1, 2, -1, 0, 3, -1,
-1, 3, 8, -1, 0, 13, -1,
-1, 0, 10, -1, 3, 6, -1,
-1, 3, 11, -1, 0, 15, -1,
-1, 0, 14, -1, 3, 9, -1,
-1, 0, 16, -1, 3, 12, -1,
-1, 2, 2, 0, 0, 3, -1,
-1, 1, 4, 0, 3, 3, -1,
-1, 2, 4, 0, 0, 3, -1,
3, 3, 3, -1, -1, 6, -1
};
}
#endif
Expand Down
Loading
Loading