feat(neutrino): Started framework for neutrino loss

Neutrino loss is essential for neutrino cooling. Started adding
framework to track this. Reaclib reactions use a simple heuristic where
electron capture reactions loss 100% of their energy to neutrinos
whereas beta decay reactions loose 50% of their energy to neutrinos
This commit is contained in:
2025-11-27 14:34:20 -05:00
parent 7b67f3064a
commit 05175ae87c
13 changed files with 259 additions and 119 deletions

View File

@@ -183,12 +183,12 @@ void register_reaction_bindings(py::module &m) {
py::class_<gridfire::reaction::LogicalReaclibReaction, gridfire::reaction::ReaclibReaction>(m, "LogicalReaclibReaction")
.def(
py::init<const std::vector<gridfire::reaction::ReaclibReaction>>(),
py::init<const std::vector<std::unique_ptr<gridfire::reaction::ReaclibReaction>>>(),
py::arg("reactions"),
"Construct a LogicalReaclibReaction from a vector of ReaclibReaction objects."
)
.def(
py::init<const std::vector<gridfire::reaction::ReaclibReaction>, bool>(),
py::init<const std::vector<std::unique_ptr<gridfire::reaction::ReaclibReaction>>, bool>(),
py::arg("reactions"),
py::arg("is_reverse"),
"Construct a LogicalReaclibReaction from a vector of ReaclibReaction objects."