Files
GridFire/docs/html/classgridfire_1_1_defined_engine_view.html

1708 lines
97 KiB
HTML
Raw Normal View History

2025-07-24 11:10:45 -04:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GridFire: gridfire::DefinedEngineView Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
2025-11-04 14:04:26 -05:00
<div id="projectname">GridFire<span id="projectnumber">&#160;v0.7.0-alpha</span>
2025-07-24 11:10:45 -04:00
</div>
<div id="projectbrief">General Purpose Nuclear Network</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classgridfire_1_1_defined_engine_view.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgridfire_1_1_defined_engine_view-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">gridfire::DefinedEngineView Class Reference</div></div>
</div><!--header-->
<div class="contents">
2025-07-31 10:54:31 -04:00
<p><code>#include &lt;engine_defined.h&gt;</code></p>
2025-07-24 11:10:45 -04:00
<div class="dynheader">
Inheritance diagram for gridfire::DefinedEngineView:</div>
<div class="dyncontent">
<div class="center">
<img src="classgridfire_1_1_defined_engine_view.png" usemap="#gridfire::DefinedEngineView_map" alt=""/>
<map id="gridfire::DefinedEngineView_map" name="gridfire::DefinedEngineView_map">
<area href="classgridfire_1_1_dynamic_engine.html" title="Abstract class for engines supporting Jacobian and stoichiometry operations." alt="gridfire::DynamicEngine" shape="rect" coords="0,56,238,80"/>
<area href="classgridfire_1_1_engine_view.html" alt="gridfire::EngineView&lt; DynamicEngine &gt;" shape="rect" coords="248,56,486,80"/>
<area href="classgridfire_1_1_engine.html" title="Abstract base class for a reaction network engine." alt="gridfire::Engine" shape="rect" coords="0,0,238,24"/>
<area href="classgridfire_1_1_file_defined_engine_view.html" alt="gridfire::FileDefinedEngineView" shape="rect" coords="0,168,238,192"/>
<area href="classgridfire_1_1_network_priming_engine_view.html" title="Provides a view of a DynamicEngine filtered to reactions involving a specified priming species." alt="gridfire::NetworkPrimingEngineView" shape="rect" coords="248,168,486,192"/>
</map>
</div></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>
2025-11-04 14:04:26 -05:00
<tr class="memitem:a365d3bf2da974c937267bddb07cf2bef" id="r_a365d3bf2da974c937267bddb07cf2bef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a365d3bf2da974c937267bddb07cf2bef">DefinedEngineView</a> (const std::vector&lt; std::string &gt; &amp;peNames, <a class="el" href="classgridfire_1_1_graph_engine.html">GraphEngine</a> &amp;baseEngine)</td></tr>
<tr class="separator:a365d3bf2da974c937267bddb07cf2bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-07-24 11:10:45 -04:00
<tr class="memitem:a69b9a5812ad8bda13f956acd0da24484" id="r_a69b9a5812ad8bda13f956acd0da24484"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a69b9a5812ad8bda13f956acd0da24484">getBaseEngine</a> () const override</td></tr>
2025-11-04 14:04:26 -05:00
<tr class="memdesc:a69b9a5812ad8bda13f956acd0da24484"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the base engine associated with this defined engine view. <br /></td></tr>
2025-07-24 11:10:45 -04:00
<tr class="separator:a69b9a5812ad8bda13f956acd0da24484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a55f9748c45af6f13e16a6b6ceaa211" id="r_a1a55f9748c45af6f13e16a6b6ceaa211"><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="#a1a55f9748c45af6f13e16a6b6ceaa211">getNetworkSpecies</a> () const override</td></tr>
<tr class="memdesc:a1a55f9748c45af6f13e16a6b6ceaa211"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the list of active species in the network defined by the file. <br /></td></tr>
<tr class="separator:a1a55f9748c45af6f13e16a6b6ceaa211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af273b29d7700cdc34da6e2712fffc5c2" id="r_af273b29d7700cdc34da6e2712fffc5c2"><td class="memItemLeft" align="right" valign="top">std::expected&lt; <a class="el" href="structgridfire_1_1_step_derivatives.html">StepDerivatives</a>&lt; double &gt;, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af273b29d7700cdc34da6e2712fffc5c2">calculateRHSAndEnergy</a> (const fourdst::composition::Composition &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:af273b29d7700cdc34da6e2712fffc5c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the right-hand side (dY/dt) and energy generation for the active species. <br /></td></tr>
<tr class="separator:af273b29d7700cdc34da6e2712fffc5c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06aca977aafb4784fd167acb8c02dda2" id="r_a06aca977aafb4784fd167acb8c02dda2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_energy_derivatives.html">EnergyDerivatives</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a06aca977aafb4784fd167acb8c02dda2">calculateEpsDerivatives</a> (const fourdst::composition::Composition &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a06aca977aafb4784fd167acb8c02dda2"><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:a06aca977aafb4784fd167acb8c02dda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-11-04 14:04:26 -05:00
<tr class="memitem:a0b38e584912f9df9cee5a77752e85492" id="r_a0b38e584912f9df9cee5a77752e85492"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0b38e584912f9df9cee5a77752e85492">generateJacobianMatrix</a> (const fourdst::composition::Composition &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a0b38e584912f9df9cee5a77752e85492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates the Jacobian matrix for the active species. <br /></td></tr>
<tr class="separator:a0b38e584912f9df9cee5a77752e85492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09613471ccc5169ce8525c2bef88a59b" id="r_a09613471ccc5169ce8525c2bef88a59b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a09613471ccc5169ce8525c2bef88a59b">generateJacobianMatrix</a> (const fourdst::composition::Composition &amp;comp, double T9, double rho, const std::vector&lt; fourdst::atomic::Species &gt; &amp;activeSpecies) const override</td></tr>
<tr class="memdesc:a09613471ccc5169ce8525c2bef88a59b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates the Jacobian matrix for the active species. <br /></td></tr>
<tr class="separator:a09613471ccc5169ce8525c2bef88a59b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c502d447134260086558ce83336cda9" id="r_a2c502d447134260086558ce83336cda9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2c502d447134260086558ce83336cda9">generateJacobianMatrix</a> (const fourdst::composition::Composition &amp;comp, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &amp;sparsityPattern) const override</td></tr>
<tr class="memdesc:a2c502d447134260086558ce83336cda9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates the Jacobian matrix for a given sparsity pattern. <br /></td></tr>
<tr class="separator:a2c502d447134260086558ce83336cda9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa49532266ff959ac66f501336f102ce8" id="r_aa49532266ff959ac66f501336f102ce8"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa49532266ff959ac66f501336f102ce8">getJacobianMatrixEntry</a> (const fourdst::atomic::Species &amp;rowSpecies, const fourdst::atomic::Species &amp;colSpecies) const override</td></tr>
<tr class="memdesc:aa49532266ff959ac66f501336f102ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an entry from the Jacobian matrix for the active species. <br /></td></tr>
<tr class="separator:aa49532266ff959ac66f501336f102ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-07-24 11:10:45 -04:00
<tr class="memitem:ad07221be49ae1b5133c5b987dafac3b6" id="r_ad07221be49ae1b5133c5b987dafac3b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad07221be49ae1b5133c5b987dafac3b6">generateStoichiometryMatrix</a> () override</td></tr>
<tr class="memdesc:ad07221be49ae1b5133c5b987dafac3b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates the stoichiometry matrix for the active reactions and species. <br /></td></tr>
<tr class="separator:ad07221be49ae1b5133c5b987dafac3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1843cfd2a95bfa46ab40d4c4de11ef9" id="r_af1843cfd2a95bfa46ab40d4c4de11ef9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af1843cfd2a95bfa46ab40d4c4de11ef9">getStoichiometryMatrixEntry</a> (const fourdst::atomic::Species &amp;species, const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &amp;reaction) const override</td></tr>
<tr class="memdesc:af1843cfd2a95bfa46ab40d4c4de11ef9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an entry from the stoichiometry matrix for the active species and reactions. <br /></td></tr>
<tr class="separator:af1843cfd2a95bfa46ab40d4c4de11ef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74298377d0432ae3d577be0e9e6052b3" id="r_a74298377d0432ae3d577be0e9e6052b3"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a74298377d0432ae3d577be0e9e6052b3">calculateMolarReactionFlow</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &amp;reaction, const fourdst::composition::Composition &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a74298377d0432ae3d577be0e9e6052b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the molar reaction flow for a given reaction in the active network. <br /></td></tr>
<tr class="separator:a74298377d0432ae3d577be0e9e6052b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f9db5a9287aa03b2fa4d516e9a576b6" id="r_a5f9db5a9287aa03b2fa4d516e9a576b6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">reaction::ReactionSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f9db5a9287aa03b2fa4d516e9a576b6">getNetworkReactions</a> () const override</td></tr>
<tr class="memdesc:a5f9db5a9287aa03b2fa4d516e9a576b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the set of active logical reactions in the network. <br /></td></tr>
<tr class="separator:a5f9db5a9287aa03b2fa4d516e9a576b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a655e74357cce822c4508069a3bcac2c9" id="r_a655e74357cce822c4508069a3bcac2c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a655e74357cce822c4508069a3bcac2c9">setNetworkReactions</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">reaction::ReactionSet</a> &amp;reactions) override</td></tr>
<tr class="separator:a655e74357cce822c4508069a3bcac2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18f46d92ea7e04068ad9e7af4ed605a8" id="r_a18f46d92ea7e04068ad9e7af4ed605a8"><td class="memItemLeft" align="right" valign="top">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a18f46d92ea7e04068ad9e7af4ed605a8">getSpeciesTimescales</a> (const fourdst::composition::Composition &amp;comp, double T9, double rho) const override</td></tr>
<tr class="memdesc:a18f46d92ea7e04068ad9e7af4ed605a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes timescales for all active species in the network. <br /></td></tr>
<tr class="separator:a18f46d92ea7e04068ad9e7af4ed605a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-11-04 14:04:26 -05:00
<tr class="memitem:ad51ef1984f92856b6d4c522e56e8d6a6" id="r_ad51ef1984f92856b6d4c522e56e8d6a6"><td class="memItemLeft" align="right" valign="top">std::expected&lt; std::unordered_map&lt; fourdst::atomic::Species, double &gt;, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad51ef1984f92856b6d4c522e56e8d6a6">getSpeciesDestructionTimescales</a> (const fourdst::composition::Composition &amp;comp, double T9, double rho) const override</td></tr>
<tr class="separator:ad51ef1984f92856b6d4c522e56e8d6a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-07-24 11:10:45 -04:00
<tr class="memitem:ae5762f395caea5381ec177507816b5ae" id="r_ae5762f395caea5381ec177507816b5ae"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5762f395caea5381ec177507816b5ae">update</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &amp;netIn) override</td></tr>
<tr class="memdesc:ae5762f395caea5381ec177507816b5ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the engine view if it is marked as stale. <br /></td></tr>
<tr class="separator:ae5762f395caea5381ec177507816b5ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9e738dd28efb4d6127de7379169c87" id="r_a7d9e738dd28efb4d6127de7379169c87"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d9e738dd28efb4d6127de7379169c87">isStale</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &amp;netIn) override</td></tr>
<tr class="separator:a7d9e738dd28efb4d6127de7379169c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf2da57c83c3c4c635cb301f53088258" id="r_abf2da57c83c3c4c635cb301f53088258"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abf2da57c83c3c4c635cb301f53088258">setScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> model) override</td></tr>
<tr class="memdesc:abf2da57c83c3c4c635cb301f53088258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the screening model for the base engine. <br /></td></tr>
<tr class="separator:abf2da57c83c3c4c635cb301f53088258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c657b82a0117118a4bb0ce7f624ae0c" id="r_a3c657b82a0117118a4bb0ce7f624ae0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c657b82a0117118a4bb0ce7f624ae0c">getScreeningModel</a> () const override</td></tr>
<tr class="memdesc:a3c657b82a0117118a4bb0ce7f624ae0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the screening model from the base engine. <br /></td></tr>
<tr class="separator:a3c657b82a0117118a4bb0ce7f624ae0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3b355ffcda6a8f2841184cc56e3761a" id="r_af3b355ffcda6a8f2841184cc56e3761a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af3b355ffcda6a8f2841184cc56e3761a">getSpeciesIndex</a> (const fourdst::atomic::Species &amp;species) const override</td></tr>
<tr class="memdesc:af3b355ffcda6a8f2841184cc56e3761a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
<tr class="separator:af3b355ffcda6a8f2841184cc56e3761a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-07-24 11:10:45 -04:00
<tr class="memitem:a72789c1c3379594b65b560da50192de2" id="r_a72789c1c3379594b65b560da50192de2"><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a72789c1c3379594b65b560da50192de2">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &amp;netIn) const override</td></tr>
<tr class="memdesc:a72789c1c3379594b65b560da50192de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br /></td></tr>
2025-07-24 11:10:45 -04:00
<tr class="separator:a72789c1c3379594b65b560da50192de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13033abd3b44904f98b58c93e22da460" id="r_a13033abd3b44904f98b58c93e22da460"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a13033abd3b44904f98b58c93e22da460">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &amp;netIn) override</td></tr>
<tr class="memdesc:a13033abd3b44904f98b58c93e22da460"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
2025-07-24 11:10:45 -04:00
<tr class="separator:a13033abd3b44904f98b58c93e22da460"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-11-04 14:04:26 -05:00
<tr class="memitem:aefd36cae5c263cba12a0c177e70b409a" id="r_aefd36cae5c263cba12a0c177e70b409a"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aefd36cae5c263cba12a0c177e70b409a">collectComposition</a> (fourdst::composition::Composition &amp;comp) const override</td></tr>
<tr class="memdesc:aefd36cae5c263cba12a0c177e70b409a"><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:aefd36cae5c263cba12a0c177e70b409a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-07-24 11:10:45 -04:00
<tr class="inherit_header pub_methods_classgridfire_1_1_dynamic_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_dynamic_engine')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></td></tr>
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
<tr class="memdesc:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
2025-07-24 11:10:45 -04:00
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &amp;comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
<tr class="memdesc:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
2025-07-24 11:10:45 -04:00
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
<tr class="memdesc:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgridfire_1_1_engine_view"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine_view')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine_view.html">gridfire::EngineView&lt; DynamicEngine &gt;</a></td></tr>
<tr class="memitem:a994660f2d553f3a123512dc5eb421e74 inherit pub_methods_classgridfire_1_1_engine_view" id="r_a994660f2d553f3a123512dc5eb421e74"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine_view.html#a994660f2d553f3a123512dc5eb421e74">~EngineView</a> ()=default</td></tr>
<tr class="memdesc:a994660f2d553f3a123512dc5eb421e74 inherit pub_methods_classgridfire_1_1_engine_view"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:a994660f2d553f3a123512dc5eb421e74 inherit pub_methods_classgridfire_1_1_engine_view"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a217d541f3fa777b1552f652fbb520382" id="r_a217d541f3fa777b1552f652fbb520382"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a217d541f3fa777b1552f652fbb520382">m_isStale</a> = true</td></tr>
<tr class="separator:a217d541f3fa777b1552f652fbb520382"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-11-04 14:04:26 -05:00
<tr class="memitem:a754ef6a1fb9259d533f1eefa823d5758" id="r_a754ef6a1fb9259d533f1eefa823d5758"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1_graph_engine.html">GraphEngine</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a754ef6a1fb9259d533f1eefa823d5758">m_baseEngine</a></td></tr>
<tr class="separator:a754ef6a1fb9259d533f1eefa823d5758"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-07-24 11:10:45 -04:00
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a9ea4812bc697fe43f8aded14f8aa0985" id="r_a9ea4812bc697fe43f8aded14f8aa0985"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9ea4812bc697fe43f8aded14f8aa0985">constructSpeciesIndexMap</a> () const</td></tr>
<tr class="memdesc:a9ea4812bc697fe43f8aded14f8aa0985"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs the species index map. <br /></td></tr>
<tr class="separator:a9ea4812bc697fe43f8aded14f8aa0985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2514984afaaf8590c28ab71943fbe68" id="r_ab2514984afaaf8590c28ab71943fbe68"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab2514984afaaf8590c28ab71943fbe68">constructReactionIndexMap</a> () const</td></tr>
<tr class="memdesc:ab2514984afaaf8590c28ab71943fbe68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs the reaction index map. <br /></td></tr>
<tr class="separator:ab2514984afaaf8590c28ab71943fbe68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a626ab005bfa08b201518c13627e1f843" id="r_a626ab005bfa08b201518c13627e1f843"><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a626ab005bfa08b201518c13627e1f843">mapViewToFull</a> (const std::vector&lt; double &gt; &amp;defined) const</td></tr>
<tr class="memdesc:a626ab005bfa08b201518c13627e1f843"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps a vector of culled abundances to a vector of full abundances. <br /></td></tr>
<tr class="separator:a626ab005bfa08b201518c13627e1f843"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f59af6fb3516911de2a3e3ff0ed8873" id="r_a2f59af6fb3516911de2a3e3ff0ed8873"><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f59af6fb3516911de2a3e3ff0ed8873">mapFullToView</a> (const std::vector&lt; double &gt; &amp;full) const</td></tr>
<tr class="memdesc:a2f59af6fb3516911de2a3e3ff0ed8873"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps a vector of full abundances to a vector of culled abundances. <br /></td></tr>
<tr class="separator:a2f59af6fb3516911de2a3e3ff0ed8873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6fb8c3c7894b505bd81d15f012f154a" id="r_af6fb8c3c7894b505bd81d15f012f154a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af6fb8c3c7894b505bd81d15f012f154a">mapViewToFullSpeciesIndex</a> (size_t definedSpeciesIndex) const</td></tr>
<tr class="memdesc:af6fb8c3c7894b505bd81d15f012f154a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps a culled species index to a full species index. <br /></td></tr>
<tr class="separator:af6fb8c3c7894b505bd81d15f012f154a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadf373d69a22fcd171a6c251466d53d1" id="r_aadf373d69a22fcd171a6c251466d53d1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aadf373d69a22fcd171a6c251466d53d1">mapViewToFullReactionIndex</a> (size_t definedReactionIndex) const</td></tr>
<tr class="memdesc:aadf373d69a22fcd171a6c251466d53d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps a culled reaction index to a full reaction index. <br /></td></tr>
<tr class="separator:aadf373d69a22fcd171a6c251466d53d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56bd041c2fc7fe4f1371c38c8c0443e0" id="r_a56bd041c2fc7fe4f1371c38c8c0443e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a56bd041c2fc7fe4f1371c38c8c0443e0">validateNetworkState</a> () const</td></tr>
<tr class="separator:a56bd041c2fc7fe4f1371c38c8c0443e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbc64284b5f5a3256867be46fa87c69e" id="r_adbc64284b5f5a3256867be46fa87c69e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adbc64284b5f5a3256867be46fa87c69e">collect</a> (const std::vector&lt; std::string &gt; &amp;peNames)</td></tr>
<tr class="separator:adbc64284b5f5a3256867be46fa87c69e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a4f4aa847ee80ad430de9b1cfdda6b4e3" id="r_a4f4aa847ee80ad430de9b1cfdda6b4e3"><td class="memItemLeft" align="right" valign="top">quill::Logger *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4f4aa847ee80ad430de9b1cfdda6b4e3">m_logger</a> = fourdst::logging::LogManager::getInstance().getLogger(&quot;log&quot;)</td></tr>
<tr class="memdesc:a4f4aa847ee80ad430de9b1cfdda6b4e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Active species in the defined engine. <br /></td></tr>
<tr class="separator:a4f4aa847ee80ad430de9b1cfdda6b4e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-11-04 14:04:26 -05:00
<tr class="memitem:af9a80586c9428eeb3e3d1dc7f67267d6" id="r_af9a80586c9428eeb3e3d1dc7f67267d6"><td class="memItemLeft" align="right" valign="top">std::set&lt; fourdst::atomic::Species &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af9a80586c9428eeb3e3d1dc7f67267d6">m_activeSpecies</a></td></tr>
<tr class="memdesc:af9a80586c9428eeb3e3d1dc7f67267d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cache for the active species vector to avoid dangling references. <br /></td></tr>
<tr class="separator:af9a80586c9428eeb3e3d1dc7f67267d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a380e7a98cc782c9becd191d8de17c31d" id="r_a380e7a98cc782c9becd191d8de17c31d"><td class="memItemLeft" align="right" valign="top">std::optional&lt; std::vector&lt; fourdst::atomic::Species &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a380e7a98cc782c9becd191d8de17c31d">m_activeSpeciesVectorCache</a> = std::nullopt</td></tr>
<tr class="memdesc:a380e7a98cc782c9becd191d8de17c31d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Active reactions in the defined engine. <br /></td></tr>
<tr class="separator:a380e7a98cc782c9becd191d8de17c31d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a824fe65ae22fa856051f2652764a0bb6" id="r_a824fe65ae22fa856051f2652764a0bb6"><td class="memItemLeft" align="right" valign="top"><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="#a824fe65ae22fa856051f2652764a0bb6">m_activeReactions</a></td></tr>
<tr class="memdesc:a824fe65ae22fa856051f2652764a0bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps indices of active species to indices in the full network. <br /></td></tr>
<tr class="separator:a824fe65ae22fa856051f2652764a0bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2025-07-24 11:10:45 -04:00
<tr class="memitem:acc4976262e208d1dd2185ebccbdd275e" id="r_acc4976262e208d1dd2185ebccbdd275e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acc4976262e208d1dd2185ebccbdd275e">m_speciesIndexMap</a></td></tr>
<tr class="memdesc:acc4976262e208d1dd2185ebccbdd275e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps indices of active reactions to indices in the full network. <br /></td></tr>
<tr class="separator:acc4976262e208d1dd2185ebccbdd275e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affda6d60651c53ee02532806104671bd" id="r_affda6d60651c53ee02532806104671bd"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#affda6d60651c53ee02532806104671bd">m_reactionIndexMap</a></td></tr>
<tr class="separator:affda6d60651c53ee02532806104671bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
2025-07-31 10:54:31 -04:00
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
2025-11-04 14:04:26 -05:00
<a id="a365d3bf2da974c937267bddb07cf2bef" name="a365d3bf2da974c937267bddb07cf2bef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a365d3bf2da974c937267bddb07cf2bef">&#9670;&#160;</a></span>DefinedEngineView()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">gridfire::DefinedEngineView::DefinedEngineView </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>peNames</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
2025-11-04 14:04:26 -05:00
<td class="paramtype"><a class="el" href="classgridfire_1_1_graph_engine.html">GraphEngine</a> &amp;</td> <td class="paramname"><span class="paramname"><em>baseEngine</em></span>&#160;)</td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a06aca977aafb4784fd167acb8c02dda2" name="a06aca977aafb4784fd167acb8c02dda2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06aca977aafb4784fd167acb8c02dda2">&#9670;&#160;</a></span>calculateEpsDerivatives()</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="structgridfire_1_1_energy_derivatives.html">EnergyDerivatives</a> gridfire::DefinedEngineView::calculateEpsDerivatives </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </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>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the derivatives of the energy generation rate with respect to T and rho. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<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>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structgridfire_1_1_energy_derivatives.html">EnergyDerivatives</a> 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_1_dynamic_engine.html#a264bd5a8891c8c5f0dff32867effe547">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="a74298377d0432ae3d577be0e9e6052b3" name="a74298377d0432ae3d577be0e9e6052b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74298377d0432ae3d577be0e9e6052b3">&#9670;&#160;</a></span>calculateMolarReactionFlow()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double gridfire::DefinedEngineView::calculateMolarReactionFlow </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reaction</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
2025-07-24 11:10:45 -04:00
</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>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the molar reaction flow for a given reaction in the active network. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reaction</td><td>The reaction for which to calculate the flow. </td></tr>
<tr><td class="paramname">comp</td><td>A Composition object containing the current composition of the system </td></tr>
2025-07-24 11:10:45 -04:00
<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>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Molar flow rate for the reaction (e.g., mol/g/s).</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale or if the reaction is not in the active set. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a39cf5b738eea0a275bf8c0eb5789fab3">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="af273b29d7700cdc34da6e2712fffc5c2" name="af273b29d7700cdc34da6e2712fffc5c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af273b29d7700cdc34da6e2712fffc5c2">&#9670;&#160;</a></span>calculateRHSAndEnergy()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::expected&lt; <a class="el" href="structgridfire_1_1_step_derivatives.html">StepDerivatives</a>&lt; double &gt;, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> &gt; gridfire::DefinedEngineView::calculateRHSAndEnergy </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
2025-07-24 11:10:45 -04:00
</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>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the right-hand side (dY/dt) and energy generation for the active species. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">comp</td><td>A Composition object containing the current composition of the system </td></tr>
2025-07-24 11:10:45 -04:00
<tr><td class="paramname">T9</td><td>The temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>The density in g/cm^3. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="structgridfire_1_1_step_derivatives.html" title="Structure holding derivatives and energy generation for a network step.">StepDerivatives</a> struct containing the derivatives of the active species and the nuclear energy generation rate.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale (i.e., <code><a class="el" href="#ae5762f395caea5381ec177507816b5ae" title="Updates the engine view if it is marked as stale.">update()</a></code> has not been called after <code>setNetworkFile()</code>). </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_engine.html#add48d3af9ebde17717e42e220e349740">gridfire::Engine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="adbc64284b5f5a3256867be46fa87c69e" name="adbc64284b5f5a3256867be46fa87c69e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbc64284b5f5a3256867be46fa87c69e">&#9670;&#160;</a></span>collect()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::collect </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>peNames</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
2025-11-04 14:04:26 -05:00
</div>
</div>
<a id="aefd36cae5c263cba12a0c177e70b409a" name="aefd36cae5c263cba12a0c177e70b409a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefd36cae5c263cba12a0c177e70b409a">&#9670;&#160;</a></span>collectComposition()</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 gridfire::DefinedEngineView::collectComposition </td>
<td>(</td>
<td class="paramtype">fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</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>Recursively collect composition from current engine and any sub engines if they exist. </p>
<p>If species i is defined in comp and in any sub engine or self composition then the molar abundance of species i in the returned composition will be that defined in comp. If there are species defined in sub engine compositions which are not defined in comp then their molar abundances will be based on the reported values from each sub engine. </p><dl class="section note"><dt>Note</dt><dd>It is up to each engine to decide how to handle filling in the return composition. </dd>
<dd>
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">comp</td><td>Input composition to "normalize". </td></tr>
</table>
</dd>
</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_1_dynamic_engine.html#a827c7e6fa7f2c5baf13a564fb4911388">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="ab2514984afaaf8590c28ab71943fbe68" name="ab2514984afaaf8590c28ab71943fbe68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2514984afaaf8590c28ab71943fbe68">&#9670;&#160;</a></span>constructReactionIndexMap()</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; size_t &gt; gridfire::DefinedEngineView::constructReactionIndexMap </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 nodiscard">nodiscard</span><span class="mlabel private">private</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Constructs the reaction index map. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector mapping defined reaction indices to full reaction indices.</dd></dl>
<p>This method creates a map from the indices of the active reactions to the indices of the corresponding reactions in the full network.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If an active reaction is not found in the base engine's reaction list. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9ea4812bc697fe43f8aded14f8aa0985" name="a9ea4812bc697fe43f8aded14f8aa0985"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ea4812bc697fe43f8aded14f8aa0985">&#9670;&#160;</a></span>constructSpeciesIndexMap()</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; size_t &gt; gridfire::DefinedEngineView::constructSpeciesIndexMap </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 nodiscard">nodiscard</span><span class="mlabel private">private</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Constructs the species index map. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector mapping defined species indices to full species indices.</dd></dl>
<p>This method creates a map from the indices of the active species to the indices of the corresponding species in the full network.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If an active species is not found in the base engine's species list. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
2025-11-04 14:04:26 -05:00
<a id="a0b38e584912f9df9cee5a77752e85492" name="a0b38e584912f9df9cee5a77752e85492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b38e584912f9df9cee5a77752e85492">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[1/3]</span></h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::generateJacobianMatrix </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
2025-11-04 14:04:26 -05:00
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
2025-11-04 14:04:26 -05:00
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span>&#160;) const</td>
2025-07-24 11:10:45 -04:00
</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>Generates the Jacobian matrix for the active species. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">comp</td><td>A Composition object containing the current composition of the system </td></tr>
2025-07-24 11:10:45 -04:00
<tr><td class="paramname">T9</td><td>The temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>The density in g/cm^3.</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21d15531309456ee83f7675251e7a1bf">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
2025-11-04 14:04:26 -05:00
</div>
</div>
<a id="a2c502d447134260086558ce83336cda9" name="a2c502d447134260086558ce83336cda9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c502d447134260086558ce83336cda9">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::generateJacobianMatrix </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></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">const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &amp;</td> <td class="paramname"><span class="paramname"><em>sparsityPattern</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>Generates the Jacobian matrix for a given sparsity pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">comp</td><td>A Composition object containing the current composition of the system </td></tr>
<tr><td class="paramname">T9</td><td>The temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>The density in g/cm^3. </td></tr>
<tr><td class="paramname">sparsityPattern</td><td>The sparsity pattern to use for the Jacobian matrix.</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a495bdb1e0c6f9911deb844b22c33644e">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="a09613471ccc5169ce8525c2bef88a59b" name="a09613471ccc5169ce8525c2bef88a59b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09613471ccc5169ce8525c2bef88a59b">&#9670;&#160;</a></span>generateJacobianMatrix() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::generateJacobianMatrix </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></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">const std::vector&lt; fourdst::atomic::Species &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>activeSpecies</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>Generates the Jacobian matrix for the active species. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">comp</td><td>A Composition object containing the current composition of the system </td></tr>
<tr><td class="paramname">T9</td><td>The temperature in units of 10^9 K. </td></tr>
<tr><td class="paramname">rho</td><td>The density in g/cm^3. </td></tr>
<tr><td class="paramname">activeSpecies</td><td>The vector of active species to include in the Jacobian.</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a8538fd9285a192f879a45e3dd3f26362">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="ad07221be49ae1b5133c5b987dafac3b6" name="ad07221be49ae1b5133c5b987dafac3b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad07221be49ae1b5133c5b987dafac3b6">&#9670;&#160;</a></span>generateStoichiometryMatrix()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::generateStoichiometryMatrix </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></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>Generates the stoichiometry matrix for the active reactions and species. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="a69b9a5812ad8bda13f956acd0da24484" name="a69b9a5812ad8bda13f956acd0da24484"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69b9a5812ad8bda13f956acd0da24484">&#9670;&#160;</a></span>getBaseEngine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a> &amp; gridfire::DefinedEngineView::getBaseEngine </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 nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
2025-11-04 14:04:26 -05:00
<p>Get the base engine associated with this defined engine view. </p>
<dl class="section return"><dt>Returns</dt><dd>A const reference to the base <a class="el" href="classgridfire_1_1_dynamic_engine.html" title="Abstract class for engines supporting Jacobian and stoichiometry operations.">DynamicEngine</a>. </dd></dl>
2025-07-24 11:10:45 -04:00
<p>Implements <a class="el" href="classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6">gridfire::EngineView&lt; DynamicEngine &gt;</a>.</p>
</div>
</div>
<a id="aa49532266ff959ac66f501336f102ce8" name="aa49532266ff959ac66f501336f102ce8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa49532266ff959ac66f501336f102ce8">&#9670;&#160;</a></span>getJacobianMatrixEntry()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double gridfire::DefinedEngineView::getJacobianMatrixEntry </td>
<td>(</td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>rowSpecies</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>colSpecies</em></span>&#160;) const</td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Gets an entry from the Jacobian matrix for the active species. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rowSpecies</td><td>The species corresponding to the row index. </td></tr>
<tr><td class="paramname">colSpecies</td><td>The species corresponding to the column index. </td></tr>
2025-07-24 11:10:45 -04:00
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value of the Jacobian matrix at (row species index, col species index).</dd></dl>
2025-07-24 11:10:45 -04:00
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
<tr><td class="paramname">std::out_of_range</td><td>If an index is out of bounds. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a88dbf350dc0ea3e2b64d825f489e0d60">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="a5f9db5a9287aa03b2fa4d516e9a576b6" name="a5f9db5a9287aa03b2fa4d516e9a576b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f9db5a9287aa03b2fa4d516e9a576b6">&#9670;&#160;</a></span>getNetworkReactions()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">reaction::ReactionSet</a> &amp; gridfire::DefinedEngineView::getNetworkReactions </td>
2025-07-24 11:10:45 -04:00
<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 nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Gets the set of active logical reactions in the network. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to the LogicalReactionSet containing all active reactions.</dd></dl>
2025-07-24 11:10:45 -04:00
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#af496e04f7be9a0a51ac65dc95f901ffe">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="a1a55f9748c45af6f13e16a6b6ceaa211" name="a1a55f9748c45af6f13e16a6b6ceaa211"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a55f9748c45af6f13e16a6b6ceaa211">&#9670;&#160;</a></span>getNetworkSpecies()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; Species &gt; &amp; gridfire::DefinedEngineView::getNetworkSpecies </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 nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Gets the list of active species in the network defined by the file. </p>
<dl class="section return"><dt>Returns</dt><dd>A const reference to the vector of active species. </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3">gridfire::Engine</a>.</p>
</div>
</div>
<a id="a3c657b82a0117118a4bb0ce7f624ae0c" name="a3c657b82a0117118a4bb0ce7f624ae0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c657b82a0117118a4bb0ce7f624ae0c">&#9670;&#160;</a></span>getScreeningModel()</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_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> gridfire::DefinedEngineView::getScreeningModel </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 nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the screening model from the base engine. </p>
<dl class="section return"><dt>Returns</dt><dd>The current screening model type. </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0">gridfire::DynamicEngine</a>.</p>
</div>
</div>
2025-11-04 14:04:26 -05:00
<a id="ad51ef1984f92856b6d4c522e56e8d6a6" name="ad51ef1984f92856b6d4c522e56e8d6a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad51ef1984f92856b6d4c522e56e8d6a6">&#9670;&#160;</a></span>getSpeciesDestructionTimescales()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2025-11-04 14:04:26 -05:00
<td class="memname">std::expected&lt; std::unordered_map&lt; Species, double &gt;, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> &gt; gridfire::DefinedEngineView::getSpeciesDestructionTimescales </td>
2025-07-24 11:10:45 -04:00
<td>(</td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
2025-07-24 11:10:45 -04:00
</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>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><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_1_dynamic_engine.html#a25c040d3078f6ff2ef38f733eb68f1fa">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="af3b355ffcda6a8f2841184cc56e3761a" name="af3b355ffcda6a8f2841184cc56e3761a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3b355ffcda6a8f2841184cc56e3761a">&#9670;&#160;</a></span>getSpeciesIndex()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t gridfire::DefinedEngineView::getSpeciesIndex </td>
2025-07-24 11:10:45 -04:00
<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>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<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">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_1_dynamic_engine.html#a8f66fb76c9f983ee93bf8b95cdc85596">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="a18f46d92ea7e04068ad9e7af4ed605a8" name="a18f46d92ea7e04068ad9e7af4ed605a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18f46d92ea7e04068ad9e7af4ed605a8">&#9670;&#160;</a></span>getSpeciesTimescales()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::expected&lt; std::unordered_map&lt; Species, double &gt;, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> &gt; gridfire::DefinedEngineView::getSpeciesTimescales </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::Composition &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
2025-07-24 11:10:45 -04:00
</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>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes timescales for all active species in the network. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">comp</td><td>A Composition object containing the current composition of the system </td></tr>
2025-07-24 11:10:45 -04:00
<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>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Map from Species to their characteristic timescales (s).</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#ae7114f5ebc6667b5e5971c0450ed03d9">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="af1843cfd2a95bfa46ab40d4c4de11ef9" name="af1843cfd2a95bfa46ab40d4c4de11ef9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1843cfd2a95bfa46ab40d4c4de11ef9">&#9670;&#160;</a></span>getStoichiometryMatrixEntry()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int gridfire::DefinedEngineView::getStoichiometryMatrixEntry </td>
<td>(</td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>species</em></span>, </td>
2025-07-24 11:10:45 -04:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reaction</em></span>&#160;) const</td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Gets an entry from the stoichiometry matrix for the active species and reactions. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">species</td><td>The species for which to get the stoichiometric coefficient. </td></tr>
<tr><td class="paramname">reaction</td><td>The reaction for which to get the stoichiometric coefficient. </td></tr>
2025-07-24 11:10:45 -04:00
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The stoichiometric coefficient for the given species and reaction.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>If the view is stale. </td></tr>
<tr><td class="paramname">std::out_of_range</td><td>If an index is out of bounds. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#ad19c8451b6f624e2938f771cc067d5c1">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="a7d9e738dd28efb4d6127de7379169c87" name="a7d9e738dd28efb4d6127de7379169c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d9e738dd28efb4d6127de7379169c87">&#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 gridfire::DefinedEngineView::isStale </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">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>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a942e65ced17ca602482cc42e469d6398">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="a2f59af6fb3516911de2a3e3ff0ed8873" name="a2f59af6fb3516911de2a3e3ff0ed8873"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f59af6fb3516911de2a3e3ff0ed8873">&#9670;&#160;</a></span>mapFullToView()</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; gridfire::DefinedEngineView::mapFullToView </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; double &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>full</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel private">private</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Maps a vector of full abundances to a vector of culled abundances. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">full</td><td>A vector of abundances for the full network. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A vector of abundances for the active species, with the abundances of the active species copied from the full vector. </dd></dl>
</div>
</div>
<a id="a72789c1c3379594b65b560da50192de2" name="a72789c1c3379594b65b560da50192de2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72789c1c3379594b65b560da50192de2">&#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; gridfire::DefinedEngineView::mapNetInToMolarAbundanceVector </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">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 nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> 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>
2025-07-24 11:10:45 -04:00
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="a626ab005bfa08b201518c13627e1f843" name="a626ab005bfa08b201518c13627e1f843"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a626ab005bfa08b201518c13627e1f843">&#9670;&#160;</a></span>mapViewToFull()</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; gridfire::DefinedEngineView::mapViewToFull </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; double &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>defined</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel private">private</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Maps a vector of culled abundances to a vector of full abundances. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">defined</td><td>A vector of abundances for the active species. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A vector of abundances for the full network, with the abundances of the active species copied from the defined vector. </dd></dl>
</div>
</div>
<a id="aadf373d69a22fcd171a6c251466d53d1" name="aadf373d69a22fcd171a6c251466d53d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadf373d69a22fcd171a6c251466d53d1">&#9670;&#160;</a></span>mapViewToFullReactionIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t gridfire::DefinedEngineView::mapViewToFullReactionIndex </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>definedReactionIndex</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel private">private</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Maps a culled reaction index to a full reaction index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">definedReactionIndex</td><td>The index of the reaction in the defined reaction list. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the corresponding reaction in the full network.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::out_of_range</td><td>If the defined index is out of bounds for the reaction index map. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af6fb8c3c7894b505bd81d15f012f154a" name="af6fb8c3c7894b505bd81d15f012f154a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6fb8c3c7894b505bd81d15f012f154a">&#9670;&#160;</a></span>mapViewToFullSpeciesIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t gridfire::DefinedEngineView::mapViewToFullSpeciesIndex </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>definedSpeciesIndex</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel private">private</span></span> </td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</div><div class="memdoc">
<p>Maps a culled species index to a full species index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">definedSpeciesIndex</td><td>The index of the species in the defined species list. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the corresponding species in the full network.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::out_of_range</td><td>If the defined index is out of bounds for the species index map. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a13033abd3b44904f98b58c93e22da460" name="a13033abd3b44904f98b58c93e22da460"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13033abd3b44904f98b58c93e22da460">&#9670;&#160;</a></span>primeEngine()</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="structgridfire_1_1_priming_report.html">PrimingReport</a> gridfire::DefinedEngineView::primeEngine </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">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 nodiscard">nodiscard</span><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prime the engine with initial conditions. </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 class="el" href="structgridfire_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a> 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>
2025-07-24 11:10:45 -04:00
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="a655e74357cce822c4508069a3bcac2c9" name="a655e74357cce822c4508069a3bcac2c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a655e74357cce822c4508069a3bcac2c9">&#9670;&#160;</a></span>setNetworkReactions()</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::setNetworkReactions </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">reaction::ReactionSet</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reactions</em></span></td><td>)</td>
2025-07-24 11:10:45 -04:00
<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>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a49025489901e22a20cdf99b455ff2ff0">gridfire::DynamicEngine</a>.</p>
2025-07-24 11:10:45 -04:00
</div>
</div>
<a id="abf2da57c83c3c4c635cb301f53088258" name="abf2da57c83c3c4c635cb301f53088258"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf2da57c83c3c4c635cb301f53088258">&#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 gridfire::DefinedEngineView::setScreeningModel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">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>Sets the screening model for the base engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">model</td><td>The screening model to set. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="ae5762f395caea5381ec177507816b5ae" name="ae5762f395caea5381ec177507816b5ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5762f395caea5381ec177507816b5ae">&#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 gridfire::DefinedEngineView::update </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">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>Updates the engine view if it is marked as stale. </p>
<p>This method checks if the view is stale (e.g., after <code>setNetworkFile</code> was called). If it is, it rebuilds the active network from the currently set file. The <code>netIn</code> parameter is not used by this implementation but is required by the interface.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">netIn</td><td>The current network input (unused).</td></tr>
</table>
</dd>
</dl>
<dl class="section post"><dt>Postcondition</dt><dd>If the view was stale, it is rebuilt and is no longer stale. </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#aa799ff785e7e79bf35b11efd55f6282a">gridfire::DynamicEngine</a>.</p>
</div>
</div>
<a id="a56bd041c2fc7fe4f1371c38c8c0443e0" name="a56bd041c2fc7fe4f1371c38c8c0443e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56bd041c2fc7fe4f1371c38c8c0443e0">&#9670;&#160;</a></span>validateNetworkState()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::validateNetworkState </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a824fe65ae22fa856051f2652764a0bb6" name="a824fe65ae22fa856051f2652764a0bb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a824fe65ae22fa856051f2652764a0bb6">&#9670;&#160;</a></span>m_activeReactions</h2>
2025-07-24 11:10:45 -04:00
<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="classgridfire_1_1reaction_1_1_reaction_set.html">reaction::ReactionSet</a> gridfire::DefinedEngineView::m_activeReactions</td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Maps indices of active species to indices in the full network. </p>
</div>
</div>
2025-11-04 14:04:26 -05:00
<a id="af9a80586c9428eeb3e3d1dc7f67267d6" name="af9a80586c9428eeb3e3d1dc7f67267d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9a80586c9428eeb3e3d1dc7f67267d6">&#9670;&#160;</a></span>m_activeSpecies</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2025-11-04 14:04:26 -05:00
<td class="memname">std::set&lt;fourdst::atomic::Species&gt; gridfire::DefinedEngineView::m_activeSpecies</td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
2025-11-04 14:04:26 -05:00
<p>Cache for the active species vector to avoid dangling references. </p>
</div>
</div>
<a id="a380e7a98cc782c9becd191d8de17c31d" name="a380e7a98cc782c9becd191d8de17c31d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a380e7a98cc782c9becd191d8de17c31d">&#9670;&#160;</a></span>m_activeSpeciesVectorCache</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::optional&lt;std::vector&lt;fourdst::atomic::Species&gt; &gt; gridfire::DefinedEngineView::m_activeSpeciesVectorCache = std::nullopt</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
2025-07-24 11:10:45 -04:00
<p>Active reactions in the defined engine. </p>
</div>
</div>
2025-11-04 14:04:26 -05:00
<a id="a754ef6a1fb9259d533f1eefa823d5758" name="a754ef6a1fb9259d533f1eefa823d5758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a754ef6a1fb9259d533f1eefa823d5758">&#9670;&#160;</a></span>m_baseEngine</h2>
2025-07-24 11:10:45 -04:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2025-11-04 14:04:26 -05:00
<td class="memname"><a class="el" href="classgridfire_1_1_graph_engine.html">GraphEngine</a>&amp; gridfire::DefinedEngineView::m_baseEngine</td>
2025-07-24 11:10:45 -04:00
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel protected">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a217d541f3fa777b1552f652fbb520382" name="a217d541f3fa777b1552f652fbb520382"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a217d541f3fa777b1552f652fbb520382">&#9670;&#160;</a></span>m_isStale</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool gridfire::DefinedEngineView::m_isStale = true</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel protected">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4f4aa847ee80ad430de9b1cfdda6b4e3" name="a4f4aa847ee80ad430de9b1cfdda6b4e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f4aa847ee80ad430de9b1cfdda6b4e3">&#9670;&#160;</a></span>m_logger</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">quill::Logger* gridfire::DefinedEngineView::m_logger = fourdst::logging::LogManager::getInstance().getLogger(&quot;log&quot;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Active species in the defined engine. </p>
<p>Logger instance for trace and debug information. </p>
</div>
</div>
<a id="affda6d60651c53ee02532806104671bd" name="affda6d60651c53ee02532806104671bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affda6d60651c53ee02532806104671bd">&#9670;&#160;</a></span>m_reactionIndexMap</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;size_t&gt; gridfire::DefinedEngineView::m_reactionIndexMap</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acc4976262e208d1dd2185ebccbdd275e" name="acc4976262e208d1dd2185ebccbdd275e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc4976262e208d1dd2185ebccbdd275e">&#9670;&#160;</a></span>m_speciesIndexMap</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;size_t&gt; gridfire::DefinedEngineView::m_speciesIndexMap</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Maps indices of active reactions to indices in the full network. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
2025-07-31 10:54:31 -04:00
<li>src/include/gridfire/engine/views/<a class="el" href="engine__defined_8h.html">engine_defined.h</a></li>
<li>src/lib/engine/views/<a class="el" href="engine__defined_8cpp.html">engine_defined.cpp</a></li>
2025-07-24 11:10:45 -04:00
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacegridfire.html">gridfire</a></li><li class="navelem"><a class="el" href="classgridfire_1_1_defined_engine_view.html">DefinedEngineView</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>