479 lines
28 KiB
HTML
479 lines
28 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 <<a class="el" href="engine__abstract_8h_source.html">engine_abstract.h</a>></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="93,0,269,24"/>
|
|
<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="0,112,176,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="186,112,362,136"/>
|
|
</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:a0a2fb3435ee3271ab9c806f225c61a7f" id="r_a0a2fb3435ee3271ab9c806f225c61a7f"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a2fb3435ee3271ab9c806f225c61a7f">generateJacobianMatrix</a> (const std::vector< double > &Y, double T9, double rho)=0</td></tr>
|
|
<tr class="memdesc:a0a2fb3435ee3271ab9c806f225c61a7f"><td class="mdescLeft"> </td><td class="mdescRight">Generate the Jacobian matrix for the current state. <br /></td></tr>
|
|
<tr class="separator:a0a2fb3435ee3271ab9c806f225c61a7f"><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="classgridfire_1_1reaction_1_1_logical_reaction_set.html">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:a5d8ba98b230d2849035ee2507728fa15" id="r_a5d8ba98b230d2849035ee2507728fa15"><td class="memItemLeft" align="right" valign="top">virtual std::unordered_map< fourdst::atomic::Species, double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5d8ba98b230d2849035ee2507728fa15">getSpeciesTimescales</a> (const std::vector< double > &Y, double T9, double rho) const =0</td></tr>
|
|
<tr class="memdesc:a5d8ba98b230d2849035ee2507728fa15"><td class="mdescLeft"> </td><td class="mdescRight">Compute timescales for all species in the network. <br /></td></tr>
|
|
<tr class="separator:a5d8ba98b230d2849035ee2507728fa15"><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:ac8b56124b6b49cd1802addb74a9a47c2 inherit pub_methods_classgridfire_1_1_engine" id="r_ac8b56124b6b49cd1802addb74a9a47c2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structgridfire_1_1_step_derivatives.html">StepDerivatives</a>< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2">calculateRHSAndEnergy</a> (const std::vector< double > &Y, double T9, double rho) const =0</td></tr>
|
|
<tr class="memdesc:ac8b56124b6b49cd1802addb74a9a47c2 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:ac8b56124b6b49cd1802addb74a9a47c2 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>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="engine__abstract_8h_source.html#l00118">118</a> of file <a class="el" href="engine__abstract_8h_source.html">engine_abstract.h</a>.</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 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>, and <a class="el" href="classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f">gridfire::GraphEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0a2fb3435ee3271ab9c806f225c61a7f" name="a0a2fb3435ee3271ab9c806f225c61a7f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0a2fb3435ee3271ab9c806f225c61a7f">◆ </a></span>generateJacobianMatrix()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void gridfire::DynamicEngine::generateJacobianMatrix </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> )</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</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#ac9aab6f60e80a9228b2b19b1b10449ef">gridfire::AdaptiveEngineView</a>, and <a class="el" href="classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105">gridfire::GraphEngine</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>, and <a class="el" href="classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38">gridfire::GraphEngine</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 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="#a0a2fb3435ee3271ab9c806f225c61a7f" 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>, and <a class="el" href="classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c">gridfire::GraphEngine</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="classgridfire_1_1reaction_1_1_logical_reaction_set.html">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 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 LogicalReactionSet containing all reactions. </dd></dl>
|
|
|
|
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c">gridfire::AdaptiveEngineView</a>, and <a class="el" href="classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da">gridfire::GraphEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5d8ba98b230d2849035ee2507728fa15" name="a5d8ba98b230d2849035ee2507728fa15"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5d8ba98b230d2849035ee2507728fa15">◆ </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::unordered_map< fourdst::atomic::Species, double > 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 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#a93b38d0fdc4647f6f7340172dae17872">gridfire::AdaptiveEngineView</a>, and <a class="el" href="classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd">gridfire::GraphEngine</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 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>, and <a class="el" href="classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152">gridfire::GraphEngine</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li>src/network/include/gridfire/engine/<a class="el" href="engine__abstract_8h_source.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>
|