1958 lines
122 KiB
HTML
1958 lines
122 KiB
HTML
|
|
<!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.9.8"/>
|
||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
|
|
<title>GridFire: gridfire::engine::AdaptiveEngineView 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>
|
||
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
|
|
<script type="text/javascript" src="resize.js"></script>
|
||
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
||
|
|
<script type="text/javascript" src="navtree.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"> v0.7.1_rc2</span>
|
||
|
|
</div>
|
||
|
|
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
</tbody>
|
||
|
|
</table>
|
||
|
|
</div>
|
||
|
|
<!-- end header part -->
|
||
|
|
<!-- Generated by Doxygen 1.9.8 -->
|
||
|
|
<script type="text/javascript">
|
||
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
|
|
/* @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&dn=expat.txt MIT */
|
||
|
|
$(function() {
|
||
|
|
initMenu('',true,false,'search.php','Search');
|
||
|
|
$(document).ready(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&dn=expat.txt MIT */
|
||
|
|
$(document).ready(function(){initNavTree('classgridfire_1_1engine_1_1AdaptiveEngineView.html',''); initResizable(); });
|
||
|
|
/* @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="#nested-classes">Classes</a> |
|
||
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
||
|
|
<a href="#pri-types">Private Types</a> |
|
||
|
|
<a href="#pri-methods">Private Member Functions</a> |
|
||
|
|
<a href="#pri-attribs">Private Attributes</a> |
|
||
|
|
<a href="classgridfire_1_1engine_1_1AdaptiveEngineView-members.html">List of all members</a> </div>
|
||
|
|
<div class="headertitle"><div class="title">gridfire::engine::AdaptiveEngineView Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||
|
|
</div><!--header-->
|
||
|
|
<div class="contents">
|
||
|
|
|
||
|
|
<p>An engine view that dynamically adapts the reaction network based on runtime conditions.
|
||
|
|
<a href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#details">More...</a></p>
|
||
|
|
|
||
|
|
<p><code>#include <engine_adaptive.h></code></p>
|
||
|
|
<div class="dynheader">
|
||
|
|
Inheritance diagram for gridfire::engine::AdaptiveEngineView:</div>
|
||
|
|
<div class="dyncontent">
|
||
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="classgridfire_1_1engine_1_1AdaptiveEngineView__inherit__graph.svg" width="408" height="212"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||
|
|
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
|
|
<div class="dynheader">
|
||
|
|
Collaboration diagram for gridfire::engine::AdaptiveEngineView:</div>
|
||
|
|
<div class="dyncontent">
|
||
|
|
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgridfire_1_1engine_1_1AdaptiveEngineView__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
|
||
|
|
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
|
|
<table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||
|
|
Classes</h2></td></tr>
|
||
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html">ReactionFlow</a></td></tr>
|
||
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A struct to hold a reaction and its flow rate. <a href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html#details">More...</a><br /></td></tr>
|
||
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table><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:aea8914f56e34445aacf0a5d0af073897" id="r_aea8914f56e34445aacf0a5d0af073897"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#aea8914f56e34445aacf0a5d0af073897">AdaptiveEngineView</a> (<a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> &baseEngine)</td></tr>
|
||
|
|
<tr class="memdesc:aea8914f56e34445aacf0a5d0af073897"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a>. <br /></td></tr>
|
||
|
|
<tr class="separator:aea8914f56e34445aacf0a5d0af073897"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a8db6ba52f454c136ee0a1335436fab6e" id="r_a8db6ba52f454c136ee0a1335436fab6e"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e">update</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) override</td></tr>
|
||
|
|
<tr class="memdesc:a8db6ba52f454c136ee0a1335436fab6e"><td class="mdescLeft"> </td><td class="mdescRight">Updates the active species and reactions based on the current conditions. <br /></td></tr>
|
||
|
|
<tr class="separator:a8db6ba52f454c136ee0a1335436fab6e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a6c08b4235996d12472d2a327eab8e984" id="r_a6c08b4235996d12472d2a327eab8e984"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a6c08b4235996d12472d2a327eab8e984">isStale</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) override</td></tr>
|
||
|
|
<tr class="memdesc:a6c08b4235996d12472d2a327eab8e984"><td class="mdescLeft"> </td><td class="mdescRight">Check if the engine's internal state is stale. <br /></td></tr>
|
||
|
|
<tr class="separator:a6c08b4235996d12472d2a327eab8e984"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aaa2d47f44e5bb4d9660d7c017cc5085c" id="r_aaa2d47f44e5bb4d9660d7c017cc5085c"><td class="memItemLeft" align="right" valign="top">const std::vector< fourdst::atomic::Species > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#aaa2d47f44e5bb4d9660d7c017cc5085c">getNetworkSpecies</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:aaa2d47f44e5bb4d9660d7c017cc5085c"><td class="mdescLeft"> </td><td class="mdescRight">Gets the list of active species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:aaa2d47f44e5bb4d9660d7c017cc5085c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a5de5211bc99a1995143307284be6df4a" id="r_a5de5211bc99a1995143307284be6df4a"><td class="memItemLeft" align="right" valign="top">std::expected< <a class="el" href="structgridfire_1_1engine_1_1StepDerivatives.html">StepDerivatives</a>< double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">engine::EngineStatus</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a5de5211bc99a1995143307284be6df4a">calculateRHSAndEnergy</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a5de5211bc99a1995143307284be6df4a"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the right-hand side (dY/dt) and energy generation for the active species. <br /></td></tr>
|
||
|
|
<tr class="separator:a5de5211bc99a1995143307284be6df4a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a17bbc9c0d480a8533acb193cb9a46fea" id="r_a17bbc9c0d480a8533acb193cb9a46fea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1EnergyDerivatives.html">EnergyDerivatives</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a17bbc9c0d480a8533acb193cb9a46fea">calculateEpsDerivatives</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="separator:a17bbc9c0d480a8533acb193cb9a46fea"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a2a44dfae512b370bad6b977330e0636a" id="r_a2a44dfae512b370bad6b977330e0636a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a2a44dfae512b370bad6b977330e0636a">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a2a44dfae512b370bad6b977330e0636a"><td class="mdescLeft"> </td><td class="mdescRight">Generates the Jacobian matrix for the active species. <br /></td></tr>
|
||
|
|
<tr class="separator:a2a44dfae512b370bad6b977330e0636a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a1b7b3b0b449d0859d57f99188cdd83d6" id="r_a1b7b3b0b449d0859d57f99188cdd83d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a1b7b3b0b449d0859d57f99188cdd83d6">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override</td></tr>
|
||
|
|
<tr class="memdesc:a1b7b3b0b449d0859d57f99188cdd83d6"><td class="mdescLeft"> </td><td class="mdescRight">Generates the Jacobian matrix for some set of active species such that that set is a subset of the active species in the view. <br /></td></tr>
|
||
|
|
<tr class="separator:a1b7b3b0b449d0859d57f99188cdd83d6"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ae894f46c67a8b8e02b8988a6b73dc9e5" id="r_ae894f46c67a8b8e02b8988a6b73dc9e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#ae894f46c67a8b8e02b8988a6b73dc9e5">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const <a class="el" href="namespacegridfire_1_1engine.html#af5175018d2d1e78a8826dd33ec6d675f">SparsityPattern</a> &sparsityPattern) const override</td></tr>
|
||
|
|
<tr class="memdesc:ae894f46c67a8b8e02b8988a6b73dc9e5"><td class="mdescLeft"> </td><td class="mdescRight">Generates the Jacobian matrix for the active species with a given sparsity pattern. <br /></td></tr>
|
||
|
|
<tr class="separator:ae894f46c67a8b8e02b8988a6b73dc9e5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a754445722193f11ae534b7c0afa9b8aa" id="r_a754445722193f11ae534b7c0afa9b8aa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a754445722193f11ae534b7c0afa9b8aa">generateStoichiometryMatrix</a> () override</td></tr>
|
||
|
|
<tr class="memdesc:a754445722193f11ae534b7c0afa9b8aa"><td class="mdescLeft"> </td><td class="mdescRight">Generates the stoichiometry matrix for the active reactions and species. <br /></td></tr>
|
||
|
|
<tr class="separator:a754445722193f11ae534b7c0afa9b8aa"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aae6d8bab169721f0b89682ce8c4b4f10" id="r_aae6d8bab169721f0b89682ce8c4b4f10"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#aae6d8bab169721f0b89682ce8c4b4f10">getStoichiometryMatrixEntry</a> (const fourdst::atomic::Species &species, const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> &reaction) const override</td></tr>
|
||
|
|
<tr class="memdesc:aae6d8bab169721f0b89682ce8c4b4f10"><td class="mdescLeft"> </td><td class="mdescRight">Gets an entry from the stoichiometry matrix for the active species and reactions. <br /></td></tr>
|
||
|
|
<tr class="separator:aae6d8bab169721f0b89682ce8c4b4f10"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a5bd0174105e836dd98c71ab495357e5b" id="r_a5bd0174105e836dd98c71ab495357e5b"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a5bd0174105e836dd98c71ab495357e5b">calculateMolarReactionFlow</a> (const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a5bd0174105e836dd98c71ab495357e5b"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the molar reaction flow for a given reaction in the active network. <br /></td></tr>
|
||
|
|
<tr class="separator:a5bd0174105e836dd98c71ab495357e5b"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a722ea6e07d46f739c29ad681c7500f8c" id="r_a722ea6e07d46f739c29ad681c7500f8c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a722ea6e07d46f739c29ad681c7500f8c">getNetworkReactions</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:a722ea6e07d46f739c29ad681c7500f8c"><td class="mdescLeft"> </td><td class="mdescRight">Gets the set of active logical reactions in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a722ea6e07d46f739c29ad681c7500f8c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a5dbfcafa606c3242dc4ced62c2494a2d" id="r_a5dbfcafa606c3242dc4ced62c2494a2d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a5dbfcafa606c3242dc4ced62c2494a2d">setNetworkReactions</a> (const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> &reactions) override</td></tr>
|
||
|
|
<tr class="memdesc:a5dbfcafa606c3242dc4ced62c2494a2d"><td class="mdescLeft"> </td><td class="mdescRight">Sets the reaction set for the base engine. <br /></td></tr>
|
||
|
|
<tr class="separator:a5dbfcafa606c3242dc4ced62c2494a2d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ade5dad29a79209e677b259a9b28c5133" id="r_ade5dad29a79209e677b259a9b28c5133"><td class="memItemLeft" align="right" valign="top">std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#ade5dad29a79209e677b259a9b28c5133">getSpeciesTimescales</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:ade5dad29a79209e677b259a9b28c5133"><td class="mdescLeft"> </td><td class="mdescRight">Computes timescales for all active species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:ade5dad29a79209e677b259a9b28c5133"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a420666d17650736e20402514294f9a14" id="r_a420666d17650736e20402514294f9a14"><td class="memItemLeft" align="right" valign="top">std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a420666d17650736e20402514294f9a14">getSpeciesDestructionTimescales</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a420666d17650736e20402514294f9a14"><td class="mdescLeft"> </td><td class="mdescRight">Computes destruction timescales for all active species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a420666d17650736e20402514294f9a14"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a69122f748b873b872aa86350061b1b5c" id="r_a69122f748b873b872aa86350061b1b5c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a69122f748b873b872aa86350061b1b5c">getBaseEngine</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:a69122f748b873b872aa86350061b1b5c"><td class="mdescLeft"> </td><td class="mdescRight">Gets the base engine. <br /></td></tr>
|
||
|
|
<tr class="separator:a69122f748b873b872aa86350061b1b5c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ab050409db954a3fa593633f9d2cd5d89" id="r_ab050409db954a3fa593633f9d2cd5d89"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#ab050409db954a3fa593633f9d2cd5d89">setScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> model) override</td></tr>
|
||
|
|
<tr class="memdesc:ab050409db954a3fa593633f9d2cd5d89"><td class="mdescLeft"> </td><td class="mdescRight">Sets the screening model for the base engine. <br /></td></tr>
|
||
|
|
<tr class="separator:ab050409db954a3fa593633f9d2cd5d89"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:acbd5b36262fa7d40f3274f4be6f0b8f6" id="r_acbd5b36262fa7d40f3274f4be6f0b8f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#acbd5b36262fa7d40f3274f4be6f0b8f6">getScreeningModel</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:acbd5b36262fa7d40f3274f4be6f0b8f6"><td class="mdescLeft"> </td><td class="mdescRight">Gets the screening model from the base engine. <br /></td></tr>
|
||
|
|
<tr class="separator:acbd5b36262fa7d40f3274f4be6f0b8f6"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ad7a82578006e5c55ca7716e7ab7e710c" id="r_ad7a82578006e5c55ca7716e7ab7e710c"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#ad7a82578006e5c55ca7716e7ab7e710c">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||
|
|
<tr class="memdesc:ad7a82578006e5c55ca7716e7ab7e710c"><td class="mdescLeft"> </td><td class="mdescRight">Gets the index of a species in the active species list. <br /></td></tr>
|
||
|
|
<tr class="separator:ad7a82578006e5c55ca7716e7ab7e710c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a24cc7e1a7471d707707b4d44ebd81068" id="r_a24cc7e1a7471d707707b4d44ebd81068"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a24cc7e1a7471d707707b4d44ebd81068">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) const override</td></tr>
|
||
|
|
<tr class="memdesc:a24cc7e1a7471d707707b4d44ebd81068"><td class="mdescLeft"> </td><td class="mdescRight">Maps the molar abundance vector from the active species to the full network species. <br /></td></tr>
|
||
|
|
<tr class="separator:a24cc7e1a7471d707707b4d44ebd81068"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a955a337f89a375637ac48071be45c54c" id="r_a955a337f89a375637ac48071be45c54c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1PrimingReport.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a955a337f89a375637ac48071be45c54c">primeEngine</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) override</td></tr>
|
||
|
|
<tr class="memdesc:a955a337f89a375637ac48071be45c54c"><td class="mdescLeft"> </td><td class="mdescRight">Primes the engine with the given network input. <br /></td></tr>
|
||
|
|
<tr class="separator:a955a337f89a375637ac48071be45c54c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a77d4c08eecfad5cc414161d0fc8db946" id="r_a77d4c08eecfad5cc414161d0fc8db946"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a77d4c08eecfad5cc414161d0fc8db946">collectComposition</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a77d4c08eecfad5cc414161d0fc8db946"><td class="mdescLeft"> </td><td class="mdescRight">Collect the composition of the base engine, ensure all active species are registered, and pass the composition back to the caller. <br /></td></tr>
|
||
|
|
<tr class="separator:a77d4c08eecfad5cc414161d0fc8db946"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a5166197fd61060b2a9a445f707ee871b" id="r_a5166197fd61060b2a9a445f707ee871b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1engine.html#a83c9d755597668bba3cf00cd0ea10ee3">SpeciesStatus</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a5166197fd61060b2a9a445f707ee871b">getSpeciesStatus</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||
|
|
<tr class="memdesc:a5166197fd61060b2a9a445f707ee871b"><td class="mdescLeft"> </td><td class="mdescRight">Gets the status of a species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a5166197fd61060b2a9a445f707ee871b"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgridfire_1_1engine_1_1DynamicEngine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">gridfire::engine::DynamicEngine</a></td></tr>
|
||
|
|
<tr class="memitem:ac5a0def6b6af0bd93bf9057c25f048ff inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine" id="r_ac5a0def6b6af0bd93bf9057c25f048ff"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire_1_1engine.html#a540b6420c7b6271717ec9b640140f6c0">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ac5a0def6b6af0bd93bf9057c25f048ff">getDepth</a> () const</td></tr>
|
||
|
|
<tr class="memdesc:ac5a0def6b6af0bd93bf9057c25f048ff inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||
|
|
<tr class="separator:ac5a0def6b6af0bd93bf9057c25f048ff inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a2444b9ed3bc61920ce23c546444269e4 inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine" id="r_a2444b9ed3bc61920ce23c546444269e4"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a2444b9ed3bc61920ce23c546444269e4">rebuild</a> (const fourdst::composition::CompositionAbstract &comp, <a class="el" href="namespacegridfire_1_1engine.html#a540b6420c7b6271717ec9b640140f6c0">BuildDepthType</a> depth)</td></tr>
|
||
|
|
<tr class="memdesc:a2444b9ed3bc61920ce23c546444269e4 inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||
|
|
<tr class="separator:a2444b9ed3bc61920ce23c546444269e4 inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1Engine"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgridfire_1_1engine_1_1Engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1Engine.html">gridfire::engine::Engine</a></td></tr>
|
||
|
|
<tr class="memitem:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1Engine" id="r_af0ea99416c28933d364a872fc6aff556"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1Engine.html#af0ea99416c28933d364a872fc6aff556">~Engine</a> ()=default</td></tr>
|
||
|
|
<tr class="memdesc:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1Engine"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br /></td></tr>
|
||
|
|
<tr class="separator:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1Engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1EngineView"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgridfire_1_1engine_1_1EngineView')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1EngineView.html">gridfire::engine::EngineView< DynamicEngine ></a></td></tr>
|
||
|
|
<tr class="memitem:a17d63e853d6efca31064e9147c80d497 inherit pub_methods_classgridfire_1_1engine_1_1EngineView" id="r_a17d63e853d6efca31064e9147c80d497"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1EngineView.html#a17d63e853d6efca31064e9147c80d497">~EngineView</a> ()=default</td></tr>
|
||
|
|
<tr class="memdesc:a17d63e853d6efca31064e9147c80d497 inherit pub_methods_classgridfire_1_1engine_1_1EngineView"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br /></td></tr>
|
||
|
|
<tr class="separator:a17d63e853d6efca31064e9147c80d497 inherit pub_methods_classgridfire_1_1engine_1_1EngineView"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table><table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
|
||
|
|
Private Types</h2></td></tr>
|
||
|
|
<tr class="memitem:a0a49d174e105adb3ffd9cf98ff58db3e" id="r_a0a49d174e105adb3ffd9cf98ff58db3e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a0a49d174e105adb3ffd9cf98ff58db3e">Config</a> = fourdst::config::Config</td></tr>
|
||
|
|
<tr class="separator:a0a49d174e105adb3ffd9cf98ff58db3e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ae8810c067d301b2f620869b0a5c8d5ce" id="r_ae8810c067d301b2f620869b0a5c8d5ce"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#ae8810c067d301b2f620869b0a5c8d5ce">LogManager</a> = fourdst::logging::LogManager</td></tr>
|
||
|
|
<tr class="separator:ae8810c067d301b2f620869b0a5c8d5ce"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a21367fa61169e6f5185bc91b40cc04be" id="r_a21367fa61169e6f5185bc91b40cc04be"><td class="memItemLeft" align="right" valign="top">typedef std::pair< std::unordered_set< const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> * >, std::unordered_set< fourdst::atomic::Species > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a21367fa61169e6f5185bc91b40cc04be">RescueSet</a></td></tr>
|
||
|
|
<tr class="separator:a21367fa61169e6f5185bc91b40cc04be"><td class="memSeparator" colspan="2"> </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:a63837a6a4343a2ac6a61e21576b62655" id="r_a63837a6a4343a2ac6a61e21576b62655"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a63837a6a4343a2ac6a61e21576b62655">validateState</a> () const</td></tr>
|
||
|
|
<tr class="memdesc:a63837a6a4343a2ac6a61e21576b62655"><td class="mdescLeft"> </td><td class="mdescRight">Validates that the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is not stale. <br /></td></tr>
|
||
|
|
<tr class="separator:a63837a6a4343a2ac6a61e21576b62655"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a6f13f42773dec03a6b3e90b4997d42fb" id="r_a6f13f42773dec03a6b3e90b4997d42fb"><td class="memItemLeft" align="right" valign="top">std::pair< std::vector< <a class="el" href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html">ReactionFlow</a> >, fourdst::composition::Composition > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a6f13f42773dec03a6b3e90b4997d42fb">calculateAllReactionFlows</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) const</td></tr>
|
||
|
|
<tr class="memdesc:a6f13f42773dec03a6b3e90b4997d42fb"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the molar reaction flow rate for all reactions in the full network. <br /></td></tr>
|
||
|
|
<tr class="separator:a6f13f42773dec03a6b3e90b4997d42fb"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a1bc1c462fe57cc30af5553c353e43db8" id="r_a1bc1c462fe57cc30af5553c353e43db8"><td class="memItemLeft" align="right" valign="top">std::unordered_set< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a1bc1c462fe57cc30af5553c353e43db8">findReachableSpecies</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) const</td></tr>
|
||
|
|
<tr class="memdesc:a1bc1c462fe57cc30af5553c353e43db8"><td class="mdescLeft"> </td><td class="mdescRight">Finds all species that are reachable from the initial fuel through the reaction network. <br /></td></tr>
|
||
|
|
<tr class="separator:a1bc1c462fe57cc30af5553c353e43db8"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a99ffb65b98dcbc1eae8643c25dbffe91" id="r_a99ffb65b98dcbc1eae8643c25dbffe91"><td class="memItemLeft" align="right" valign="top">std::vector< const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a99ffb65b98dcbc1eae8643c25dbffe91">cullReactionsByFlow</a> (const std::vector< <a class="el" href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html">ReactionFlow</a> > &allFlows, const std::unordered_set< fourdst::atomic::Species > &reachableSpecies, const fourdst::composition::Composition &comp, double maxFlow) const</td></tr>
|
||
|
|
<tr class="memdesc:a99ffb65b98dcbc1eae8643c25dbffe91"><td class="mdescLeft"> </td><td class="mdescRight">Culls reactions from the network based on their flow rates. <br /></td></tr>
|
||
|
|
<tr class="separator:a99ffb65b98dcbc1eae8643c25dbffe91"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a85e70c0ff022c31702472aa39fc64816" id="r_a85e70c0ff022c31702472aa39fc64816"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a21367fa61169e6f5185bc91b40cc04be">RescueSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a85e70c0ff022c31702472aa39fc64816">rescueEdgeSpeciesDestructionChannel</a> (const fourdst::composition::Composition &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies, const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> &activeReactions) const</td></tr>
|
||
|
|
<tr class="separator:a85e70c0ff022c31702472aa39fc64816"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aab32396ad3ab20960bfd505bb6128ff0" id="r_aab32396ad3ab20960bfd505bb6128ff0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#aab32396ad3ab20960bfd505bb6128ff0">finalizeActiveSet</a> (const std::vector< const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> * > &finalReactions)</td></tr>
|
||
|
|
<tr class="memdesc:aab32396ad3ab20960bfd505bb6128ff0"><td class="mdescLeft"> </td><td class="mdescRight">Finalizes the set of active species and reactions. <br /></td></tr>
|
||
|
|
<tr class="separator:aab32396ad3ab20960bfd505bb6128ff0"><td class="memSeparator" colspan="2"> </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:ac68b44310985613bb5736dd32d415734" id="r_ac68b44310985613bb5736dd32d415734"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a0a49d174e105adb3ffd9cf98ff58db3e">Config</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#ac68b44310985613bb5736dd32d415734">m_config</a> = Config::getInstance()</td></tr>
|
||
|
|
<tr class="memdesc:ac68b44310985613bb5736dd32d415734"><td class="mdescLeft"> </td><td class="mdescRight">A reference to the singleton Config instance, used for retrieving configuration parameters. <br /></td></tr>
|
||
|
|
<tr class="separator:ac68b44310985613bb5736dd32d415734"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a60c4792822f671f094a86378265a416a" id="r_a60c4792822f671f094a86378265a416a"><td class="memItemLeft" align="right" valign="top">quill::Logger * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a60c4792822f671f094a86378265a416a">m_logger</a> = LogManager::getInstance().getLogger("log")</td></tr>
|
||
|
|
<tr class="memdesc:a60c4792822f671f094a86378265a416a"><td class="mdescLeft"> </td><td class="mdescRight">A pointer to the logger instance, used for logging messages. <br /></td></tr>
|
||
|
|
<tr class="separator:a60c4792822f671f094a86378265a416a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a541f54469c3d2d6ab7671b19057b4341" id="r_a541f54469c3d2d6ab7671b19057b4341"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a541f54469c3d2d6ab7671b19057b4341">m_baseEngine</a></td></tr>
|
||
|
|
<tr class="memdesc:a541f54469c3d2d6ab7671b19057b4341"><td class="mdescLeft"> </td><td class="mdescRight">The underlying engine to which this view delegates calculations. <br /></td></tr>
|
||
|
|
<tr class="separator:a541f54469c3d2d6ab7671b19057b4341"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a8c7bf0f0e5ad83821e3959c47c81cd60" id="r_a8c7bf0f0e5ad83821e3959c47c81cd60"><td class="memItemLeft" align="right" valign="top">std::vector< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8c7bf0f0e5ad83821e3959c47c81cd60">m_activeSpecies</a></td></tr>
|
||
|
|
<tr class="memdesc:a8c7bf0f0e5ad83821e3959c47c81cd60"><td class="mdescLeft"> </td><td class="mdescRight">The set of species that are currently active in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a8c7bf0f0e5ad83821e3959c47c81cd60"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a90a8fa566ca9fe2b74427ea497353e1b" id="r_a90a8fa566ca9fe2b74427ea497353e1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a90a8fa566ca9fe2b74427ea497353e1b">m_activeReactions</a></td></tr>
|
||
|
|
<tr class="memdesc:a90a8fa566ca9fe2b74427ea497353e1b"><td class="mdescLeft"> </td><td class="mdescRight">The set of reactions that are currently active in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a90a8fa566ca9fe2b74427ea497353e1b"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a8eba901e7c19989a9818ec8cbf1ebb7f" id="r_a8eba901e7c19989a9818ec8cbf1ebb7f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8eba901e7c19989a9818ec8cbf1ebb7f">m_isStale</a> = true</td></tr>
|
||
|
|
<tr class="memdesc:a8eba901e7c19989a9818ec8cbf1ebb7f"><td class="mdescLeft"> </td><td class="mdescRight">A flag indicating whether the view is stale and needs to be updated. <br /></td></tr>
|
||
|
|
<tr class="separator:a8eba901e7c19989a9818ec8cbf1ebb7f"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table>
|
||
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||
|
|
<div class="textblock"><p>An engine view that dynamically adapts the reaction network based on runtime conditions. </p>
|
||
|
|
<p>This class implements an <a class="el" href="classgridfire_1_1engine_1_1EngineView.html" title="Abstract base class for a "view" of a reaction network engine.">EngineView</a> that dynamically culls species and reactions from the full reaction network based on their reaction flow rates and connectivity. This allows for efficient simulation of reaction networks by focusing computational effort on the most important species and reactions.</p>
|
||
|
|
<p>The <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> maintains a subset of "active" species and reactions, and maps between the full network indices and the active subset indices. This allows the base engine to operate on the full network data, while the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> provides a reduced view for external clients.</p>
|
||
|
|
<p>The adaptation process is driven by the <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> method, which performs the following steps:</p><ol type="1">
|
||
|
|
<li><b>Reaction Flow Calculation:</b> Calculates the molar reaction flow rate for each reaction in the full network based on the current temperature, density, and composition.</li>
|
||
|
|
<li><b>Reaction Culling:</b> Culls reactions with flow rates below a threshold, determined by a relative culling threshold multiplied by the maximum flow rate.</li>
|
||
|
|
<li><b>Connectivity Analysis:</b> Performs a connectivity analysis to identify species that are reachable from the initial fuel species through the culled reaction network.</li>
|
||
|
|
<li><b>Species Culling:</b> Culls species that are not reachable from the initial fuel.</li>
|
||
|
|
<li><b>Index Map Construction:</b> Constructs index maps to map between the full network indices and the active subset indices for species and reactions.</li>
|
||
|
|
</ol>
|
||
|
|
<p><DynamicEngine></p>
|
||
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="engine__abstract_8h.html" title="Abstract interfaces for reaction network engines in GridFire.">engine_abstract.h</a> </dd>
|
||
|
|
<dd>
|
||
|
|
<a class="el" href="engine__view__abstract_8h.html" title="Abstract interfaces for engine "views" in GridFire.">engine_view_abstract.h</a> </dd>
|
||
|
|
<dd>
|
||
|
|
<a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">AdaptiveEngineView::update()</a> </dd></dl>
|
||
|
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
||
|
|
<a id="a0a49d174e105adb3ffd9cf98ff58db3e" name="a0a49d174e105adb3ffd9cf98ff58db3e"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0a49d174e105adb3ffd9cf98ff58db3e">◆ </a></span>Config</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">using <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a0a49d174e105adb3ffd9cf98ff58db3e">gridfire::engine::AdaptiveEngineView::Config</a> = fourdst::config::Config</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ae8810c067d301b2f620869b0a5c8d5ce" name="ae8810c067d301b2f620869b0a5c8d5ce"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae8810c067d301b2f620869b0a5c8d5ce">◆ </a></span>LogManager</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">using <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#ae8810c067d301b2f620869b0a5c8d5ce">gridfire::engine::AdaptiveEngineView::LogManager</a> = fourdst::logging::LogManager</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a21367fa61169e6f5185bc91b40cc04be" name="a21367fa61169e6f5185bc91b40cc04be"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a21367fa61169e6f5185bc91b40cc04be">◆ </a></span>RescueSet</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">typedef std::pair<std::unordered_set<const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a>*>, std::unordered_set<fourdst::atomic::Species> > <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a21367fa61169e6f5185bc91b40cc04be">gridfire::engine::AdaptiveEngineView::RescueSet</a></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||
|
|
<a id="aea8914f56e34445aacf0a5d0af073897" name="aea8914f56e34445aacf0a5d0af073897"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aea8914f56e34445aacf0a5d0af073897">◆ </a></span>AdaptiveEngineView()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">gridfire::engine::AdaptiveEngineView::AdaptiveEngineView </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> & </td>
|
||
|
|
<td class="paramname"><em>baseEngine</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Constructs an <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a>. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">baseEngine</td><td>The underlying <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html" title="Abstract class for engines supporting Jacobian and stoichiometry operations.">DynamicEngine</a> to which this view delegates calculations.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<p>Initializes the active species and reactions to the full network, and constructs the initial index maps. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
||
|
|
<a id="a6f13f42773dec03a6b3e90b4997d42fb" name="a6f13f42773dec03a6b3e90b4997d42fb"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6f13f42773dec03a6b3e90b4997d42fb">◆ </a></span>calculateAllReactionFlows()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::pair< std::vector< <a class="el" href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html">AdaptiveEngineView::ReactionFlow</a> >, fourdst::composition::Composition > gridfire::engine::AdaptiveEngineView::calculateAllReactionFlows </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Calculates the molar reaction flow rate for all reactions in the full network. </p>
|
||
|
|
<p>This method iterates through all reactions in the base engine's network and calculates their molar flow rates based on the provided network input conditions (temperature, density, and composition). It also constructs a vector of molar abundances for all species in the full network.</p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">netIn</td><td>The current network input, containing temperature, density, and composition. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A pair with the first element a vector of <a class="el" href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html" title="A struct to hold a reaction and its flow rate.">ReactionFlow</a> structs, each containing a pointer to a reaction and its calculated flow rate and the second being a composition object where species which were not present in netIn but are present in the definition of the base engine are registered but have 0 mass fraction.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Algorithm:</dt><dd><ol type="1">
|
||
|
|
<li>Iterates through all species in the base engine's network.</li>
|
||
|
|
<li>For each species, it retrieves the molar abundance from <code>netIn.composition</code>. If the species is not found, its abundance is set to 0.0.</li>
|
||
|
|
<li>Converts the temperature from Kelvin to T9.</li>
|
||
|
|
<li>Iterates through all reactions in the base engine's network.</li>
|
||
|
|
<li>For each reaction, it calls the base engine's <code>calculateMolarReactionFlow</code> to get the flow rate.</li>
|
||
|
|
<li>Stores the reaction pointer and its flow rate in a <code><a class="el" href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html" title="A struct to hold a reaction and its flow rate.">ReactionFlow</a></code> struct and adds it to the returned vector. </li>
|
||
|
|
</ol>
|
||
|
|
</dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a17bbc9c0d480a8533acb193cb9a46fea" name="a17bbc9c0d480a8533acb193cb9a46fea"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a17bbc9c0d480a8533acb193cb9a46fea">◆ </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_1engine_1_1EnergyDerivatives.html">EnergyDerivatives</a> gridfire::engine::AdaptiveEngineView::calculateEpsDerivatives </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>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>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A struct containing the derivatives of the energy generation rate with respect to temperature and density. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ada6a1295a92c2aede841672ecae0cede">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a5bd0174105e836dd98c71ab495357e5b" name="a5bd0174105e836dd98c71ab495357e5b"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5bd0174105e836dd98c71ab495357e5b">◆ </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::engine::AdaptiveEngineView::calculateMolarReactionFlow </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> & </td>
|
||
|
|
<td class="paramname"><em>reaction</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">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">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>Molar flow rate for the reaction (e.g., mol/g/s).</dd></dl>
|
||
|
|
<p>This method maps the culled abundances to the full network abundances and calls the base engine to calculate the molar reaction flow.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the reaction is not part of the active reactions in the adaptive engine view. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aa57fa5e58b98a03fba31bcddda8001d4">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a5de5211bc99a1995143307284be6df4a" name="a5de5211bc99a1995143307284be6df4a"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5de5211bc99a1995143307284be6df4a">◆ </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< <a class="el" href="structgridfire_1_1engine_1_1StepDerivatives.html">StepDerivatives</a>< double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > gridfire::engine::AdaptiveEngineView::calculateRHSAndEnergy </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">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">comp</td><td>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>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="structgridfire_1_1engine_1_1StepDerivatives.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>
|
||
|
|
<p>This method maps the culled abundances to the full network abundances, calls the base engine to calculate the RHS and energy generation, and then maps the full network derivatives back to the culled derivatives.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">AdaptiveEngineView::update()</a> </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1Engine.html#a764fc091c72c12c8529105d7c96badb2">gridfire::engine::Engine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a77d4c08eecfad5cc414161d0fc8db946" name="a77d4c08eecfad5cc414161d0fc8db946"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a77d4c08eecfad5cc414161d0fc8db946">◆ </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::engine::AdaptiveEngineView::collectComposition </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Collect the composition of the base engine, ensure all active species are registered, and pass the composition back to the caller. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>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>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section note"><dt>Note</dt><dd>This function ensures that the state of both the base engine and the adaptive view are synchronized in the result back to the caller </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a41877719ae5e8de53c1692c7cf9bfbfc">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a99ffb65b98dcbc1eae8643c25dbffe91" name="a99ffb65b98dcbc1eae8643c25dbffe91"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a99ffb65b98dcbc1eae8643c25dbffe91">◆ </a></span>cullReactionsByFlow()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> * > gridfire::engine::AdaptiveEngineView::cullReactionsByFlow </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< <a class="el" href="structgridfire_1_1engine_1_1AdaptiveEngineView_1_1ReactionFlow.html">ReactionFlow</a> > & </td>
|
||
|
|
<td class="paramname"><em>allFlows</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const std::unordered_set< fourdst::atomic::Species > & </td>
|
||
|
|
<td class="paramname"><em>reachableSpecies</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>maxFlow</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Culls reactions from the network based on their flow rates. </p>
|
||
|
|
<p>This method filters the list of all reactions, keeping only those with a flow rate above an absolute culling threshold. The threshold is calculated by multiplying the maximum flow rate by a relative culling threshold read from the configuration.</p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">allFlows</td><td>A vector of all reactions and their flow rates. </td></tr>
|
||
|
|
<tr><td class="paramname">reachableSpecies</td><td>A set of all species reachable from the initial fuel. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition of the system. </td></tr>
|
||
|
|
<tr><td class="paramname">maxFlow</td><td>The maximum reaction flow rate in the network. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of pointers to the reactions that have been kept after culling.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Algorithm:</dt><dd><ol type="1">
|
||
|
|
<li>Retrieves the <code>RelativeCullingThreshold</code> from the configuration.</li>
|
||
|
|
<li>Calculates the <code>absoluteCullingThreshold</code> by multiplying <code>maxFlow</code> with the relative threshold.</li>
|
||
|
|
<li>Iterates through <code>allFlows</code>.</li>
|
||
|
|
<li>A reaction is kept if its <code>flowRate</code> is greater than the <code>absoluteCullingThreshold</code>.</li>
|
||
|
|
<li>The pointers to the kept reactions are stored in a vector and returned. </li>
|
||
|
|
</ol>
|
||
|
|
</dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aab32396ad3ab20960bfd505bb6128ff0" name="aab32396ad3ab20960bfd505bb6128ff0"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aab32396ad3ab20960bfd505bb6128ff0">◆ </a></span>finalizeActiveSet()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">void gridfire::engine::AdaptiveEngineView::finalizeActiveSet </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> * > & </td>
|
||
|
|
<td class="paramname"><em>finalReactions</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Finalizes the set of active species and reactions. </p>
|
||
|
|
<p>This method takes the final list of culled reactions and populates the <code>m_activeReactions</code> and <code>m_activeSpecies</code> members. The active species are determined by collecting all reactants and products from the final reactions. The active species list is then sorted by mass.</p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">finalReactions</td><td>A vector of pointers to the reactions to be included in the active set.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd><ul>
|
||
|
|
<li><code>m_activeReactions</code> is cleared and populated with the reactions from <code>finalReactions</code>.</li>
|
||
|
|
<li><code>m_activeSpecies</code> is cleared and populated with all unique species present in <code>finalReactions</code>.</li>
|
||
|
|
<li><code>m_activeSpecies</code> is sorted by atomic mass. </li>
|
||
|
|
</ul>
|
||
|
|
</dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a1bc1c462fe57cc30af5553c353e43db8" name="a1bc1c462fe57cc30af5553c353e43db8"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1bc1c462fe57cc30af5553c353e43db8">◆ </a></span>findReachableSpecies()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::unordered_set< Species > gridfire::engine::AdaptiveEngineView::findReachableSpecies </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Finds all species that are reachable from the initial fuel through the reaction network. </p>
|
||
|
|
<p>This method performs a connectivity analysis to identify all species that can be produced starting from the initial fuel species. A species is considered part of the initial fuel if its mass fraction is above a certain threshold (<code>ABUNDANCE_FLOOR</code>).</p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">netIn</td><td>The current network input, containing the initial composition. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>An unordered set of all reachable species.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Algorithm:</dt><dd><ol type="1">
|
||
|
|
<li>Initializes a set <code>reachable</code> and a queue <code>to_visit</code> with the initial fuel species.</li>
|
||
|
|
<li>Iteratively processes the reaction network until no new species can be reached.</li>
|
||
|
|
<li>In each pass, it iterates through all reactions in the base engine's network.</li>
|
||
|
|
<li>If all reactants of a reaction are in the <code>reachable</code> set, all products of that reaction are added to the <code>reachable</code> set.</li>
|
||
|
|
<li>The process continues until a full pass over all reactions does not add any new species to the <code>reachable</code> set. </li>
|
||
|
|
</ol>
|
||
|
|
</dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a2a44dfae512b370bad6b977330e0636a" name="a2a44dfae512b370bad6b977330e0636a"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2a44dfae512b370bad6b977330e0636a">◆ </a></span>generateJacobianMatrix() <span class="overload">[1/3]</span></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_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> gridfire::engine::AdaptiveEngineView::generateJacobianMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">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>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>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<p>This method maps the culled abundances to the full network abundances and calls the base engine to generate the Jacobian matrix.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">AdaptiveEngineView::update()</a> </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a53276f09346b531f8676db355e1219eb">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ae894f46c67a8b8e02b8988a6b73dc9e5" name="ae894f46c67a8b8e02b8988a6b73dc9e5"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae894f46c67a8b8e02b8988a6b73dc9e5">◆ </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"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> gridfire::engine::AdaptiveEngineView::generateJacobianMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const <a class="el" href="namespacegridfire_1_1engine.html#af5175018d2d1e78a8826dd33ec6d675f">SparsityPattern</a> & </td>
|
||
|
|
<td class="paramname"><em>sparsityPattern</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Generates the Jacobian matrix for the active species with a given sparsity pattern. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>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>
|
||
|
|
<p>This method maps the culled abundances to the full network abundances and calls the base engine to generate the Jacobian matrix.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">AdaptiveEngineView::update()</a> </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a51d55a21be28e372021b2b8e5ecdc551">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a1b7b3b0b449d0859d57f99188cdd83d6" name="a1b7b3b0b449d0859d57f99188cdd83d6"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1b7b3b0b449d0859d57f99188cdd83d6">◆ </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"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> gridfire::engine::AdaptiveEngineView::generateJacobianMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const std::vector< fourdst::atomic::Species > & </td>
|
||
|
|
<td class="paramname"><em>activeSpecies</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Generates the Jacobian matrix for some set of active species such that that set is a subset of the active species in the view. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>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 list of active species for which to generate the Jacobian.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<p>This method maps the culled abundances to the full network abundances and calls the base engine to generate the Jacobian matrix.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">AdaptiveEngineView::update()</a> </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a15d53dac8b622a3b7d0f928a3995dbde">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a754445722193f11ae534b7c0afa9b8aa" name="a754445722193f11ae534b7c0afa9b8aa"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a754445722193f11ae534b7c0afa9b8aa">◆ </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::engine::AdaptiveEngineView::generateStoichiometryMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Generates the stoichiometry matrix for the active reactions and species. </p>
|
||
|
|
<p>This method calls the base engine to generate the stoichiometry matrix.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section note"><dt>Note</dt><dd>The stoichiometry matrix generated by the base engine is assumed to be consistent with the active species and reactions in this view. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a5e2c45a3e415b53e41def8f743f93464">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a69122f748b873b872aa86350061b1b5c" name="a69122f748b873b872aa86350061b1b5c"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a69122f748b873b872aa86350061b1b5c">◆ </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_1engine_1_1DynamicEngine.html">DynamicEngine</a> & gridfire::engine::AdaptiveEngineView::getBaseEngine </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the base engine. </p>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A const reference to the base engine. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1EngineView.html#a7884ea8e5618e295e64150f3ecf2c6b5">gridfire::engine::EngineView< DynamicEngine ></a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a722ea6e07d46f739c29ad681c7500f8c" name="a722ea6e07d46f739c29ad681c7500f8c"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a722ea6e07d46f739c29ad681c7500f8c">◆ </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="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> & gridfire::engine::AdaptiveEngineView::getNetworkReactions </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">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 LogicalReactionSet containing all active reactions. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a26b59a4c7622bf820c0eeec6a7522aa8">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aaa2d47f44e5bb4d9660d7c017cc5085c" name="aaa2d47f44e5bb4d9660d7c017cc5085c"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaa2d47f44e5bb4d9660d7c017cc5085c">◆ </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< Species > & gridfire::engine::AdaptiveEngineView::getNetworkSpecies </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the list of active species in the network. </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_1engine_1_1Engine.html#a3263c3fde2509d5d8ec4da3b6e946c48">gridfire::engine::Engine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="acbd5b36262fa7d40f3274f4be6f0b8f6" name="acbd5b36262fa7d40f3274f4be6f0b8f6"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acbd5b36262fa7d40f3274f4be6f0b8f6">◆ </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::engine::AdaptiveEngineView::getScreeningModel </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the screening model from the base engine. </p>
|
||
|
|
<p>This method delegates the call to the base engine to get the screening model.</p>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The current screening model type.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><a class="code hl_class" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html">AdaptiveEngineView</a> engineView(...);</div>
|
||
|
|
<div class="line"><a class="code hl_enumeration" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> model = engineView.getScreeningModel();</div>
|
||
|
|
<div class="ttc" id="aclassgridfire_1_1engine_1_1AdaptiveEngineView_html"><div class="ttname"><a href="classgridfire_1_1engine_1_1AdaptiveEngineView.html">gridfire::engine::AdaptiveEngineView</a></div><div class="ttdoc">An engine view that dynamically adapts the reaction network based on runtime conditions.</div><div class="ttdef"><b>Definition</b> engine_adaptive.h:49</div></div>
|
||
|
|
<div class="ttc" id="anamespacegridfire_1_1screening_html_aa82aafbc4f8c28d0a75b60798e3a7d25"><div class="ttname"><a href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a></div><div class="ttdeci">ScreeningType</div><div class="ttdoc">Enumerates the available plasma screening models.</div><div class="ttdef"><b>Definition</b> screening_types.h:15</div></div>
|
||
|
|
</div><!-- fragment --> </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a24103027a38e02d4342161164554d332">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a420666d17650736e20402514294f9a14" name="a420666d17650736e20402514294f9a14"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a420666d17650736e20402514294f9a14">◆ </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< std::unordered_map< Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > gridfire::engine::AdaptiveEngineView::getSpeciesDestructionTimescales </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Computes destruction 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>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>Map from Species to their destruction timescales (s).</dd></dl>
|
||
|
|
<p>This method maps the culled abundances to the full network abundances and calls the base engine to compute the species destruction timescales.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aefc5d0f7842b27a108ba1e4ca346e9a0">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ad7a82578006e5c55ca7716e7ab7e710c" name="ad7a82578006e5c55ca7716e7ab7e710c"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad7a82578006e5c55ca7716e7ab7e710c">◆ </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">size_t gridfire::engine::AdaptiveEngineView::getSpeciesIndex </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the index of a species in the active species list. </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 index. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The index of the species in the active species list.</dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
<tr><td class="paramname">std::out_of_range</td><td>If the species is not part of the active species in the adaptive engine view. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ac0f40017603e8e6887b75dc7360d7c5e">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a5166197fd61060b2a9a445f707ee871b" name="a5166197fd61060b2a9a445f707ee871b"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5166197fd61060b2a9a445f707ee871b">◆ </a></span>getSpeciesStatus()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="namespacegridfire_1_1engine.html#a83c9d755597668bba3cf00cd0ea10ee3">SpeciesStatus</a> gridfire::engine::AdaptiveEngineView::getSpeciesStatus </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the status 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 for which to get the status. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The SpeciesStatus indicating the status of the species.</dd></dl>
|
||
|
|
<p>This method delegates the call to the base engine to get the species status. If the base engine says that the species is active but it is not in the active species list of this view, the status is returned as INACTIVE_FLOW. </p>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a8aebefad50c1aa34207e118e92d7ccf0">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ade5dad29a79209e677b259a9b28c5133" name="ade5dad29a79209e677b259a9b28c5133"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ade5dad29a79209e677b259a9b28c5133">◆ </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< std::unordered_map< Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > gridfire::engine::AdaptiveEngineView::getSpeciesTimescales </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">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>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>Map from Species to their characteristic timescales (s).</dd></dl>
|
||
|
|
<p>This method maps the culled abundances to the full network abundances and calls the base engine to compute the species timescales.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aef6ed91d922c0b1733fd7835e99d0efe">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aae6d8bab169721f0b89682ce8c4b4f10" name="aae6d8bab169721f0b89682ce8c4b4f10"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aae6d8bab169721f0b89682ce8c4b4f10">◆ </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::engine::AdaptiveEngineView::getStoichiometryMatrixEntry </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> & </td>
|
||
|
|
<td class="paramname"><em>reaction</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">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">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>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The stoichiometric coefficient for the given species and reaction.</dd></dl>
|
||
|
|
<p>This method maps the culled indices to the full network indices and calls the base engine to get the stoichiometry matrix entry.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
<tr><td class="paramname">std::out_of_range</td><td>If the culled index is out of bounds for the species or reaction index map. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">AdaptiveEngineView::update()</a> </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a5ce6ff370e3f0964c6b2688fb3f4bb7e">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a6c08b4235996d12472d2a327eab8e984" name="a6c08b4235996d12472d2a327eab8e984"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6c08b4235996d12472d2a327eab8e984">◆ </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::engine::AdaptiveEngineView::isStale </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Check if the engine's internal state is stale. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">netIn</td><td>A struct containing the current network input, such as temperature, density, and composition. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the engine's state is stale and needs to be updated; false otherwise.</dd></dl>
|
||
|
|
<p>This method allows derived classes to determine if their internal state is out-of-date with respect to the provided network conditions. If the engine is stale, it may require a call to <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> before performing calculations.</p>
|
||
|
|
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><a class="code hl_struct" href="structgridfire_1_1NetIn.html">NetIn</a> input = { ... };</div>
|
||
|
|
<div class="line"><span class="keywordflow">if</span> (myEngine.isStale(input)) {</div>
|
||
|
|
<div class="line"> <span class="comment">// Update the engine before proceeding</span></div>
|
||
|
|
<div class="line">}</div>
|
||
|
|
<div class="ttc" id="astructgridfire_1_1NetIn_html"><div class="ttname"><a href="structgridfire_1_1NetIn.html">gridfire::NetIn</a></div><div class="ttdef"><b>Definition</b> types.h:27</div></div>
|
||
|
|
</div><!-- fragment --> </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a79423b9f67b4cac702547b4f1d8bd14c">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a24cc7e1a7471d707707b4d44ebd81068" name="a24cc7e1a7471d707707b4d44ebd81068"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a24cc7e1a7471d707707b4d44ebd81068">◆ </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< double > gridfire::engine::AdaptiveEngineView::mapNetInToMolarAbundanceVector </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Maps the molar abundance vector from the active species to the full network species. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">netIn</td><td>The current network input, containing temperature, density, and composition. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances for all species in the full network.</dd></dl>
|
||
|
|
<p>This method constructs a molar abundance vector for the full network by mapping the abundances from the active species in <code>netIn</code> to their corresponding indices in the full network. Species not present in <code>netIn</code> are assigned an abundance of zero.</p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aa9d55b81c1963113aad86aa60c19676f">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a955a337f89a375637ac48071be45c54c" name="a955a337f89a375637ac48071be45c54c"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a955a337f89a375637ac48071be45c54c">◆ </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_1engine_1_1PrimingReport.html">PrimingReport</a> gridfire::engine::AdaptiveEngineView::primeEngine </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Primes the engine with the given network input. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">netIn</td><td>The current network input, containing temperature, density, and composition. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="structgridfire_1_1engine_1_1PrimingReport.html" title="Captures the result of a network priming operation.">PrimingReport</a> indicating the result of the priming operation.</dd></dl>
|
||
|
|
<p>This method delegates the priming operation to the base engine. </p>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a70e270bb50910c0055a75575c1ef1e95">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a85e70c0ff022c31702472aa39fc64816" name="a85e70c0ff022c31702472aa39fc64816"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a85e70c0ff022c31702472aa39fc64816">◆ </a></span>rescueEdgeSpeciesDestructionChannel()</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_1engine_1_1AdaptiveEngineView.html#a21367fa61169e6f5185bc91b40cc04be">AdaptiveEngineView::RescueSet</a> gridfire::engine::AdaptiveEngineView::rescueEdgeSpeciesDestructionChannel </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const std::vector< fourdst::atomic::Species > & </td>
|
||
|
|
<td class="paramname"><em>activeSpecies</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> & </td>
|
||
|
|
<td class="paramname"><em>activeReactions</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a5dbfcafa606c3242dc4ced62c2494a2d" name="a5dbfcafa606c3242dc4ced62c2494a2d"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5dbfcafa606c3242dc4ced62c2494a2d">◆ </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::engine::AdaptiveEngineView::setNetworkReactions </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> & </td>
|
||
|
|
<td class="paramname"><em>reactions</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Sets the reaction set for the base engine. </p>
|
||
|
|
<p>This method delegates the call to the base engine to set the reaction set.</p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">reactions</td><td>The ReactionSet to set in the base engine.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The reaction set of the base engine is updated. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ab321170954bffc53b1bedaf54f6976be">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ab050409db954a3fa593633f9d2cd5d89" name="ab050409db954a3fa593633f9d2cd5d89"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab050409db954a3fa593633f9d2cd5d89">◆ </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::engine::AdaptiveEngineView::setScreeningModel </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> </td>
|
||
|
|
<td class="paramname"><em>model</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Sets the screening model for the base engine. </p>
|
||
|
|
<p>This method delegates the call to the base engine to set the electron screening model.</p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">model</td><td>The electron screening model to set.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><a class="code hl_class" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html">AdaptiveEngineView</a> engineView(...);</div>
|
||
|
|
<div class="line">engineView.setScreeningModel(<a class="code hl_enumvalue" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8">screening::ScreeningType::WEAK</a>);</div>
|
||
|
|
<div class="ttc" id="anamespacegridfire_1_1screening_html_aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8"><div class="ttname"><a href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8">gridfire::screening::ScreeningType::WEAK</a></div><div class="ttdeci">@ WEAK</div><div class="ttdoc">Weak screening model (Salpeter, 1954).</div></div>
|
||
|
|
</div><!-- fragment --></dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The screening model of the base engine is updated. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a50e76977d0dc3cc23d52b51842d35003">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a8db6ba52f454c136ee0a1335436fab6e" name="a8db6ba52f454c136ee0a1335436fab6e"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8db6ba52f454c136ee0a1335436fab6e">◆ </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::engine::AdaptiveEngineView::update </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Updates the active species and reactions based on the current conditions. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">netIn</td><td>The current network input, containing temperature, density, and composition.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<p>This method performs the reaction flow calculation, reaction culling, connectivity analysis, and index map construction steps described above.</p>
|
||
|
|
<p>The culling thresholds are read from the configuration using the following keys:</p><ul>
|
||
|
|
<li><code>gridfire:AdaptiveEngineView:RelativeCullingThreshold</code> (default: 1e-75)</li>
|
||
|
|
</ul>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If there is a mismatch between the active reactions and the base engine. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The active species and reactions are updated, and the index maps are reconstructed. </dd></dl>
|
||
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> </dd>
|
||
|
|
<dd>
|
||
|
|
AdaptiveEngineView::constructSpeciesIndexMap() </dd>
|
||
|
|
<dd>
|
||
|
|
AdaptiveEngineView::constructReactionIndexMap() </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a8dd85442ec54f20d91743c72364e36ff">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a63837a6a4343a2ac6a61e21576b62655" name="a63837a6a4343a2ac6a61e21576b62655"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a63837a6a4343a2ac6a61e21576b62655">◆ </a></span>validateState()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">void gridfire::engine::AdaptiveEngineView::validateState </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Validates that the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is not stale. </p>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">std::runtime_error</td><td>If the <a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a> is stale (i.e., <code><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html#a8db6ba52f454c136ee0a1335436fab6e" title="Updates the active species and reactions based on the current conditions.">update()</a></code> has not been called). </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
||
|
|
<a id="a90a8fa566ca9fe2b74427ea497353e1b" name="a90a8fa566ca9fe2b74427ea497353e1b"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a90a8fa566ca9fe2b74427ea497353e1b">◆ </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="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> gridfire::engine::AdaptiveEngineView::m_activeReactions</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>The set of reactions that are currently active in the network. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a8c7bf0f0e5ad83821e3959c47c81cd60" name="a8c7bf0f0e5ad83821e3959c47c81cd60"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8c7bf0f0e5ad83821e3959c47c81cd60">◆ </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<fourdst::atomic::Species> gridfire::engine::AdaptiveEngineView::m_activeSpecies</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>The set of species that are currently active in the network. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a541f54469c3d2d6ab7671b19057b4341" name="a541f54469c3d2d6ab7671b19057b4341"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a541f54469c3d2d6ab7671b19057b4341">◆ </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_1engine_1_1DynamicEngine.html">DynamicEngine</a>& gridfire::engine::AdaptiveEngineView::m_baseEngine</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>The underlying engine to which this view delegates calculations. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ac68b44310985613bb5736dd32d415734" name="ac68b44310985613bb5736dd32d415734"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac68b44310985613bb5736dd32d415734">◆ </a></span>m_config</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_1engine_1_1AdaptiveEngineView.html#a0a49d174e105adb3ffd9cf98ff58db3e">Config</a>& gridfire::engine::AdaptiveEngineView::m_config = Config::getInstance()</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>A reference to the singleton Config instance, used for retrieving configuration parameters. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a8eba901e7c19989a9818ec8cbf1ebb7f" name="a8eba901e7c19989a9818ec8cbf1ebb7f"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8eba901e7c19989a9818ec8cbf1ebb7f">◆ </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::engine::AdaptiveEngineView::m_isStale = true</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>A flag indicating whether the view is stale and needs to be updated. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a60c4792822f671f094a86378265a416a" name="a60c4792822f671f094a86378265a416a"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a60c4792822f671f094a86378265a416a">◆ </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::engine::AdaptiveEngineView::m_logger = LogManager::getInstance().getLogger("log")</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>A pointer to the logger instance, used for logging messages. </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__adaptive_8h.html">engine_adaptive.h</a></li>
|
||
|
|
<li>src/lib/engine/views/<a class="el" href="engine__adaptive_8cpp.html">engine_adaptive.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="namespacegridfire_1_1engine.html">engine</a></li><li class="navelem"><a class="el" href="classgridfire_1_1engine_1_1AdaptiveEngineView.html">AdaptiveEngineView</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.9.8 </li>
|
||
|
|
</ul>
|
||
|
|
</div>
|
||
|
|
</body>
|
||
|
|
</html>
|