893 lines
62 KiB
HTML
893 lines
62 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.13.2"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>GridFire: gridfire::DynamicEngine Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
|
</div>
|
|
<div id="projectbrief">General Purpose Nuclear Network</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.13.2 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){initNavTree('classgridfire_1_1_dynamic_engine.html',''); initResizable(true); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="classgridfire_1_1_dynamic_engine-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">gridfire::DynamicEngine Class Reference<span class="mlabels"><span class="mlabel abstract">abstract</span></span></div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Abstract class for engines supporting Jacobian and stoichiometry operations.
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><code>#include <engine_abstract.h></code></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for gridfire::DynamicEngine:</div>
|
|
<div class="dyncontent">
|
|
<div class="center">
|
|
<img src="classgridfire_1_1_dynamic_engine.png" usemap="#gridfire::DynamicEngine_map" alt=""/>
|
|
<map id="gridfire::DynamicEngine_map" name="gridfire::DynamicEngine_map">
|
|
<area href="classgridfire_1_1_engine.html" title="Abstract base class for a reaction network engine." alt="gridfire::Engine" shape="rect" coords="512,0,758,24"/>
|
|
<area href="class_py_dynamic_engine.html" alt="PyDynamicEngine" shape="rect" coords="0,112,246,136"/>
|
|
<area href="classgridfire_1_1_adaptive_engine_view.html" title="An engine view that dynamically adapts the reaction network based on runtime conditions." alt="gridfire::AdaptiveEngineView" shape="rect" coords="256,112,502,136"/>
|
|
<area href="classgridfire_1_1_defined_engine_view.html" alt="gridfire::DefinedEngineView" shape="rect" coords="512,112,758,136"/>
|
|
<area href="classgridfire_1_1_graph_engine.html" title="A reaction network engine that uses a graph-based representation." alt="gridfire::GraphEngine" shape="rect" coords="768,112,1014,136"/>
|
|
<area href="classgridfire_1_1_multiscale_partitioning_engine_view.html" title="An engine view that partitions the reaction network into multiple groups based on timescales." alt="gridfire::MultiscalePartitioningEngineView" shape="rect" coords="1024,112,1270,136"/>
|
|
<area href="classgridfire_1_1_file_defined_engine_view.html" alt="gridfire::FileDefinedEngineView" shape="rect" coords="384,168,630,192"/>
|
|
<area href="classgridfire_1_1_network_priming_engine_view.html" title="Provides a view of a DynamicEngine filtered to reactions involving a specified priming species." alt="gridfire::NetworkPrimingEngineView" shape="rect" coords="640,168,886,192"/>
|
|
</map>
|
|
</div></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a29bdd4231c29c3a4e524ad6ca66a127d" id="r_a29bdd4231c29c3a4e524ad6ca66a127d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a29bdd4231c29c3a4e524ad6ca66a127d">generateJacobianMatrix</a> (const std::vector< double > &Y_dynamic, double T9, double rho) const =0</td></tr>
|
|
<tr class="memdesc:a29bdd4231c29c3a4e524ad6ca66a127d"><td class="mdescLeft"> </td><td class="mdescRight">Generate the Jacobian matrix for the current state. <br /></td></tr>
|
|
<tr class="separator:a29bdd4231c29c3a4e524ad6ca66a127d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a818d942efa843959393e4eed3263b7e7" id="r_a818d942efa843959393e4eed3263b7e7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a818d942efa843959393e4eed3263b7e7">generateJacobianMatrix</a> (const std::vector< double > &Y_dynamic, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &sparsityPattern) const</td></tr>
|
|
<tr class="separator:a818d942efa843959393e4eed3263b7e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a05d15ff35a6bc06a2fa7eda19838bd07" id="r_a05d15ff35a6bc06a2fa7eda19838bd07"><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a05d15ff35a6bc06a2fa7eda19838bd07">getJacobianMatrixEntry</a> (int i, int j) const =0</td></tr>
|
|
<tr class="memdesc:a05d15ff35a6bc06a2fa7eda19838bd07"><td class="mdescLeft"> </td><td class="mdescRight">Get an entry from the previously generated Jacobian matrix. <br /></td></tr>
|
|
<tr class="separator:a05d15ff35a6bc06a2fa7eda19838bd07"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeae6d84ef74d88fd2cdf07b82e98a16f" id="r_aeae6d84ef74d88fd2cdf07b82e98a16f"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aeae6d84ef74d88fd2cdf07b82e98a16f">generateStoichiometryMatrix</a> ()=0</td></tr>
|
|
<tr class="memdesc:aeae6d84ef74d88fd2cdf07b82e98a16f"><td class="mdescLeft"> </td><td class="mdescRight">Generate the stoichiometry matrix for the network. <br /></td></tr>
|
|
<tr class="separator:aeae6d84ef74d88fd2cdf07b82e98a16f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afa108dd5227dbb1045e90d7b3bd8b84f" id="r_afa108dd5227dbb1045e90d7b3bd8b84f"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="#afa108dd5227dbb1045e90d7b3bd8b84f">getStoichiometryMatrixEntry</a> (int speciesIndex, int reactionIndex) const =0</td></tr>
|
|
<tr class="memdesc:afa108dd5227dbb1045e90d7b3bd8b84f"><td class="mdescLeft"> </td><td class="mdescRight">Get an entry from the stoichiometry matrix. <br /></td></tr>
|
|
<tr class="separator:afa108dd5227dbb1045e90d7b3bd8b84f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6633b1757c41dd9e1c397333f4f9e785" id="r_a6633b1757c41dd9e1c397333f4f9e785"><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6633b1757c41dd9e1c397333f4f9e785">calculateMolarReactionFlow</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &reaction, const std::vector< double > &Y, double T9, double rho) const =0</td></tr>
|
|
<tr class="memdesc:a6633b1757c41dd9e1c397333f4f9e785"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the molar reaction flow for a given reaction. <br /></td></tr>
|
|
<tr class="separator:a6633b1757c41dd9e1c397333f4f9e785"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad2a82099edbb374bbb2c9509ccdb1037" id="r_ad2a82099edbb374bbb2c9509ccdb1037"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad2a82099edbb374bbb2c9509ccdb1037">getNetworkReactions</a> () const =0</td></tr>
|
|
<tr class="memdesc:ad2a82099edbb374bbb2c9509ccdb1037"><td class="mdescLeft"> </td><td class="mdescRight">Get the set of logical reactions in the network. <br /></td></tr>
|
|
<tr class="separator:ad2a82099edbb374bbb2c9509ccdb1037"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afb2ec904d88fc8aab516db4059d0e00f" id="r_afb2ec904d88fc8aab516db4059d0e00f"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#afb2ec904d88fc8aab516db4059d0e00f">setNetworkReactions</a> (const <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> &reactions)=0</td></tr>
|
|
<tr class="separator:afb2ec904d88fc8aab516db4059d0e00f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6772ac384b4c3d3e91712041e4aaa813" id="r_a6772ac384b4c3d3e91712041e4aaa813"><td class="memItemLeft" align="right" valign="top">virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6772ac384b4c3d3e91712041e4aaa813">getSpeciesTimescales</a> (const std::vector< double > &Y, double T9, double rho) const =0</td></tr>
|
|
<tr class="memdesc:a6772ac384b4c3d3e91712041e4aaa813"><td class="mdescLeft"> </td><td class="mdescRight">Compute timescales for all species in the network. <br /></td></tr>
|
|
<tr class="separator:a6772ac384b4c3d3e91712041e4aaa813"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6ca0f315f75252ca505507a61556dda6" id="r_a6ca0f315f75252ca505507a61556dda6"><td class="memItemLeft" align="right" valign="top">virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6ca0f315f75252ca505507a61556dda6">getSpeciesDestructionTimescales</a> (const std::vector< double > &Y, double T9, double rho) const =0</td></tr>
|
|
<tr class="separator:a6ca0f315f75252ca505507a61556dda6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa799ff785e7e79bf35b11efd55f6282a" id="r_aa799ff785e7e79bf35b11efd55f6282a"><td class="memItemLeft" align="right" valign="top">virtual fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa799ff785e7e79bf35b11efd55f6282a">update</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn)=0</td></tr>
|
|
<tr class="memdesc:aa799ff785e7e79bf35b11efd55f6282a"><td class="mdescLeft"> </td><td class="mdescRight">Update the internal state of the engine. <br /></td></tr>
|
|
<tr class="separator:aa799ff785e7e79bf35b11efd55f6282a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a942e65ced17ca602482cc42e469d6398" id="r_a942e65ced17ca602482cc42e469d6398"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a942e65ced17ca602482cc42e469d6398">isStale</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn)=0</td></tr>
|
|
<tr class="separator:a942e65ced17ca602482cc42e469d6398"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3fb44b6f55563a2f590f31916528f2bd" id="r_a3fb44b6f55563a2f590f31916528f2bd"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3fb44b6f55563a2f590f31916528f2bd">setScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> model)=0</td></tr>
|
|
<tr class="memdesc:a3fb44b6f55563a2f590f31916528f2bd"><td class="mdescLeft"> </td><td class="mdescRight">Set the electron screening model. <br /></td></tr>
|
|
<tr class="separator:a3fb44b6f55563a2f590f31916528f2bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7a203f8e0f3a6744ddc912dfbcfdbcc0" id="r_a7a203f8e0f3a6744ddc912dfbcfdbcc0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7a203f8e0f3a6744ddc912dfbcfdbcc0">getScreeningModel</a> () const =0</td></tr>
|
|
<tr class="memdesc:a7a203f8e0f3a6744ddc912dfbcfdbcc0"><td class="mdescLeft"> </td><td class="mdescRight">Get the current electron screening model. <br /></td></tr>
|
|
<tr class="separator:a7a203f8e0f3a6744ddc912dfbcfdbcc0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad3d56a8b9161b9cc7f4da51f6bf7e8c9" id="r_ad3d56a8b9161b9cc7f4da51f6bf7e8c9"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const =0</td></tr>
|
|
<tr class="separator:ad3d56a8b9161b9cc7f4da51f6bf7e8c9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a55f1b7e5ebe2840e1d7c54665ca5411a" id="r_a55f1b7e5ebe2840e1d7c54665ca5411a"><td class="memItemLeft" align="right" valign="top">virtual std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a55f1b7e5ebe2840e1d7c54665ca5411a">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) const =0</td></tr>
|
|
<tr class="separator:a55f1b7e5ebe2840e1d7c54665ca5411a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a21c34f59c080a853fafa38a25175124e" id="r_a21c34f59c080a853fafa38a25175124e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a21c34f59c080a853fafa38a25175124e">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn)=0</td></tr>
|
|
<tr class="separator:a21c34f59c080a853fafa38a25175124e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
|
|
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
|
|
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
|
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
|
<tr class="memdesc:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br /></td></tr>
|
|
<tr class="separator:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a020e1b493d6964cafdad08fde697ceb3 inherit pub_methods_classgridfire_1_1_engine" id="r_a020e1b493d6964cafdad08fde697ceb3"><td class="memItemLeft" align="right" valign="top">virtual const std::vector< fourdst::atomic::Species > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3">getNetworkSpecies</a> () const =0</td></tr>
|
|
<tr class="memdesc:a020e1b493d6964cafdad08fde697ceb3 inherit pub_methods_classgridfire_1_1_engine"><td class="mdescLeft"> </td><td class="mdescRight">Get the list of species in the network. <br /></td></tr>
|
|
<tr class="separator:a020e1b493d6964cafdad08fde697ceb3 inherit pub_methods_classgridfire_1_1_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a89f714d19b84a93a004a7afbb487a6cb inherit pub_methods_classgridfire_1_1_engine" id="r_a89f714d19b84a93a004a7afbb487a6cb"><td class="memItemLeft" align="right" valign="top">virtual std::expected< <a class="el" href="structgridfire_1_1_step_derivatives.html">StepDerivatives</a>< double >, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a89f714d19b84a93a004a7afbb487a6cb">calculateRHSAndEnergy</a> (const std::vector< double > &Y, double T9, double rho) const =0</td></tr>
|
|
<tr class="memdesc:a89f714d19b84a93a004a7afbb487a6cb inherit pub_methods_classgridfire_1_1_engine"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the right-hand side (dY/dt) and energy generation. <br /></td></tr>
|
|
<tr class="separator:a89f714d19b84a93a004a7afbb487a6cb inherit pub_methods_classgridfire_1_1_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Abstract class for engines supporting Jacobian and stoichiometry operations. </p>
|
|
<p>Extends <a class="el" href="classgridfire_1_1_engine.html" title="Abstract base class for a reaction network engine.">Engine</a> with additional methods for:</p><ul>
|
|
<li>Generating and accessing the Jacobian matrix (for implicit solvers).</li>
|
|
<li>Generating and accessing the stoichiometry matrix.</li>
|
|
<li>Calculating molar reaction flows for individual reactions.</li>
|
|
<li>Accessing the set of logical reactions in the network.</li>
|
|
<li>Computing timescales for each species.</li>
|
|
</ul>
|
|
<p>Intended usage: Derive from this class to implement engines that support advanced solver features such as implicit integration, sensitivity analysis, QSE (Quasi-Steady-State Equilibrium) handling, and more. </p>
|
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a6633b1757c41dd9e1c397333f4f9e785" name="a6633b1757c41dd9e1c397333f4f9e785"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6633b1757c41dd9e1c397333f4f9e785">◆ </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">virtual double gridfire::DynamicEngine::calculateMolarReactionFlow </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &</td> <td class="paramname"><span class="paramname"><em>reaction</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< double > &</td> <td class="paramname"><span class="paramname"><em>Y</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calculate the molar reaction flow for a given reaction. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">reaction</td><td>The reaction for which to calculate the flow. </td></tr>
|
|
<tr><td class="paramname">Y</td><td>Vector of 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 computes the net rate at which the given reaction proceeds under the current state. </p>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a142725470f96cba3edb48a29f1264032">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a79eb9c108d694a27ec913ed0143aa044">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a6224f546ba66b1257506b1fc9f47195a">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29bdd4231c29c3a4e524ad6ca66a127d" name="a29bdd4231c29c3a4e524ad6ca66a127d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29bdd4231c29c3a4e524ad6ca66a127d">◆ </a></span>generateJacobianMatrix() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void gridfire::DynamicEngine::generateJacobianMatrix </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< double > &</td> <td class="paramname"><span class="paramname"><em>Y_dynamic</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Generate the Jacobian matrix for the current state. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">Y_dynamic</td><td>Vector of 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>
|
|
<p>This method must compute and store the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state. The matrix can then be accessed via <a class="el" href="#a05d15ff35a6bc06a2fa7eda19838bd07" title="Get an entry from the previously generated Jacobian matrix.">getJacobianMatrixEntry()</a>. </p>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a03fc187d3d306b9058103b9522cbbaeb">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#ad25c722eaee1f28f8ed7b4d33a1f69ae">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#ad049a295e2bb0f3e97b76d5742875119">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#acdf5ad8765290ea2b78170235aea391d">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a5bd40c752db1badcd600797c9113121d">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a818d942efa843959393e4eed3263b7e7" name="a818d942efa843959393e4eed3263b7e7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a818d942efa843959393e4eed3263b7e7">◆ </a></span>generateJacobianMatrix() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void gridfire::DynamicEngine::generateJacobianMatrix </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< double > &</td> <td class="paramname"><span class="paramname"><em>Y_dynamic</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &</td> <td class="paramname"><span class="paramname"><em>sparsityPattern</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel virtual">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reimplemented in <a class="el" href="classgridfire_1_1_graph_engine.html#a9687eef88c97eeb7f8680acb230f8ac1">gridfire::GraphEngine</a>, and <a class="el" href="class_py_dynamic_engine.html#aa0f1fd3f0c0185395193d1b6897d64c5">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeae6d84ef74d88fd2cdf07b82e98a16f" name="aeae6d84ef74d88fd2cdf07b82e98a16f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeae6d84ef74d88fd2cdf07b82e98a16f">◆ </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">virtual void gridfire::DynamicEngine::generateStoichiometryMatrix </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Generate the stoichiometry matrix for the network. </p>
|
|
<p>This method must compute and store the stoichiometry matrix, which encodes the net change of each species in each reaction. </p>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#ad07221be49ae1b5133c5b987dafac3b6">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#abe76a46784b1ebc8ad67a9eec40d369a">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a2066649ca11a869c054079ea12d8d0e9">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a04317b66ef14d519264bc30ee69f5bf9" name="a04317b66ef14d519264bc30ee69f5bf9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a04317b66ef14d519264bc30ee69f5bf9">◆ </a></span>getDepth()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> gridfire::DynamicEngine::getDepth </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel nodiscard">nodiscard</span><span class="mlabel virtual">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reimplemented in <a class="el" href="classgridfire_1_1_graph_engine.html#a166a5f4349580f9aa0b930afec73fcc4">gridfire::GraphEngine</a>, and <a class="el" href="class_py_dynamic_engine.html#adba68716d832b6100e08d32fbc36f13c">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a05d15ff35a6bc06a2fa7eda19838bd07" name="a05d15ff35a6bc06a2fa7eda19838bd07"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a05d15ff35a6bc06a2fa7eda19838bd07">◆ </a></span>getJacobianMatrixEntry()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual double gridfire::DynamicEngine::getJacobianMatrixEntry </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>i</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>j</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get an entry from the previously generated Jacobian matrix. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">i</td><td>Row index (species index). </td></tr>
|
|
<tr><td class="paramname">j</td><td>Column index (species index). </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Value of the Jacobian matrix at (i, j).</dd></dl>
|
|
<p>The Jacobian must have been generated by <a class="el" href="#a29bdd4231c29c3a4e524ad6ca66a127d" title="Generate the Jacobian matrix for the current state.">generateJacobianMatrix()</a> before calling this. </p>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a273b175049f5ce7b9208e931ad139e1b">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#ac961484383e86d9712a424728e068633">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a1c888bbc0618f1ae02d9a53e45f3c159">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad2a82099edbb374bbb2c9509ccdb1037" name="ad2a82099edbb374bbb2c9509ccdb1037"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad2a82099edbb374bbb2c9509ccdb1037">◆ </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">virtual const <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> & gridfire::DynamicEngine::getNetworkReactions </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get the set of logical reactions in the network. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Reference to the <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31" title="A set of logical reactions.">LogicalReactionSet</a> containing all reactions. </dd></dl>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#ae03b4f9afac03d4011a4d7cf0423535d">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#ad751f2c1306895ee74a61f2071ca96eb">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a5988cfba247631ba6c00795cafda9a38">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7a203f8e0f3a6744ddc912dfbcfdbcc0" name="a7a203f8e0f3a6744ddc912dfbcfdbcc0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7a203f8e0f3a6744ddc912dfbcfdbcc0">◆ </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">virtual <a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> gridfire::DynamicEngine::getScreeningModel </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get the current electron screening model. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The currently active screening model type.</dd></dl>
|
|
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><a class="code hl_enumeration" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> currentModel = myEngine.getScreeningModel();</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>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a0ab1199f900a58f309c3c36532c9164f">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a3c657b82a0117118a4bb0ce7f624ae0c">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a697f2004e0d02c59e83c7890742d7c9a">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a7bfb4e6fec2f337a1dea69e3d4f1fc82">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#ab4cfdca5e15957c5cef75ffa6dedeee5">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6ca0f315f75252ca505507a61556dda6" name="a6ca0f315f75252ca505507a61556dda6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6ca0f315f75252ca505507a61556dda6">◆ </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">virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> > gridfire::DynamicEngine::getSpeciesDestructionTimescales </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< double > &</td> <td class="paramname"><span class="paramname"><em>Y</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a522e78bce9ff062939572248d57f8cea">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a3d58e36ed8a6a0d82bb65e91090f7491">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#aef8f6bde24d27345067b71084330c7da">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#aa38c367ef3c74d012ccd10521cd5a727">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a020044829e0146427ed4830e5b02c4f3">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad3d56a8b9161b9cc7f4da51f6bf7e8c9" name="ad3d56a8b9161b9cc7f4da51f6bf7e8c9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">◆ </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">virtual int gridfire::DynamicEngine::getSpeciesIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const fourdst::atomic::Species &</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a9055feb245524a5a9549ace935f059ff">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#abfee22688617ffe91c69be93049c89b3">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a914f6abc61805cddaebcb8f3cf470dda">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a91d32b7197fcb27ee697d5bfde960f3f">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a2ee1d745c1c21b9fcb652c96c42f1091">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6772ac384b4c3d3e91712041e4aaa813" name="a6772ac384b4c3d3e91712041e4aaa813"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6772ac384b4c3d3e91712041e4aaa813">◆ </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">virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">expectations::StaleEngineError</a> > gridfire::DynamicEngine::getSpeciesTimescales </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< double > &</td> <td class="paramname"><span class="paramname"><em>Y</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Compute timescales for all species in the network. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">Y</td><td>Vector of 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 estimates the timescale for abundance change of each species, which can be used for timestep control, diagnostics, and reaction network culling. </p>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a4e856d6d4d2fc220952bbb7e6b2f85d9">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#ac8daafabbc76f4b6811bede241a03d72">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a65f9f33cddb0bbd1da7c9d0cff23d581">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a560612347bbd5b7b380e990624d01105">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a02a4c86c9637a3c9c9ca8ddd82ecff22">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afa108dd5227dbb1045e90d7b3bd8b84f" name="afa108dd5227dbb1045e90d7b3bd8b84f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afa108dd5227dbb1045e90d7b3bd8b84f">◆ </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">virtual int gridfire::DynamicEngine::getStoichiometryMatrixEntry </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>speciesIndex</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>reactionIndex</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get an entry from the stoichiometry matrix. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">speciesIndex</td><td>Index of the species. </td></tr>
|
|
<tr><td class="paramname">reactionIndex</td><td>Index of the reaction. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Stoichiometric coefficient for the species in the reaction.</dd></dl>
|
|
<p>The stoichiometry matrix must have been generated by <a class="el" href="#aeae6d84ef74d88fd2cdf07b82e98a16f" title="Generate the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a>. </p>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#afa2820971397114d788730cc33feefe2">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a510b920dea726aef859ac1f6d051807e">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#ab48ef6db18da20024aa563a91fa16f83">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a942e65ced17ca602482cc42e469d6398" name="a942e65ced17ca602482cc42e469d6398"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a942e65ced17ca602482cc42e469d6398">◆ </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">virtual bool gridfire::DynamicEngine::isStale </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#ad268c9942655e5c9605148fe07718e88">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a7d9e738dd28efb4d6127de7379169c87">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#af04a9f8a629d6f6c58c477af0f1ab9e5">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#ae7847959fc5af2b83f5446dd73567b46">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a55bf19ed7534a312a36faf74753f7b14">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a55f1b7e5ebe2840e1d7c54665ca5411a" name="a55f1b7e5ebe2840e1d7c54665ca5411a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a55f1b7e5ebe2840e1d7c54665ca5411a">◆ </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">virtual std::vector< double > gridfire::DynamicEngine::mapNetInToMolarAbundanceVector </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a7d0237956bf3ec7230bc51d88e7f8019">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a72789c1c3379594b65b560da50192de2">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a27f3a928e1f6bbe7e847cffed6db729f">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#aada497e8df74a295fdf5df7d7cdf64e0">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a61bb4b430fe740cfb2c24e5cc673e4ac">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a21c34f59c080a853fafa38a25175124e" name="a21c34f59c080a853fafa38a25175124e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a21c34f59c080a853fafa38a25175124e">◆ </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">virtual <a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> gridfire::DynamicEngine::primeEngine </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a70005361262bc180d4417b608661e3c3">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a13033abd3b44904f98b58c93e22da460">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#ae7a371be61ab09b3fa4a93f05bd44e5e">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a05730ced13ac5331060ca011f0da6235">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#ac22a10412be6649bf379e6d61113c878">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4e2c8b896661b7a89beffe0066cb21cf" name="a4e2c8b896661b7a89beffe0066cb21cf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4e2c8b896661b7a89beffe0066cb21cf">◆ </a></span>rebuild()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void gridfire::DynamicEngine::rebuild </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const fourdst::composition::Composition &</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a></td> <td class="paramname"><span class="paramname"><em>depth</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel virtual">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reimplemented in <a class="el" href="classgridfire_1_1_graph_engine.html#ad9d6c70ace5cbbf7f3aa7b31fce39490">gridfire::GraphEngine</a>, and <a class="el" href="class_py_dynamic_engine.html#a3d30a9116825ab2c5c209bc2712126bc">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afb2ec904d88fc8aab516db4059d0e00f" name="afb2ec904d88fc8aab516db4059d0e00f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afb2ec904d88fc8aab516db4059d0e00f">◆ </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">virtual void gridfire::DynamicEngine::setNetworkReactions </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">reaction::LogicalReactionSet</a> &</td> <td class="paramname"><span class="paramname"><em>reactions</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a7b3a6b3ab0a52f0f84d2b142e74ea672">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a9736edfb7c9148b60de30d50c0d3530d">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a371ba0881d6903ddb2d586faa61805d0">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#acb5fa7f03cd89b8c1b6b9ffdf3abb12e">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#afd818c408c64d207e71b1a90426328d6">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3fb44b6f55563a2f590f31916528f2bd" name="a3fb44b6f55563a2f590f31916528f2bd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3fb44b6f55563a2f590f31916528f2bd">◆ </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">virtual void gridfire::DynamicEngine::setScreeningModel </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a></td> <td class="paramname"><span class="paramname"><em>model</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set the electron screening model. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">model</td><td>The type of screening model to use for reaction rate calculations.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This method allows changing the screening model at runtime. Screening corrections account for the electrostatic shielding of nuclei by electrons, which affects reaction rates in dense stellar plasmas.</p>
|
|
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line">myEngine.setScreeningModel(<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 class="ttdef"><b>Definition</b> screening_types.h:35</div></div>
|
|
</div><!-- fragment --></dd></dl>
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The engine will use the specified screening model for subsequent rate calculations. </dd></dl>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#abf2da57c83c3c4c635cb301f53088258">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a1a0c0a0ade632eb10f0eecab828a059f">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#afa3abfd612033336a656f092721c14ac">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa799ff785e7e79bf35b11efd55f6282a" name="aa799ff785e7e79bf35b11efd55f6282a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa799ff785e7e79bf35b11efd55f6282a">◆ </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">virtual fourdst::composition::Composition gridfire::DynamicEngine::update </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &</td> <td class="paramname"><span class="paramname"><em>netIn</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Update the internal state of the engine. </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>
|
|
<p>This method is intended to be implemented by derived classes to update their internal state based on the provided network conditions. For example, an adaptive engine might use this to re-evaluate which reactions and species are active. For other engines that do not support manually updating, this method might do nothing.</p>
|
|
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><a class="code hl_struct" href="structgridfire_1_1_net_in.html">NetIn</a> input = { ... };</div>
|
|
<div class="line">myEngine.update(input);</div>
|
|
<div class="ttc" id="astructgridfire_1_1_net_in_html"><div class="ttname"><a href="structgridfire_1_1_net_in.html">gridfire::NetIn</a></div><div class="ttdef"><b>Definition</b> network.h:53</div></div>
|
|
</div><!-- fragment --></dd></dl>
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The internal state of the engine is updated to reflect the new conditions. </dd></dl>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a2a7ecf985a326b4bea43e00cf9ee43dd">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#ae5762f395caea5381ec177507816b5ae">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a5ac7cff23e70bd07ba7e510b753e2ab6">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a6bee75b5a6e508e6eebf83f0d48c50b8">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#af8e6a8cd44f278535d7bcc9a896d6da8">PyDynamicEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li>src/include/gridfire/engine/<a class="el" href="engine__abstract_8h.html">engine_abstract.h</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespacegridfire.html">gridfire</a></li><li class="navelem"><a class="el" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a></li>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|