feat(solver): added callback functions to solver in C++ and python

This commit is contained in:
2025-07-31 15:04:57 -04:00
parent 5b74155477
commit 24049b2658
482 changed files with 4318 additions and 1467 deletions

View File

@@ -29,7 +29,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">GridFire<span id="projectnumber">&#160;0.0.1a</span>
<div id="projectname">GridFire<span id="projectnumber">&#160;0.6.0</span>
</div>
<div id="projectbrief">General Purpose Nuclear Network</div>
</td>
@@ -179,15 +179,16 @@ $(function(){initNavTree('hierarchy.html',''); initResizable(true); });
<tr id="row_37_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1reaction_1_1_logical_reaction.html" target="_self">gridfire::reaction::LogicalReaction</a></td><td class="desc">Represents a "logical" reaction that aggregates rates from multiple sources </td></tr>
<tr id="row_38_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html" target="_self">gridfire::AdaptiveEngineView::ReactionFlow</a></td><td class="desc">A struct to hold a reaction and its flow rate </td></tr>
<tr id="row_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1reaclib_1_1_reaction_record.html" target="_self">gridfire::reaclib::ReactionRecord</a></td><td class="desc"></td></tr>
<tr id="row_40_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_r_h_s_functor.html" target="_self">RHSFunctor</a></td><td class="desc">Functor for calculating the right-hand side of the ODEs </td></tr>
<tr id="row_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html" target="_self">gridfire::solver::DirectNetworkSolver::RHSManager</a></td><td class="desc"></td></tr>
<tr id="row_42_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_42_" class="arrow" onclick="dynsection.toggleFolder('42_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1screening_1_1_screening_model.html" target="_self">gridfire::screening::ScreeningModel</a></td><td class="desc">An abstract base class for plasma screening models </td></tr>
<tr id="row_42_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_py_screening.html" target="_self">PyScreening</a></td><td class="desc"></td></tr>
<tr id="row_42_1_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1screening_1_1_bare_screening_model.html" target="_self">gridfire::screening::BareScreeningModel</a></td><td class="desc">A screening model that applies no screening effect </td></tr>
<tr id="row_42_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1screening_1_1_weak_screening_model.html" target="_self">gridfire::screening::WeakScreeningModel</a></td><td class="desc">Implements the weak screening model based on the Debye-Hückel approximation </td></tr>
<tr id="row_43_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1exceptions_1_1_stale_engine_trigger_1_1state.html" target="_self">gridfire::exceptions::StaleEngineTrigger::state</a></td><td class="desc"></td></tr>
<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1_step_derivatives.html" target="_self">gridfire::StepDerivatives&lt; T &gt;</a></td><td class="desc">Structure holding derivatives and energy generation for a network step </td></tr>
<tr id="row_45_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1reaction_1_1_templated_reaction_set.html" target="_self">gridfire::reaction::TemplatedReactionSet&lt; ReactionT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_40_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html" target="_self">gridfire::solver::DirectNetworkSolver::RHSManager</a></td><td class="desc">Functor for calculating the right-hand side of the ODEs </td></tr>
<tr id="row_41_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_41_" class="arrow" onclick="dynsection.toggleFolder('41_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1screening_1_1_screening_model.html" target="_self">gridfire::screening::ScreeningModel</a></td><td class="desc">An abstract base class for plasma screening models </td></tr>
<tr id="row_41_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_py_screening.html" target="_self">PyScreening</a></td><td class="desc"></td></tr>
<tr id="row_41_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1screening_1_1_bare_screening_model.html" target="_self">gridfire::screening::BareScreeningModel</a></td><td class="desc">A screening model that applies no screening effect </td></tr>
<tr id="row_41_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1screening_1_1_weak_screening_model.html" target="_self">gridfire::screening::WeakScreeningModel</a></td><td class="desc">Implements the weak screening model based on the Debye-Hückel approximation </td></tr>
<tr id="row_42_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_42_" class="arrow" onclick="dynsection.toggleFolder('42_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_solver_context_base.html" target="_self">gridfire::solver::SolverContextBase</a></td><td class="desc">Base class for solver callback contexts </td></tr>
<tr id="row_42_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html" target="_self">gridfire::solver::DirectNetworkSolver::TimestepContext</a></td><td class="desc">Context for the timestep callback function for the <a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html" title="A network solver that directly integrates the reaction network ODEs.">DirectNetworkSolver</a> </td></tr>
<tr id="row_43_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1exceptions_1_1_stale_engine_trigger_1_1state.html" target="_self">gridfire::exceptions::StaleEngineTrigger::state</a></td><td class="desc"></td></tr>
<tr id="row_44_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1_step_derivatives.html" target="_self">gridfire::StepDerivatives&lt; T &gt;</a></td><td class="desc">Structure holding derivatives and energy generation for a network step </td></tr>
<tr id="row_45_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1reaction_1_1_templated_reaction_set.html" target="_self">gridfire::reaction::TemplatedReactionSet&lt; ReactionT &gt;</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->