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>
@@ -108,22 +108,32 @@ $(function(){initNavTree('solver_8h.html',''); initResizable(true); });
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="engine__graph_8h.html">gridfire/engine/engine_graph.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="engine__abstract_8h.html">gridfire/engine/engine_abstract.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="engine__adaptive_8h.html">../engine/views/engine_adaptive.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="network_8h.html">gridfire/network.h</a>&quot;</code><br />
<code>#include &quot;fourdst/logging/logging.h&quot;</code><br />
<code>#include &quot;fourdst/config/config.h&quot;</code><br />
<code>#include &quot;quill/Logger.h&quot;</code><br />
<code>#include &lt;functional&gt;</code><br />
<code>#include &lt;any&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;tuple&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1solver_1_1_solver_context_base.html">gridfire::solver::SolverContextBase</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for solver callback contexts. <a href="structgridfire_1_1solver_1_1_solver_context_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy&lt; EngineT &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract base class for network solver strategies. <a href="classgridfire_1_1solver_1_1_network_solver_strategy.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A network solver that directly integrates the reaction network ODEs. <a href="classgridfire_1_1solver_1_1_direct_network_solver.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html">gridfire::solver::DirectNetworkSolver::TimestepContext</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">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>. <a href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html">gridfire::solver::DirectNetworkSolver::RHSManager</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functor for calculating the right-hand side of the ODEs. <a href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html">gridfire::solver::DirectNetworkSolver::JacobianFunctor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functor for calculating the Jacobian matrix. <a href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#details">More...</a><br /></td></tr>