Files
GridFire/docs/html/classgridfire_1_1_defined_engine_view.html

1510 lines
88 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">
<div id="projectname">GridFire<span id="projectnumber">&#160;0.0.1a</span>
</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">
<p><code>#include &lt;<a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>&gt;</code></p>
<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>
<tr class="memitem:a9b319b4a1bd5a08381ebb183daf72c92" id="r_a9b319b4a1bd5a08381ebb183daf72c92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b319b4a1bd5a08381ebb183daf72c92">DefinedEngineView</a> (const std::vector&lt; std::string &gt; &amp;peNames, <a class="el" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a> &amp;baseEngine)</td></tr>
<tr class="separator:a9b319b4a1bd5a08381ebb183daf72c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memdesc:a69b9a5812ad8bda13f956acd0da24484"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the underlying engine instance. <br /></td></tr>
<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:a4b0d71367cb1d4c06bcd01251bbeb60d" id="r_a4b0d71367cb1d4c06bcd01251bbeb60d"><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="#a4b0d71367cb1d4c06bcd01251bbeb60d">calculateRHSAndEnergy</a> (const std::vector&lt; double &gt; &amp;Y_defined, const double T9, const double rho) const override</td></tr>
<tr class="memdesc:a4b0d71367cb1d4c06bcd01251bbeb60d"><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:a4b0d71367cb1d4c06bcd01251bbeb60d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad25c722eaee1f28f8ed7b4d33a1f69ae" id="r_ad25c722eaee1f28f8ed7b4d33a1f69ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad25c722eaee1f28f8ed7b4d33a1f69ae">generateJacobianMatrix</a> (const std::vector&lt; double &gt; &amp;Y_dynamic, const double T9, const double rho) const override</td></tr>
<tr class="memdesc:ad25c722eaee1f28f8ed7b4d33a1f69ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates the Jacobian matrix for the active species. <br /></td></tr>
<tr class="separator:ad25c722eaee1f28f8ed7b4d33a1f69ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a273b175049f5ce7b9208e931ad139e1b" id="r_a273b175049f5ce7b9208e931ad139e1b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a273b175049f5ce7b9208e931ad139e1b">getJacobianMatrixEntry</a> (const int i_defined, const int j_defined) const override</td></tr>
<tr class="memdesc:a273b175049f5ce7b9208e931ad139e1b"><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:a273b175049f5ce7b9208e931ad139e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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:afa2820971397114d788730cc33feefe2" id="r_afa2820971397114d788730cc33feefe2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afa2820971397114d788730cc33feefe2">getStoichiometryMatrixEntry</a> (const int speciesIndex_defined, const int reactionIndex_defined) const override</td></tr>
<tr class="memdesc:afa2820971397114d788730cc33feefe2"><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:afa2820971397114d788730cc33feefe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a142725470f96cba3edb48a29f1264032" id="r_a142725470f96cba3edb48a29f1264032"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a142725470f96cba3edb48a29f1264032">calculateMolarReactionFlow</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &amp;reaction, const std::vector&lt; double &gt; &amp;Y_defined, const double T9, const double rho) const override</td></tr>
<tr class="memdesc:a142725470f96cba3edb48a29f1264032"><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:a142725470f96cba3edb48a29f1264032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae03b4f9afac03d4011a4d7cf0423535d" id="r_ae03b4f9afac03d4011a4d7cf0423535d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae03b4f9afac03d4011a4d7cf0423535d">getNetworkReactions</a> () const override</td></tr>
<tr class="memdesc:ae03b4f9afac03d4011a4d7cf0423535d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the set of active logical reactions in the network. <br /></td></tr>
<tr class="separator:ae03b4f9afac03d4011a4d7cf0423535d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9736edfb7c9148b60de30d50c0d3530d" id="r_a9736edfb7c9148b60de30d50c0d3530d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9736edfb7c9148b60de30d50c0d3530d">setNetworkReactions</a> (const <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> &amp;reactions) override</td></tr>
<tr class="separator:a9736edfb7c9148b60de30d50c0d3530d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8daafabbc76f4b6811bede241a03d72" id="r_ac8daafabbc76f4b6811bede241a03d72"><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="#ac8daafabbc76f4b6811bede241a03d72">getSpeciesTimescales</a> (const std::vector&lt; double &gt; &amp;Y_defined, const double T9, const double rho) const override</td></tr>
<tr class="memdesc:ac8daafabbc76f4b6811bede241a03d72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes timescales for all active species in the network. <br /></td></tr>
<tr class="separator:ac8daafabbc76f4b6811bede241a03d72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d58e36ed8a6a0d82bb65e91090f7491" id="r_a3d58e36ed8a6a0d82bb65e91090f7491"><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="#a3d58e36ed8a6a0d82bb65e91090f7491">getSpeciesDestructionTimescales</a> (const std::vector&lt; double &gt; &amp;Y_defined, const double T9, const double rho) const override</td></tr>
<tr class="separator:a3d58e36ed8a6a0d82bb65e91090f7491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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:abfee22688617ffe91c69be93049c89b3" id="r_abfee22688617ffe91c69be93049c89b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abfee22688617ffe91c69be93049c89b3">getSpeciesIndex</a> (const fourdst::atomic::Species &amp;species) const override</td></tr>
<tr class="separator:abfee22688617ffe91c69be93049c89b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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="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="separator:a13033abd3b44904f98b58c93e22da460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a818d942efa843959393e4eed3263b7e7"><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#a818d942efa843959393e4eed3263b7e7">generateJacobianMatrix</a> (const std::vector&lt; double &gt; &amp;Y_dynamic, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &amp;sparsityPattern) const</td></tr>
<tr class="separator:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2">&#160;</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="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="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>
<tr class="memitem:a6e3243a8a8bcdce3282a8f82c5f98195" id="r_a6e3243a8a8bcdce3282a8f82c5f98195"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6e3243a8a8bcdce3282a8f82c5f98195">m_baseEngine</a></td></tr>
<tr class="separator:a6e3243a8a8bcdce3282a8f82c5f98195"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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>
<tr class="memitem:a64e9c79a36d529e1b296fe5786e57aae" id="r_a64e9c79a36d529e1b296fe5786e57aae"><td class="memItemLeft" align="right" valign="top">std::vector&lt; fourdst::atomic::Species &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a64e9c79a36d529e1b296fe5786e57aae">m_activeSpecies</a></td></tr>
<tr class="memdesc:a64e9c79a36d529e1b296fe5786e57aae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Active reactions in the defined engine. <br /></td></tr>
<tr class="separator:a64e9c79a36d529e1b296fe5786e57aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a373d4a83f30527a1bfaf1d74ad14c965" id="r_a373d4a83f30527a1bfaf1d74ad14c965"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a373d4a83f30527a1bfaf1d74ad14c965">m_activeReactions</a></td></tr>
<tr class="memdesc:a373d4a83f30527a1bfaf1d74ad14c965"><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:a373d4a83f30527a1bfaf1d74ad14c965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00016">16</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9b319b4a1bd5a08381ebb183daf72c92" name="a9b319b4a1bd5a08381ebb183daf72c92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b319b4a1bd5a08381ebb183daf72c92">&#9670;&#160;</a></span>DefinedEngineView()</h2>
<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>
<td class="paramtype"><a class="el" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a> &amp;</td> <td class="paramname"><span class="paramname"><em>baseEngine</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00017">17</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a142725470f96cba3edb48a29f1264032" name="a142725470f96cba3edb48a29f1264032"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a142725470f96cba3edb48a29f1264032">&#9670;&#160;</a></span>calculateMolarReactionFlow()</h2>
<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 std::vector&lt; double &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>Y_defined</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const 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 override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</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">Y_defined</td><td>Vector of current abundances for the active species. </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>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#a6633b1757c41dd9e1c397333f4f9e785">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00091">91</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="a4b0d71367cb1d4c06bcd01251bbeb60d" name="a4b0d71367cb1d4c06bcd01251bbeb60d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b0d71367cb1d4c06bcd01251bbeb60d">&#9670;&#160;</a></span>calculateRHSAndEnergy()</h2>
<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 std::vector&lt; double &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>Y_defined</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const 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 override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</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">Y_defined</td><td>A vector of abundances for the active species. </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>
</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#a89f714d19b84a93a004a7afbb487a6cb">gridfire::Engine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00030">30</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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">
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00321">321</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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 private">private</span></span> </td>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00245">245</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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 private">private</span></span> </td>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00216">216</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="ad25c722eaee1f28f8ed7b4d33a1f69ae" name="ad25c722eaee1f28f8ed7b4d33a1f69ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad25c722eaee1f28f8ed7b4d33a1f69ae">&#9670;&#160;</a></span>generateJacobianMatrix()</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 std::vector&lt; double &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>Y_dynamic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const 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 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">Y_dynamic</td><td>A vector of abundances for the active species. </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>
</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#a29bdd4231c29c3a4e524ad6ca66a127d">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00051">51</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00074">74</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</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 override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Access the underlying engine instance. </p>
<dl class="section return"><dt>Returns</dt><dd>Const reference to the underlying engine.</dd></dl>
<p>This method must be implemented by derived classes to provide access to the base engine. The returned reference should remain valid for the lifetime of the <a class="el" href="classgridfire_1_1_engine_view.html" title="Abstract base class for a &quot;view&quot; of a reaction network engine.">EngineView</a>.</p>
<p>Example: </p><div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code hl_class" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a>&amp; engine = myView.getBaseEngine();</div>
<div class="ttc" id="aclassgridfire_1_1_dynamic_engine_html"><div class="ttname"><a href="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></div><div class="ttdoc">Abstract class for engines supporting Jacobian and stoichiometry operations.</div><div class="ttdef"><b>Definition</b> <a href="engine__abstract_8h_source.html#l00130">engine_abstract.h:130</a></div></div>
</div><!-- fragment -->
<p>Implements <a class="el" href="classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6">gridfire::EngineView&lt; DynamicEngine &gt;</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00022">22</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="a273b175049f5ce7b9208e931ad139e1b" name="a273b175049f5ce7b9208e931ad139e1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a273b175049f5ce7b9208e931ad139e1b">&#9670;&#160;</a></span>getJacobianMatrixEntry()</h2>
<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 int</td> <td class="paramname"><span class="paramname"><em>i_defined</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int</td> <td class="paramname"><span class="paramname"><em>j_defined</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>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">i_defined</td><td>The row index (species index) in the defined matrix. </td></tr>
<tr><td class="paramname">j_defined</td><td>The column index (species index) in the defined matrix. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value of the Jacobian matrix at (i_defined, j_defined).</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#a05d15ff35a6bc06a2fa7eda19838bd07">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00062">62</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="ae03b4f9afac03d4011a4d7cf0423535d" name="ae03b4f9afac03d4011a4d7cf0423535d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae03b4f9afac03d4011a4d7cf0423535d">&#9670;&#160;</a></span>getNetworkReactions()</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="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> &amp; gridfire::DefinedEngineView::getNetworkReactions </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 override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</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 <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31" title="A set of logical reactions.">LogicalReactionSet</a> containing all active reactions.</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#ad2a82099edbb374bbb2c9509ccdb1037">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00108">108</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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 override">override</span><span class="mlabel virtual">virtual</span></span> </td>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00026">26</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00184">184</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="a3d58e36ed8a6a0d82bb65e91090f7491" name="a3d58e36ed8a6a0d82bb65e91090f7491"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d58e36ed8a6a0d82bb65e91090f7491">&#9670;&#160;</a></span>getSpeciesDestructionTimescales()</h2>
<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; fourdst::atomic::Species, double &gt;, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> &gt; gridfire::DefinedEngineView::getSpeciesDestructionTimescales </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; double &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>Y_defined</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const 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>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a6ca0f315f75252ca505507a61556dda6">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00146">146</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="abfee22688617ffe91c69be93049c89b3" name="abfee22688617ffe91c69be93049c89b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfee22688617ffe91c69be93049c89b3">&#9670;&#160;</a></span>getSpeciesIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int gridfire::DefinedEngineView::getSpeciesIndex </td>
<td>(</td>
<td class="paramtype">const fourdst::atomic::Species &amp;</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
<td> const</td>
</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#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00188">188</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="ac8daafabbc76f4b6811bede241a03d72" name="ac8daafabbc76f4b6811bede241a03d72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8daafabbc76f4b6811bede241a03d72">&#9670;&#160;</a></span>getSpeciesTimescales()</h2>
<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 std::vector&lt; double &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>Y_defined</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const 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>Computes timescales for all active species in the network. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">Y_defined</td><td>Vector of current abundances for the active species. </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>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#a6772ac384b4c3d3e91712041e4aaa813">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00122">122</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="afa2820971397114d788730cc33feefe2" name="afa2820971397114d788730cc33feefe2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa2820971397114d788730cc33feefe2">&#9670;&#160;</a></span>getStoichiometryMatrixEntry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int gridfire::DefinedEngineView::getStoichiometryMatrixEntry </td>
<td>(</td>
<td class="paramtype">const int</td> <td class="paramname"><span class="paramname"><em>speciesIndex_defined</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int</td> <td class="paramname"><span class="paramname"><em>reactionIndex_defined</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>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">speciesIndex_defined</td><td>The index of the species in the defined species list. </td></tr>
<tr><td class="paramname">reactionIndex_defined</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 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#afa108dd5227dbb1045e90d7b3bd8b84f">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00080">80</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00175">175</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</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 private">private</span></span> </td>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00286">286</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00201">201</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</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 private">private</span></span> </td>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00277">277</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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 private">private</span></span> </td>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00304">304</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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 private">private</span></span> </td>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00295">295</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00212">212</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<a id="a9736edfb7c9148b60de30d50c0d3530d" name="a9736edfb7c9148b60de30d50c0d3530d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9736edfb7c9148b60de30d50c0d3530d">&#9670;&#160;</a></span>setNetworkReactions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void gridfire::DefinedEngineView::setNetworkReactions </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reactions</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#afb2ec904d88fc8aab516db4059d0e00f">gridfire::DynamicEngine</a>.</p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00114">114</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00180">180</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00171">171</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</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">
<p class="definition">Definition at line <a class="el" href="engine__defined_8cpp_source.html#l00313">313</a> of file <a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a373d4a83f30527a1bfaf1d74ad14c965" name="a373d4a83f30527a1bfaf1d74ad14c965"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a373d4a83f30527a1bfaf1d74ad14c965">&#9670;&#160;</a></span>m_activeReactions</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_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> gridfire::DefinedEngineView::m_activeReactions</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 species to indices in the full network. </p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00184">184</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</p>
</div>
</div>
<a id="a64e9c79a36d529e1b296fe5786e57aae" name="a64e9c79a36d529e1b296fe5786e57aae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64e9c79a36d529e1b296fe5786e57aae">&#9670;&#160;</a></span>m_activeSpecies</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;fourdst::atomic::Species&gt; gridfire::DefinedEngineView::m_activeSpecies</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 reactions in the defined engine. </p>
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00182">182</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</p>
</div>
</div>
<a id="a6e3243a8a8bcdce3282a8f82c5f98195" name="a6e3243a8a8bcdce3282a8f82c5f98195"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e3243a8a8bcdce3282a8f82c5f98195">&#9670;&#160;</a></span>m_baseEngine</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="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a>&amp; gridfire::DefinedEngineView::m_baseEngine</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">
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00178">178</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</p>
</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">
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00177">177</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</p>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00180">180</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</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">
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00189">189</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</p>
</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>
<p class="definition">Definition at line <a class="el" href="engine__defined_8h_source.html#l00187">187</a> of file <a class="el" href="engine__defined_8h_source.html">engine_defined.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/include/gridfire/engine/views/<a class="el" href="engine__defined_8h_source.html">engine_defined.h</a></li>
<li>src/lib/engine/views/<a class="el" href="engine__defined_8cpp_source.html">engine_defined.cpp</a></li>
</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>