docs(rebuilt-docs): rebuild docs for v0.7.6rc4.0

This commit is contained in:
2026-04-20 12:45:31 -04:00
parent cf26983fe2
commit 7d611c56ad
2879 changed files with 341584 additions and 181414 deletions

View File

@@ -29,7 +29,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">GridFire<span id="projectnumber">&#160;v0.7.0_rc2</span>
<div id="projectname">GridFire<span id="projectnumber">&#160;v0.7.6rc4.0</span>
</div>
<div id="projectbrief">General Purpose Nuclear Network</div>
</td>
@@ -121,78 +121,64 @@ Collaboration diagram for PyDynamicEngine:</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afc745e7ab5da5d8b3cf916044515cd7d" id="r_afc745e7ab5da5d8b3cf916044515cd7d"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; fourdst::atomic::Species &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afc745e7ab5da5d8b3cf916044515cd7d">getNetworkSpecies</a> () const override</td></tr>
<tr class="memdesc:afc745e7ab5da5d8b3cf916044515cd7d"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_py_dynamic_engine.html">PyDynamicEngine</a> Implementation ///. <br /></td></tr>
<tr class="separator:afc745e7ab5da5d8b3cf916044515cd7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac1f2005c0a58befc4e01627c9357924" id="r_aac1f2005c0a58befc4e01627c9357924"><td class="memItemLeft" align="right" valign="top">std::expected&lt; <a class="el" href="structgridfire_1_1engine_1_1_step_derivatives.html">gridfire::engine::StepDerivatives</a>&lt; double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aac1f2005c0a58befc4e01627c9357924">calculateRHSAndEnergy</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:aac1f2005c0a58befc4e01627c9357924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the right-hand side (dY/dt) and energy generation. <br /></td></tr>
<tr class="separator:aac1f2005c0a58befc4e01627c9357924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a298f700c647d2c3973d2a35d370c823e" id="r_a298f700c647d2c3973d2a35d370c823e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a298f700c647d2c3973d2a35d370c823e">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a298f700c647d2c3973d2a35d370c823e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the Jacobian matrix for the current state. <br /></td></tr>
<tr class="separator:a298f700c647d2c3973d2a35d370c823e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b1c054b250abccc2af9a7275c68df4a" id="r_a2b1c054b250abccc2af9a7275c68df4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2b1c054b250abccc2af9a7275c68df4a">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho, const std::vector&lt; fourdst::atomic::Species &gt; &amp;activeSpecies) const override</td></tr>
<tr class="memdesc:a2b1c054b250abccc2af9a7275c68df4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the Jacobian matrix for the current state using a subset of active species. <br /></td></tr>
<tr class="separator:a2b1c054b250abccc2af9a7275c68df4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a204643754cac3cf37c550ecd32f659fe" id="r_a204643754cac3cf37c550ecd32f659fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a204643754cac3cf37c550ecd32f659fe">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho, const <a class="el" href="namespacegridfire_1_1engine.html#a9de1791ec719c0a9b76b835703336870">gridfire::engine::SparsityPattern</a> &amp;sparsityPattern) const override</td></tr>
<tr class="memdesc:a204643754cac3cf37c550ecd32f659fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the Jacobian matrix for the current state with a specified sparsity pattern. <br /></td></tr>
<tr class="separator:a204643754cac3cf37c550ecd32f659fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2066649ca11a869c054079ea12d8d0e9" id="r_a2066649ca11a869c054079ea12d8d0e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2066649ca11a869c054079ea12d8d0e9">generateStoichiometryMatrix</a> () override</td></tr>
<tr class="memdesc:a2066649ca11a869c054079ea12d8d0e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the stoichiometry matrix for the network. <br /></td></tr>
<tr class="separator:a2066649ca11a869c054079ea12d8d0e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dd5cf419f25e76e144af35df15a2067" id="r_a3dd5cf419f25e76e144af35df15a2067"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3dd5cf419f25e76e144af35df15a2067">getStoichiometryMatrixEntry</a> (const fourdst::atomic::Species &amp;species, const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">gridfire::reaction::Reaction</a> &amp;reaction) const override</td></tr>
<tr class="memdesc:a3dd5cf419f25e76e144af35df15a2067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an entry from the stoichiometry matrix. <br /></td></tr>
<tr class="separator:a3dd5cf419f25e76e144af35df15a2067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8facba88b6df6e016ce53a0ff3cff125" id="r_a8facba88b6df6e016ce53a0ff3cff125"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8facba88b6df6e016ce53a0ff3cff125">calculateMolarReactionFlow</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">gridfire::reaction::Reaction</a> &amp;reaction, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a8facba88b6df6e016ce53a0ff3cff125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the molar reaction flow for a given reaction. <br /></td></tr>
<tr class="separator:a8facba88b6df6e016ce53a0ff3cff125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d5143640666631501cf229bc491516e" id="r_a1d5143640666631501cf229bc491516e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">gridfire::reaction::ReactionSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1d5143640666631501cf229bc491516e">getNetworkReactions</a> () const override</td></tr>
<tr class="memdesc:a1d5143640666631501cf229bc491516e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the set of logical reactions in the network. <br /></td></tr>
<tr class="separator:a1d5143640666631501cf229bc491516e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af469cba3be850d53f659ec173f0eb4e4" id="r_af469cba3be850d53f659ec173f0eb4e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af469cba3be850d53f659ec173f0eb4e4">setNetworkReactions</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">gridfire::reaction::ReactionSet</a> &amp;reactions) override</td></tr>
<tr class="memdesc:af469cba3be850d53f659ec173f0eb4e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the reactions for the network. <br /></td></tr>
<tr class="separator:af469cba3be850d53f659ec173f0eb4e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71678a567bb0cedd8a97aff9ceddd814" id="r_a71678a567bb0cedd8a97aff9ceddd814"><td class="memItemLeft" align="right" valign="top">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a71678a567bb0cedd8a97aff9ceddd814">getSpeciesTimescales</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a71678a567bb0cedd8a97aff9ceddd814"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute timescales for all species in the network. <br /></td></tr>
<tr class="separator:a71678a567bb0cedd8a97aff9ceddd814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d34faa3d6ea804a3467979858d33535" id="r_a8d34faa3d6ea804a3467979858d33535"><td class="memItemLeft" align="right" valign="top">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d34faa3d6ea804a3467979858d33535">getSpeciesDestructionTimescales</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a8d34faa3d6ea804a3467979858d33535"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute destruction timescales for all species in the network. <br /></td></tr>
<tr class="separator:a8d34faa3d6ea804a3467979858d33535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e6a8cd44f278535d7bcc9a896d6da8" id="r_af8e6a8cd44f278535d7bcc9a896d6da8"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af8e6a8cd44f278535d7bcc9a896d6da8">update</a> (const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;netIn) override</td></tr>
<tr class="memdesc:af8e6a8cd44f278535d7bcc9a896d6da8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the internal state of the engine. <br /></td></tr>
<tr class="separator:af8e6a8cd44f278535d7bcc9a896d6da8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55bf19ed7534a312a36faf74753f7b14" id="r_a55bf19ed7534a312a36faf74753f7b14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a55bf19ed7534a312a36faf74753f7b14">isStale</a> (const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;netIn) override</td></tr>
<tr class="memdesc:a55bf19ed7534a312a36faf74753f7b14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the engine's internal state is stale. <br /></td></tr>
<tr class="separator:a55bf19ed7534a312a36faf74753f7b14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa3abfd612033336a656f092721c14ac" id="r_afa3abfd612033336a656f092721c14ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afa3abfd612033336a656f092721c14ac">setScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a> model) override</td></tr>
<tr class="memdesc:afa3abfd612033336a656f092721c14ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the electron screening model. <br /></td></tr>
<tr class="separator:afa3abfd612033336a656f092721c14ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4cfdca5e15957c5cef75ffa6dedeee5" id="r_ab4cfdca5e15957c5cef75ffa6dedeee5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab4cfdca5e15957c5cef75ffa6dedeee5">getScreeningModel</a> () const override</td></tr>
<tr class="memdesc:ab4cfdca5e15957c5cef75ffa6dedeee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current electron screening model. <br /></td></tr>
<tr class="separator:ab4cfdca5e15957c5cef75ffa6dedeee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95d10a7b240d543a1bc6c67ddf2dc8e0" id="r_a95d10a7b240d543a1bc6c67ddf2dc8e0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a95d10a7b240d543a1bc6c67ddf2dc8e0">getSpeciesIndex</a> (const fourdst::atomic::Species &amp;species) const override</td></tr>
<tr class="memdesc:a95d10a7b240d543a1bc6c67ddf2dc8e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
<tr class="separator:a95d10a7b240d543a1bc6c67ddf2dc8e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61bb4b430fe740cfb2c24e5cc673e4ac" id="r_a61bb4b430fe740cfb2c24e5cc673e4ac"><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61bb4b430fe740cfb2c24e5cc673e4ac">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;netIn) const override</td></tr>
<tr class="memdesc:a61bb4b430fe740cfb2c24e5cc673e4ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a NetIn object to a vector of molar abundances. <br /></td></tr>
<tr class="separator:a61bb4b430fe740cfb2c24e5cc673e4ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6118af81e45d2850f7a2517891147274" id="r_a6118af81e45d2850f7a2517891147274"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html">gridfire::engine::PrimingReport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6118af81e45d2850f7a2517891147274">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;netIn) override</td></tr>
<tr class="memdesc:a6118af81e45d2850f7a2517891147274"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
<tr class="separator:a6118af81e45d2850f7a2517891147274"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a541cf022fe3253279f8f1309c10556d7" id="r_a541cf022fe3253279f8f1309c10556d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1engine.html#a55cd7c313bbfafd5b6a1bcd6329ed99b">gridfire::engine::BuildDepthType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a541cf022fe3253279f8f1309c10556d7">getDepth</a> () const override</td></tr>
<tr class="memdesc:a541cf022fe3253279f8f1309c10556d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
<tr class="separator:a541cf022fe3253279f8f1309c10556d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25e52496b36d731127603c31e9dcaa97" id="r_a25e52496b36d731127603c31e9dcaa97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a25e52496b36d731127603c31e9dcaa97">rebuild</a> (const fourdst::composition::CompositionAbstract &amp;comp, <a class="el" href="namespacegridfire_1_1engine.html#a55cd7c313bbfafd5b6a1bcd6329ed99b">gridfire::engine::BuildDepthType</a> depth) override</td></tr>
<tr class="memdesc:a25e52496b36d731127603c31e9dcaa97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
<tr class="separator:a25e52496b36d731127603c31e9dcaa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6832a7898da51017a20f578e33cba729" id="r_a6832a7898da51017a20f578e33cba729"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1_energy_derivatives.html">gridfire::engine::EnergyDerivatives</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6832a7898da51017a20f578e33cba729">calculateEpsDerivatives</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a6832a7898da51017a20f578e33cba729"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the derivatives of the energy generation rate with respect to T and rho. <br /></td></tr>
<tr class="separator:a6832a7898da51017a20f578e33cba729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a239826d90cb5db236e68230f7ac84bcb" id="r_a239826d90cb5db236e68230f7ac84bcb"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a239826d90cb5db236e68230f7ac84bcb">collectComposition</a> (const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a239826d90cb5db236e68230f7ac84bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively collect composition from current engine and any sub engines if they exist. <br /></td></tr>
<tr class="separator:a239826d90cb5db236e68230f7ac84bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2947824dca9662e113153de5c6516609" id="r_a2947824dca9662e113153de5c6516609"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1engine.html#a83c9d755597668bba3cf00cd0ea10ee3">gridfire::engine::SpeciesStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2947824dca9662e113153de5c6516609">getSpeciesStatus</a> (const fourdst::atomic::Species &amp;species) const override</td></tr>
<tr class="memdesc:a2947824dca9662e113153de5c6516609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status of a species in the network. <br /></td></tr>
<tr class="separator:a2947824dca9662e113153de5c6516609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75450cd1eee0d9d79b23eafbf452aa02" id="r_a75450cd1eee0d9d79b23eafbf452aa02"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; fourdst::atomic::Species &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a75450cd1eee0d9d79b23eafbf452aa02">getNetworkSpecies</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx) const override</td></tr>
<tr class="memdesc:a75450cd1eee0d9d79b23eafbf452aa02"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_py_dynamic_engine.html">PyDynamicEngine</a> Implementation ///. <br /></td></tr>
<tr class="separator:a75450cd1eee0d9d79b23eafbf452aa02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1331900141bb079e634151abdea075dc" id="r_a1331900141bb079e634151abdea075dc"><td class="memItemLeft" align="right" valign="top">std::expected&lt; <a class="el" href="structgridfire_1_1engine_1_1_step_derivatives.html">gridfire::engine::StepDerivatives</a>&lt; double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1331900141bb079e634151abdea075dc">calculateRHSAndEnergy</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho, bool trust) const override</td></tr>
<tr class="memdesc:a1331900141bb079e634151abdea075dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the right-hand side (dY/dt) and energy generation. <br /></td></tr>
<tr class="separator:a1331900141bb079e634151abdea075dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13b42a3a523e4c14e06820a43f15041b" id="r_a13b42a3a523e4c14e06820a43f15041b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a13b42a3a523e4c14e06820a43f15041b">generateJacobianMatrix</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a13b42a3a523e4c14e06820a43f15041b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the Jacobian matrix for the current state. <br /></td></tr>
<tr class="separator:a13b42a3a523e4c14e06820a43f15041b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2697b43cddeef2aeb40b604a0de933" id="r_a5a2697b43cddeef2aeb40b604a0de933"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a2697b43cddeef2aeb40b604a0de933">generateJacobianMatrix</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho, const std::vector&lt; fourdst::atomic::Species &gt; &amp;activeSpecies) const override</td></tr>
<tr class="memdesc:a5a2697b43cddeef2aeb40b604a0de933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the Jacobian matrix for the current state using a subset of active species. <br /></td></tr>
<tr class="separator:a5a2697b43cddeef2aeb40b604a0de933"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9c4725bfc2cc8c85c63790e2385d55b" id="r_af9c4725bfc2cc8c85c63790e2385d55b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af9c4725bfc2cc8c85c63790e2385d55b">generateJacobianMatrix</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho, const <a class="el" href="namespacegridfire_1_1engine.html#a9de1791ec719c0a9b76b835703336870">gridfire::engine::SparsityPattern</a> &amp;sparsityPattern) const override</td></tr>
<tr class="memdesc:af9c4725bfc2cc8c85c63790e2385d55b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the Jacobian matrix for the current state with a specified sparsity pattern. <br /></td></tr>
<tr class="separator:af9c4725bfc2cc8c85c63790e2385d55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f723f732e9a83c24c1e654885ec7eea" id="r_a2f723f732e9a83c24c1e654885ec7eea"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f723f732e9a83c24c1e654885ec7eea">calculateMolarReactionFlow</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">gridfire::reaction::Reaction</a> &amp;reaction, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a2f723f732e9a83c24c1e654885ec7eea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the molar reaction flow for a given reaction. <br /></td></tr>
<tr class="separator:a2f723f732e9a83c24c1e654885ec7eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78d0b8501591667f8593a929a5439692" id="r_a78d0b8501591667f8593a929a5439692"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">gridfire::reaction::ReactionSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a78d0b8501591667f8593a929a5439692">getNetworkReactions</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx) const override</td></tr>
<tr class="memdesc:a78d0b8501591667f8593a929a5439692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the set of logical reactions in the network. <br /></td></tr>
<tr class="separator:a78d0b8501591667f8593a929a5439692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a688269fb742d37ce15926ced80fa3f70" id="r_a688269fb742d37ce15926ced80fa3f70"><td class="memItemLeft" align="right" valign="top">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a688269fb742d37ce15926ced80fa3f70">getSpeciesTimescales</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a688269fb742d37ce15926ced80fa3f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute timescales for all species in the network. <br /></td></tr>
<tr class="separator:a688269fb742d37ce15926ced80fa3f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5f39c10cfc932d006c08e4bd1c1bcad" id="r_af5f39c10cfc932d006c08e4bd1c1bcad"><td class="memItemLeft" align="right" valign="top">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af5f39c10cfc932d006c08e4bd1c1bcad">getSpeciesDestructionTimescales</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:af5f39c10cfc932d006c08e4bd1c1bcad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute destruction timescales for all species in the network. <br /></td></tr>
<tr class="separator:af5f39c10cfc932d006c08e4bd1c1bcad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe31184ce7e63f7428b4a31ab39e7a8d" id="r_abe31184ce7e63f7428b4a31ab39e7a8d"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abe31184ce7e63f7428b4a31ab39e7a8d">project</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;netIn) const override</td></tr>
<tr class="memdesc:abe31184ce7e63f7428b4a31ab39e7a8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the thread local scratch pad state of a network. <br /></td></tr>
<tr class="separator:abe31184ce7e63f7428b4a31ab39e7a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae36830f13ee730dccc3a5a8b3e4d603c" id="r_ae36830f13ee730dccc3a5a8b3e4d603c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae36830f13ee730dccc3a5a8b3e4d603c">getScreeningModel</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx) const override</td></tr>
<tr class="memdesc:ae36830f13ee730dccc3a5a8b3e4d603c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current electron screening model. <br /></td></tr>
<tr class="separator:ae36830f13ee730dccc3a5a8b3e4d603c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd2f90dc6bd506c2fd92045ba2a9e6cf" id="r_abd2f90dc6bd506c2fd92045ba2a9e6cf"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abd2f90dc6bd506c2fd92045ba2a9e6cf">getSpeciesIndex</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::atomic::Species &amp;species) const override</td></tr>
<tr class="memdesc:abd2f90dc6bd506c2fd92045ba2a9e6cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
<tr class="separator:abd2f90dc6bd506c2fd92045ba2a9e6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25d827397e97c638cd87223684effebc" id="r_a25d827397e97c638cd87223684effebc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html">gridfire::engine::PrimingReport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a25d827397e97c638cd87223684effebc">primeEngine</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;netIn) const override</td></tr>
<tr class="memdesc:a25d827397e97c638cd87223684effebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
<tr class="separator:a25d827397e97c638cd87223684effebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01c0ea8802358c2cbc6d8571a145775a" id="r_a01c0ea8802358c2cbc6d8571a145775a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1_energy_derivatives.html">gridfire::engine::EnergyDerivatives</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a01c0ea8802358c2cbc6d8571a145775a">calculateEpsDerivatives</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a01c0ea8802358c2cbc6d8571a145775a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the derivatives of the energy generation rate with respect to T and rho. <br /></td></tr>
<tr class="separator:a01c0ea8802358c2cbc6d8571a145775a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60445db14a6bfd0eeef7c0a62d458a60" id="r_a60445db14a6bfd0eeef7c0a62d458a60"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a60445db14a6bfd0eeef7c0a62d458a60">collectComposition</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::composition::CompositionAbstract &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a60445db14a6bfd0eeef7c0a62d458a60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively collect composition from current engine and any sub engines if they exist. <br /></td></tr>
<tr class="separator:a60445db14a6bfd0eeef7c0a62d458a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7232a79df901309c8f8b0b78788afe8" id="r_ac7232a79df901309c8f8b0b78788afe8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1engine.html#a83c9d755597668bba3cf00cd0ea10ee3">gridfire::engine::SpeciesStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac7232a79df901309c8f8b0b78788afe8">getSpeciesStatus</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx, const fourdst::atomic::Species &amp;species) const override</td></tr>
<tr class="memdesc:ac7232a79df901309c8f8b0b78788afe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status of a species in the network. <br /></td></tr>
<tr class="separator:ac7232a79df901309c8f8b0b78788afe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6db6bfd45e74517f837c1b83a9919924" id="r_a6db6bfd45e74517f837c1b83a9919924"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="structgridfire_1_1engine_1_1_step_derivatives.html">gridfire::engine::StepDerivatives</a>&lt; double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6db6bfd45e74517f837c1b83a9919924">getMostRecentRHSCalculation</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;ctx) const override</td></tr>
<tr class="separator:a6db6bfd45e74517f837c1b83a9919924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dc693583383d7237b3cede639b41f5f" id="r_a6dc693583383d7237b3cede639b41f5f"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6dc693583383d7237b3cede639b41f5f">constructStateBlob</a> (const <a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> *blob) const override</td></tr>
<tr class="separator:a6dc693583383d7237b3cede639b41f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1_dynamic_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1engine_1_1_dynamic_engine')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html">gridfire::engine::DynamicEngine</a></td></tr>
<tr class="memitem:ac87099ff654ca30a8d8224f4779e1a15 inherit pub_methods_classgridfire_1_1engine_1_1_dynamic_engine" id="r_ac87099ff654ca30a8d8224f4779e1a15"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">reaction::ReactionSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#ac87099ff654ca30a8d8224f4779e1a15">getInactiveNetworkReactions</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">scratch::StateBlob</a> &amp;ctx) const</td></tr>
<tr class="memdesc:ac87099ff654ca30a8d8224f4779e1a15 inherit pub_methods_classgridfire_1_1engine_1_1_dynamic_engine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the set of inactive reactions in the network. <br /></td></tr>
<tr class="separator:ac87099ff654ca30a8d8224f4779e1a15 inherit pub_methods_classgridfire_1_1engine_1_1_dynamic_engine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc0a33fa6e9d8de3b433fef55f3a6972 inherit pub_methods_classgridfire_1_1engine_1_1_dynamic_engine" id="r_adc0a33fa6e9d8de3b433fef55f3a6972"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#adc0a33fa6e9d8de3b433fef55f3a6972">getInactiveReactionMolarReactionFlow</a> (<a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">scratch::StateBlob</a> &amp;ctx, const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &amp;reaction, const fourdst::composition::CompositionAbstract &amp;comp, const double T9, const double rho) const</td></tr>
<tr class="separator:adc0a33fa6e9d8de3b433fef55f3a6972 inherit pub_methods_classgridfire_1_1engine_1_1_dynamic_engine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1engine_1_1_engine')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1_engine.html">gridfire::engine::Engine</a></td></tr>
<tr class="memitem:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1_engine" id="r_af0ea99416c28933d364a872fc6aff556"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_engine.html#af0ea99416c28933d364a872fc6aff556">~Engine</a> ()=default</td></tr>
<tr class="memdesc:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1_engine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
@@ -204,8 +190,8 @@ Private Attributes</h2></td></tr>
<tr class="separator:a2246382b1c98ba69cdb419bba63a6d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6832a7898da51017a20f578e33cba729" name="a6832a7898da51017a20f578e33cba729"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6832a7898da51017a20f578e33cba729">&#9670;&#160;</a></span>calculateEpsDerivatives()</h2>
<a id="a01c0ea8802358c2cbc6d8571a145775a" name="a01c0ea8802358c2cbc6d8571a145775a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01c0ea8802358c2cbc6d8571a145775a">&#9670;&#160;</a></span>calculateEpsDerivatives()</h2>
<div class="memitem">
<div class="memproto">
@@ -216,6 +202,11 @@ Private Attributes</h2></td></tr>
<tr>
<td class="memname"><a class="el" href="structgridfire_1_1engine_1_1_energy_derivatives.html">gridfire::engine::EnergyDerivatives</a> PyDynamicEngine::calculateEpsDerivatives </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -248,12 +239,12 @@ Private Attributes</h2></td></tr>
<dl class="section return"><dt>Returns</dt><dd>EnergyDerivatives containing dEps/dT and dEps/dRho.</dd></dl>
<p>This method computes the partial derivatives of the specific nuclear energy generation rate with respect to temperature and density for the current state. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#ada6a1295a92c2aede841672ecae0cede">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a3fd5d4f3c58d1790b7a517b5ef888eaf">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a8facba88b6df6e016ce53a0ff3cff125" name="a8facba88b6df6e016ce53a0ff3cff125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8facba88b6df6e016ce53a0ff3cff125">&#9670;&#160;</a></span>calculateMolarReactionFlow()</h2>
<a id="a2f723f732e9a83c24c1e654885ec7eea" name="a2f723f732e9a83c24c1e654885ec7eea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f723f732e9a83c24c1e654885ec7eea">&#9670;&#160;</a></span>calculateMolarReactionFlow()</h2>
<div class="memitem">
<div class="memproto">
@@ -264,6 +255,11 @@ Private Attributes</h2></td></tr>
<tr>
<td class="memname">double PyDynamicEngine::calculateMolarReactionFlow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">gridfire::reaction::Reaction</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reaction</em></span>, </td>
</tr>
<tr>
@@ -292,6 +288,7 @@ Private Attributes</h2></td></tr>
<p>Calculate the molar reaction flow for a given reaction. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">reaction</td><td>The reaction for which to calculate the flow. </td></tr>
<tr><td class="paramname">comp</td><td>Composition object containing current abundances. </td></tr>
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
@@ -302,12 +299,12 @@ Private Attributes</h2></td></tr>
<dl class="section return"><dt>Returns</dt><dd>Molar flow rate for the reaction (e.g., mol/g/s).</dd></dl>
<p>This method computes the net rate at which the given reaction proceeds under the current state. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#aa57fa5e58b98a03fba31bcddda8001d4">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#abf0f13b9eae66da6119e6fca826379e8">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="aac1f2005c0a58befc4e01627c9357924" name="aac1f2005c0a58befc4e01627c9357924"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac1f2005c0a58befc4e01627c9357924">&#9670;&#160;</a></span>calculateRHSAndEnergy()</h2>
<a id="a1331900141bb079e634151abdea075dc" name="a1331900141bb079e634151abdea075dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1331900141bb079e634151abdea075dc">&#9670;&#160;</a></span>calculateRHSAndEnergy()</h2>
<div class="memitem">
<div class="memproto">
@@ -318,6 +315,11 @@ Private Attributes</h2></td></tr>
<tr>
<td class="memname">std::expected&lt; <a class="el" href="structgridfire_1_1engine_1_1_step_derivatives.html">gridfire::engine::StepDerivatives</a>&lt; double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt; PyDynamicEngine::calculateRHSAndEnergy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em></em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -328,7 +330,12 @@ Private Attributes</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span>&#160;) const</td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>trust</em></span>&#160;) const</td>
</tr>
</table>
</td>
@@ -344,18 +351,19 @@ Private Attributes</h2></td></tr>
<tr><td class="paramname">comp</td><td>Composition object containing current abundances. </td></tr>
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
<tr><td class="paramname">trust</td><td>If true, indicates that the engine should trust the passed composition has already been collected. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>expected&lt;StepDerivatives&lt;double&gt;&gt; containing either dY/dt and energy generation rate or a stale engine error indicating that the engine must be updated</dd></dl>
<p>This function must be implemented by derived classes to compute the time derivatives of all species and the specific nuclear energy generation rate for the current state. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_engine.html#a764fc091c72c12c8529105d7c96badb2">gridfire::engine::Engine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_engine.html#a71c9ed5e0810799cd6af1d8ffbc8a918">gridfire::engine::Engine</a>.</p>
</div>
</div>
<a id="a239826d90cb5db236e68230f7ac84bcb" name="a239826d90cb5db236e68230f7ac84bcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a239826d90cb5db236e68230f7ac84bcb">&#9670;&#160;</a></span>collectComposition()</h2>
<a id="a60445db14a6bfd0eeef7c0a62d458a60" name="a60445db14a6bfd0eeef7c0a62d458a60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60445db14a6bfd0eeef7c0a62d458a60">&#9670;&#160;</a></span>collectComposition()</h2>
<div class="memitem">
<div class="memproto">
@@ -366,6 +374,11 @@ Private Attributes</h2></td></tr>
<tr>
<td class="memname">fourdst::composition::Composition PyDynamicEngine::collectComposition </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -392,6 +405,7 @@ Private Attributes</h2></td></tr>
These methods return an unfinalized composition which must then be finalized by the caller </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">comp</td><td>Input composition to "normalize". </td></tr>
<tr><td class="paramname">T9</td><td></td></tr>
<tr><td class="paramname">rho</td><td></td></tr>
@@ -400,12 +414,39 @@ These methods return an unfinalized composition which must then be finalized by
</dl>
<dl class="section return"><dt>Returns</dt><dd>An updated composition which is a superset of comp. This may contain species which were culled, for example, by either QSE partitioning or reaction flow rate culling </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a41877719ae5e8de53c1692c7cf9bfbfc">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a078a16d21f2d7de9636c5bc6a05ddfec">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a298f700c647d2c3973d2a35d370c823e" name="a298f700c647d2c3973d2a35d370c823e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a298f700c647d2c3973d2a35d370c823e">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[1/3]</span></h2>
<a id="a6dc693583383d7237b3cede639b41f5f" name="a6dc693583383d7237b3cede639b41f5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dc693583383d7237b3cede639b41f5f">&#9670;&#160;</a></span>constructStateBlob()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt; <a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &gt; PyDynamicEngine::constructStateBlob </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> *</td> <td class="paramname"><span class="paramname"><em>blob</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a675024091dc64f8784204a78bab46d90">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a13b42a3a523e4c14e06820a43f15041b" name="a13b42a3a523e4c14e06820a43f15041b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13b42a3a523e4c14e06820a43f15041b">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -416,6 +457,11 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a> PyDynamicEngine::generateJacobianMatrix </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -439,6 +485,7 @@ These methods return an unfinalized composition which must then be finalized by
<p>Generate the Jacobian matrix for the current state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">comp</td><td>Composition object containing current abundances. </td></tr>
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>Density in g/cm^3.</td></tr>
@@ -447,12 +494,12 @@ These methods return an unfinalized composition which must then be finalized by
</dl>
<p>This method must compute and store the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state. The matrix can then be accessed via getJacobianMatrixEntry(). </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a53276f09346b531f8676db355e1219eb">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#ab6d95491f017feb4c43d9fa05739fcd0">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a204643754cac3cf37c550ecd32f659fe" name="a204643754cac3cf37c550ecd32f659fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a204643754cac3cf37c550ecd32f659fe">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[2/3]</span></h2>
<a id="af9c4725bfc2cc8c85c63790e2385d55b" name="af9c4725bfc2cc8c85c63790e2385d55b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9c4725bfc2cc8c85c63790e2385d55b">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -463,6 +510,11 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a> PyDynamicEngine::generateJacobianMatrix </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -491,6 +543,7 @@ These methods return an unfinalized composition which must then be finalized by
<p>Generate the Jacobian matrix for the current state with a specified sparsity pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>Get the scratchpad context for the current state. </td></tr>
<tr><td class="paramname">comp</td><td>Composition object containing current abundances. </td></tr>
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
@@ -501,12 +554,12 @@ These methods return an unfinalized composition which must then be finalized by
<p>This method must compute and store the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state using automatic differentiation, taking into account the provided sparsity pattern. The matrix can then be accessed via <code>getJacobianMatrixEntry()</code>.</p>
<dl class="section see"><dt>See also</dt><dd>getJacobianMatrixEntry() </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a51d55a21be28e372021b2b8e5ecdc551">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a78f7b315bfa0a1f34d8fd5ab652b6934">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a2b1c054b250abccc2af9a7275c68df4a" name="a2b1c054b250abccc2af9a7275c68df4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b1c054b250abccc2af9a7275c68df4a">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[3/3]</span></h2>
<a id="a5a2697b43cddeef2aeb40b604a0de933" name="a5a2697b43cddeef2aeb40b604a0de933"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a2697b43cddeef2aeb40b604a0de933">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -517,6 +570,11 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">gridfire::engine::NetworkJacobian</a> PyDynamicEngine::generateJacobianMatrix </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -545,6 +603,7 @@ These methods return an unfinalized composition which must then be finalized by
<p>Generate the Jacobian matrix for the current state using a subset of active species. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">comp</td><td>Composition object containing current abundances. </td></tr>
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
@@ -554,12 +613,12 @@ These methods return an unfinalized composition which must then be finalized by
</dl>
<p>This method must compute and store the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state, considering only the specified subset of active species. The matrix can then be accessed via getJacobianMatrixEntry(). </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a15d53dac8b622a3b7d0f928a3995dbde">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a983551b5fef4610799c062cb5be2b1c7">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a2066649ca11a869c054079ea12d8d0e9" name="a2066649ca11a869c054079ea12d8d0e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2066649ca11a869c054079ea12d8d0e9">&#9670;&#160;</a></span>generateStoichiometryMatrix()</h2>
<a id="a6db6bfd45e74517f837c1b83a9919924" name="a6db6bfd45e74517f837c1b83a9919924"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6db6bfd45e74517f837c1b83a9919924">&#9670;&#160;</a></span>getMostRecentRHSCalculation()</h2>
<div class="memitem">
<div class="memproto">
@@ -568,10 +627,10 @@ These methods return an unfinalized composition which must then be finalized by
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PyDynamicEngine::generateStoichiometryMatrix </td>
<td class="memname">std::optional&lt; <a class="el" href="structgridfire_1_1engine_1_1_step_derivatives.html">gridfire::engine::StepDerivatives</a>&lt; double &gt; &gt; PyDynamicEngine::getMostRecentRHSCalculation </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
@@ -581,46 +640,12 @@ These methods return an unfinalized composition which must then be finalized by
</table>
</div><div class="memdoc">
<p>Generate the stoichiometry matrix for the network. </p>
<p>This method must compute and store the stoichiometry matrix, which encodes the net change of each species in each reaction. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a5e2c45a3e415b53e41def8f743f93464">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a30cc7809d53540bd3407d971de8eec48">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a541cf022fe3253279f8f1309c10556d7" name="a541cf022fe3253279f8f1309c10556d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a541cf022fe3253279f8f1309c10556d7">&#9670;&#160;</a></span>getDepth()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacegridfire_1_1engine.html#a55cd7c313bbfafd5b6a1bcd6329ed99b">gridfire::engine::BuildDepthType</a> PyDynamicEngine::getDepth </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the depth of the network. </p>
<dl class="section return"><dt>Returns</dt><dd>The depth of the network, which may indicate the level of detail or complexity in the reaction network.</dd></dl>
<p>This method is intended to provide information about the network's structure, such as how many layers of reactions or species are present. It can be useful for diagnostics and understanding the network's complexity. </p>
<p>Reimplemented from <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#ac5a0def6b6af0bd93bf9057c25f048ff">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a1d5143640666631501cf229bc491516e" name="a1d5143640666631501cf229bc491516e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d5143640666631501cf229bc491516e">&#9670;&#160;</a></span>getNetworkReactions()</h2>
<a id="a78d0b8501591667f8593a929a5439692" name="a78d0b8501591667f8593a929a5439692"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78d0b8501591667f8593a929a5439692">&#9670;&#160;</a></span>getNetworkReactions()</h2>
<div class="memitem">
<div class="memproto">
@@ -631,7 +656,7 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">gridfire::reaction::ReactionSet</a> &amp; PyDynamicEngine::getNetworkReactions </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
@@ -645,12 +670,12 @@ These methods return an unfinalized composition which must then be finalized by
<p>Get the set of logical reactions in the network. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to the LogicalReactionSet containing all reactions. </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a26b59a4c7622bf820c0eeec6a7522aa8">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a77a889cbc3791beca4abb95cb663a4d6">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="afc745e7ab5da5d8b3cf916044515cd7d" name="afc745e7ab5da5d8b3cf916044515cd7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc745e7ab5da5d8b3cf916044515cd7d">&#9670;&#160;</a></span>getNetworkSpecies()</h2>
<a id="a75450cd1eee0d9d79b23eafbf452aa02" name="a75450cd1eee0d9d79b23eafbf452aa02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75450cd1eee0d9d79b23eafbf452aa02">&#9670;&#160;</a></span>getNetworkSpecies()</h2>
<div class="memitem">
<div class="memproto">
@@ -661,7 +686,7 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname">const std::vector&lt; fourdst::atomic::Species &gt; &amp; PyDynamicEngine::getNetworkSpecies </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
@@ -674,12 +699,12 @@ These methods return an unfinalized composition which must then be finalized by
<p><a class="el" href="class_py_dynamic_engine.html">PyDynamicEngine</a> Implementation ///. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_engine.html#a3263c3fde2509d5d8ec4da3b6e946c48">gridfire::engine::Engine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_engine.html#afa8b1970e20f4bab61e4d31ead09f930">gridfire::engine::Engine</a>.</p>
</div>
</div>
<a id="ab4cfdca5e15957c5cef75ffa6dedeee5" name="ab4cfdca5e15957c5cef75ffa6dedeee5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4cfdca5e15957c5cef75ffa6dedeee5">&#9670;&#160;</a></span>getScreeningModel()</h2>
<a id="ae36830f13ee730dccc3a5a8b3e4d603c" name="ae36830f13ee730dccc3a5a8b3e4d603c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae36830f13ee730dccc3a5a8b3e4d603c">&#9670;&#160;</a></span>getScreeningModel()</h2>
<div class="memitem">
<div class="memproto">
@@ -690,7 +715,7 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a> PyDynamicEngine::getScreeningModel </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
@@ -702,16 +727,22 @@ These methods return an unfinalized composition which must then be finalized by
</div><div class="memdoc">
<p>Get the current electron screening model. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The currently active screening model type.</dd></dl>
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line">screening::ScreeningType currentModel = myEngine.getScreeningModel();</div>
</div><!-- fragment --> </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a24103027a38e02d4342161164554d332">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a60834e4bcfb2e4ec21a9cbf7bb9f7363">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a8d34faa3d6ea804a3467979858d33535" name="a8d34faa3d6ea804a3467979858d33535"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d34faa3d6ea804a3467979858d33535">&#9670;&#160;</a></span>getSpeciesDestructionTimescales()</h2>
<a id="af5f39c10cfc932d006c08e4bd1c1bcad" name="af5f39c10cfc932d006c08e4bd1c1bcad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5f39c10cfc932d006c08e4bd1c1bcad">&#9670;&#160;</a></span>getSpeciesDestructionTimescales()</h2>
<div class="memitem">
<div class="memproto">
@@ -722,6 +753,11 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt; PyDynamicEngine::getSpeciesDestructionTimescales </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -745,6 +781,7 @@ These methods return an unfinalized composition which must then be finalized by
<p>Compute destruction timescales for all species in the network. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">comp</td><td>Composition object containing current abundances. </td></tr>
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
@@ -754,12 +791,12 @@ These methods return an unfinalized composition which must then be finalized by
<dl class="section return"><dt>Returns</dt><dd>Map from Species to their destruction timescales (s).</dd></dl>
<p>This method estimates the destruction timescale for each species, which can be useful for understanding reaction flows and equilibrium states. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#aefc5d0f7842b27a108ba1e4ca346e9a0">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a128dd0a7f738f93092c437eeda983fdf">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a95d10a7b240d543a1bc6c67ddf2dc8e0" name="a95d10a7b240d543a1bc6c67ddf2dc8e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95d10a7b240d543a1bc6c67ddf2dc8e0">&#9670;&#160;</a></span>getSpeciesIndex()</h2>
<a id="abd2f90dc6bd506c2fd92045ba2a9e6cf" name="abd2f90dc6bd506c2fd92045ba2a9e6cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd2f90dc6bd506c2fd92045ba2a9e6cf">&#9670;&#160;</a></span>getSpeciesIndex()</h2>
<div class="memitem">
<div class="memproto">
@@ -770,8 +807,12 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname">size_t PyDynamicEngine::getSpeciesIndex </td>
<td>(</td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
<td> const</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>species</em></span>&#160;) const</td>
</tr>
</table>
</td>
@@ -784,18 +825,19 @@ These methods return an unfinalized composition which must then be finalized by
<p>Get the index of a species in the network. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">species</td><td>The species to look up.</td></tr>
</table>
</dd>
</dl>
<p>This method allows querying the index of a specific species in the engine's internal representation. It is useful for accessing species data efficiently. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#ac0f40017603e8e6887b75dc7360d7c5e">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a16bd2fae51fa738da62f2a767f6875d2">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a2947824dca9662e113153de5c6516609" name="a2947824dca9662e113153de5c6516609"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2947824dca9662e113153de5c6516609">&#9670;&#160;</a></span>getSpeciesStatus()</h2>
<a id="ac7232a79df901309c8f8b0b78788afe8" name="ac7232a79df901309c8f8b0b78788afe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7232a79df901309c8f8b0b78788afe8">&#9670;&#160;</a></span>getSpeciesStatus()</h2>
<div class="memitem">
<div class="memproto">
@@ -806,8 +848,12 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname"><a class="el" href="namespacegridfire_1_1engine.html#a83c9d755597668bba3cf00cd0ea10ee3">gridfire::engine::SpeciesStatus</a> PyDynamicEngine::getSpeciesStatus </td>
<td>(</td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
<td> const</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>species</em></span>&#160;) const</td>
</tr>
</table>
</td>
@@ -827,12 +873,12 @@ These methods return an unfinalized composition which must then be finalized by
<dl class="section return"><dt>Returns</dt><dd>SpeciesStatus indicating whether the species is active, inactive, or culled.</dd></dl>
<p>This method allows querying the current status of a specific species within the engine's network. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a8aebefad50c1aa34207e118e92d7ccf0">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a1fefd34491959f9936b7a065fc2d6274">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a71678a567bb0cedd8a97aff9ceddd814" name="a71678a567bb0cedd8a97aff9ceddd814"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71678a567bb0cedd8a97aff9ceddd814">&#9670;&#160;</a></span>getSpeciesTimescales()</h2>
<a id="a688269fb742d37ce15926ced80fa3f70" name="a688269fb742d37ce15926ced80fa3f70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a688269fb742d37ce15926ced80fa3f70">&#9670;&#160;</a></span>getSpeciesTimescales()</h2>
<div class="memitem">
<div class="memproto">
@@ -843,6 +889,11 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a> &gt; PyDynamicEngine::getSpeciesTimescales </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
@@ -875,133 +926,12 @@ These methods return an unfinalized composition which must then be finalized by
<dl class="section return"><dt>Returns</dt><dd>Map from Species to their characteristic timescales (s).</dd></dl>
<p>This method estimates the timescale for abundance change of each species, which can be used for timestep control, diagnostics, and reaction network culling. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#aef6ed91d922c0b1733fd7835e99d0efe">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a92be21f072b61fcf291559246045801f">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a3dd5cf419f25e76e144af35df15a2067" name="a3dd5cf419f25e76e144af35df15a2067"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dd5cf419f25e76e144af35df15a2067">&#9670;&#160;</a></span>getStoichiometryMatrixEntry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int PyDynamicEngine::getStoichiometryMatrixEntry </td>
<td>(</td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>species</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">gridfire::reaction::Reaction</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reaction</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an entry from the stoichiometry matrix. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">species</td><td>species to look up stoichiometry for. </td></tr>
<tr><td class="paramname">reaction</td><td>reaction to find </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Stoichiometric coefficient for the species in the reaction.</dd></dl>
<p>The stoichiometry matrix must have been generated by <a class="el" href="#a2066649ca11a869c054079ea12d8d0e9" title="Generate the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a>. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a5ce6ff370e3f0964c6b2688fb3f4bb7e">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a55bf19ed7534a312a36faf74753f7b14" name="a55bf19ed7534a312a36faf74753f7b14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55bf19ed7534a312a36faf74753f7b14">&#9670;&#160;</a></span>isStale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PyDynamicEngine::isStale </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the engine's internal state is stale. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">netIn</td><td>A struct containing the current network input, such as temperature, density, and composition. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the engine's state is stale and needs to be updated; false otherwise.</dd></dl>
<p>This method allows derived classes to determine if their internal state is out-of-date with respect to the provided network conditions. If the engine is stale, it may require a call to <code><a class="el" href="#af8e6a8cd44f278535d7bcc9a896d6da8" title="Update the internal state of the engine.">update()</a></code> before performing calculations.</p>
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line">NetIn input = { ... };</div>
<div class="line"><span class="keywordflow">if</span> (myEngine.isStale(input)) {</div>
<div class="line"> <span class="comment">// Update the engine before proceeding</span></div>
<div class="line">}</div>
</div><!-- fragment --> </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a79423b9f67b4cac702547b4f1d8bd14c">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a61bb4b430fe740cfb2c24e5cc673e4ac" name="a61bb4b430fe740cfb2c24e5cc673e4ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61bb4b430fe740cfb2c24e5cc673e4ac">&#9670;&#160;</a></span>mapNetInToMolarAbundanceVector()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; double &gt; PyDynamicEngine::mapNetInToMolarAbundanceVector </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Map a NetIn object to a vector of molar abundances. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances corresponding to the species in the network.</dd></dl>
<p>This method converts the input conditions into a vector of molar abundances, which can be used for further calculations or diagnostics. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#aa9d55b81c1963113aad86aa60c19676f">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a6118af81e45d2850f7a2517891147274" name="a6118af81e45d2850f7a2517891147274"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6118af81e45d2850f7a2517891147274">&#9670;&#160;</a></span>primeEngine()</h2>
<a id="a25d827397e97c638cd87223684effebc" name="a25d827397e97c638cd87223684effebc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25d827397e97c638cd87223684effebc">&#9670;&#160;</a></span>primeEngine()</h2>
<div class="memitem">
<div class="memproto">
@@ -1012,8 +942,12 @@ These methods return an unfinalized composition which must then be finalized by
<tr>
<td class="memname"><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html">gridfire::engine::PrimingReport</a> PyDynamicEngine::primeEngine </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>netIn</em></span>&#160;) const</td>
</tr>
</table>
</td>
@@ -1026,6 +960,7 @@ These methods return an unfinalized composition which must then be finalized by
<p>Prime the engine with initial conditions. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
</table>
</dd>
@@ -1033,12 +968,12 @@ These methods return an unfinalized composition which must then be finalized by
<dl class="section return"><dt>Returns</dt><dd>PrimingReport containing information about the priming process.</dd></dl>
<p>This method is used to prepare the engine for calculations by setting up initial conditions, reactions, and species. It may involve compiling reaction rates, initializing internal data structures, and performing any necessary pre-computation. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a70e270bb50910c0055a75575c1ef1e95">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a30df09678c3de1a55b7c6ac5eae35004">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="a25e52496b36d731127603c31e9dcaa97" name="a25e52496b36d731127603c31e9dcaa97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25e52496b36d731127603c31e9dcaa97">&#9670;&#160;</a></span>rebuild()</h2>
<a id="abe31184ce7e63f7428b4a31ab39e7a8d" name="abe31184ce7e63f7428b4a31ab39e7a8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe31184ce7e63f7428b4a31ab39e7a8d">&#9670;&#160;</a></span>project()</h2>
<div class="memitem">
<div class="memproto">
@@ -1047,51 +982,14 @@ These methods return an unfinalized composition which must then be finalized by
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PyDynamicEngine::rebuild </td>
<td class="memname">fourdst::composition::Composition PyDynamicEngine::project </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1scratch_1_1_state_blob.html">gridfire::engine::scratch::StateBlob</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacegridfire_1_1engine.html#a55cd7c313bbfafd5b6a1bcd6329ed99b">gridfire::engine::BuildDepthType</a></td> <td class="paramname"><span class="paramname"><em>depth</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Rebuild the network with a specified depth. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">comp</td><td>The composition to rebuild the network with. </td></tr>
<tr><td class="paramname">depth</td><td>The desired depth of the network.</td></tr>
</table>
</dd>
</dl>
<p>This method is intended to allow dynamic adjustment of the network's depth, which may involve adding or removing species and reactions based on the specified depth. However, not all engines support this operation. </p>
<p>Reimplemented from <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a2444b9ed3bc61920ce23c546444269e4">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="af469cba3be850d53f659ec173f0eb4e4" name="af469cba3be850d53f659ec173f0eb4e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af469cba3be850d53f659ec173f0eb4e4">&#9670;&#160;</a></span>setNetworkReactions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PyDynamicEngine::setNetworkReactions </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">gridfire::reaction::ReactionSet</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reactions</em></span></td><td>)</td>
<td></td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>netIn</em></span>&#160;) const</td>
</tr>
</table>
</td>
@@ -1101,84 +999,10 @@ These methods return an unfinalized composition which must then be finalized by
</table>
</div><div class="memdoc">
<p>Set the reactions for the network. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reactions</td><td>The set of reactions to use in the network.</td></tr>
</table>
</dd>
</dl>
<p>This method replaces the current set of reactions in the network with the provided set. It marks the engine as stale, requiring regeneration of matrices and recalculation of rates. </p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#ab321170954bffc53b1bedaf54f6976be">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="afa3abfd612033336a656f092721c14ac" name="afa3abfd612033336a656f092721c14ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa3abfd612033336a656f092721c14ac">&#9670;&#160;</a></span>setScreeningModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PyDynamicEngine::setScreeningModel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a></td> <td class="paramname"><span class="paramname"><em>model</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the electron screening model. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">model</td><td>The type of screening model to use for reaction rate calculations.</td></tr>
</table>
</dd>
</dl>
<p>This method allows changing the screening model at runtime. Screening corrections account for the electrostatic shielding of nuclei by electrons, which affects reaction rates in dense stellar plasmas.</p>
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line">myEngine.setScreeningModel(screening::ScreeningType::WEAK);</div>
</div><!-- fragment --></dd></dl>
<dl class="section post"><dt>Postcondition</dt><dd>The engine will use the specified screening model for subsequent rate calculations. </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a50e76977d0dc3cc23d52b51842d35003">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>
<a id="af8e6a8cd44f278535d7bcc9a896d6da8" name="af8e6a8cd44f278535d7bcc9a896d6da8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8e6a8cd44f278535d7bcc9a896d6da8">&#9670;&#160;</a></span>update()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">fourdst::composition::Composition PyDynamicEngine::update </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the internal state of the engine. </p>
<p>Update the thread local scratch pad state of a network. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The scratchpad context for the current state. </td></tr>
<tr><td class="paramname">netIn</td><td>A struct containing the current network input, such as temperature, density, and composition.</td></tr>
</table>
</dd>
@@ -1189,7 +1013,7 @@ These methods return an unfinalized composition which must then be finalized by
</div><!-- fragment --></dd></dl>
<dl class="section post"><dt>Postcondition</dt><dd>The internal state of the engine is updated to reflect the new conditions. </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a8dd85442ec54f20d91743c72364e36ff">gridfire::engine::DynamicEngine</a>.</p>
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html#a260d36cc1e14ca8eda0309745e9134d9">gridfire::engine::DynamicEngine</a>.</p>
</div>
</div>