2703 lines
166 KiB
HTML
2703 lines
166 KiB
HTML
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
|
|
<head>
|
||
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
|
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
|
|
<title>GridFire: gridfire::engine::MultiscalePartitioningEngineView Class Reference</title>
|
||
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
|
|
<script type="text/javascript" src="jquery.js"></script>
|
||
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
||
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
|
|
<script type="text/javascript" src="resize.js"></script>
|
||
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
||
|
|
<script type="text/javascript" src="navtree.js"></script>
|
||
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||
|
|
<script type="text/javascript" src="search/search.js"></script>
|
||
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
||
|
|
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
|
|
<div id="titlearea">
|
||
|
|
<table cellspacing="0" cellpadding="0">
|
||
|
|
<tbody>
|
||
|
|
<tr id="projectrow">
|
||
|
|
<td id="projectalign">
|
||
|
|
<div id="projectname">GridFire<span id="projectnumber"> v0.7.1_rc2</span>
|
||
|
|
</div>
|
||
|
|
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
</tbody>
|
||
|
|
</table>
|
||
|
|
</div>
|
||
|
|
<!-- end header part -->
|
||
|
|
<!-- Generated by Doxygen 1.9.8 -->
|
||
|
|
<script type="text/javascript">
|
||
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
|
|
/* @license-end */
|
||
|
|
</script>
|
||
|
|
<script type="text/javascript" src="menudata.js"></script>
|
||
|
|
<script type="text/javascript" src="menu.js"></script>
|
||
|
|
<script type="text/javascript">
|
||
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
|
$(function() {
|
||
|
|
initMenu('',true,false,'search.php','Search');
|
||
|
|
$(document).ready(function() { init_search(); });
|
||
|
|
});
|
||
|
|
/* @license-end */
|
||
|
|
</script>
|
||
|
|
<div id="main-nav"></div>
|
||
|
|
</div><!-- top -->
|
||
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
|
|
<div id="nav-tree">
|
||
|
|
<div id="nav-tree-contents">
|
||
|
|
<div id="nav-sync" class="sync"></div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
||
|
|
class="ui-resizable-handle">
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<script type="text/javascript">
|
||
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
|
$(document).ready(function(){initNavTree('classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html',''); initResizable(); });
|
||
|
|
/* @license-end */
|
||
|
|
</script>
|
||
|
|
<div id="doc-content">
|
||
|
|
<!-- window showing the filter options -->
|
||
|
|
<div id="MSearchSelectWindow"
|
||
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- iframe showing the search results (closed by default) -->
|
||
|
|
<div id="MSearchResultsWindow">
|
||
|
|
<div id="MSearchResults">
|
||
|
|
<div class="SRPage">
|
||
|
|
<div id="SRIndex">
|
||
|
|
<div id="SRResults"></div>
|
||
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="header">
|
||
|
|
<div class="summary">
|
||
|
|
<a href="#nested-classes">Classes</a> |
|
||
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
||
|
|
<a href="#pri-types">Private Types</a> |
|
||
|
|
<a href="#pri-methods">Private Member Functions</a> |
|
||
|
|
<a href="#pri-static-methods">Static Private Member Functions</a> |
|
||
|
|
<a href="#pri-attribs">Private Attributes</a> |
|
||
|
|
<a href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView-members.html">List of all members</a> </div>
|
||
|
|
<div class="headertitle"><div class="title">gridfire::engine::MultiscalePartitioningEngineView Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||
|
|
</div><!--header-->
|
||
|
|
<div class="contents">
|
||
|
|
|
||
|
|
<p>An engine view that partitions the reaction network into multiple groups based on timescales.
|
||
|
|
<a href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#details">More...</a></p>
|
||
|
|
|
||
|
|
<p><code>#include <engine_multiscale.h></code></p>
|
||
|
|
<div class="dynheader">
|
||
|
|
Inheritance diagram for gridfire::engine::MultiscalePartitioningEngineView:</div>
|
||
|
|
<div class="dyncontent">
|
||
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView__inherit__graph.svg" width="408" height="212"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||
|
|
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
|
|
<div class="dynheader">
|
||
|
|
Collaboration diagram for gridfire::engine::MultiscalePartitioningEngineView:</div>
|
||
|
|
<div class="dyncontent">
|
||
|
|
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
|
||
|
|
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
|
|
<table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||
|
|
Classes</h2></td></tr>
|
||
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1FluxValidationResult.html">FluxValidationResult</a></td></tr>
|
||
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a></td></tr>
|
||
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct representing a QSE group. <a href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html#details">More...</a><br /></td></tr>
|
||
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSESolver.html">QSESolver</a></td></tr>
|
||
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table><table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||
|
|
Public Member Functions</h2></td></tr>
|
||
|
|
<tr class="memitem:a0a500b19283ad3dd654ca4c4646b2604" id="r_a0a500b19283ad3dd654ca4c4646b2604"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a0a500b19283ad3dd654ca4c4646b2604">MultiscalePartitioningEngineView</a> (<a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> &baseEngine)</td></tr>
|
||
|
|
<tr class="memdesc:a0a500b19283ad3dd654ca4c4646b2604"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a <a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html" title="An engine view that partitions the reaction network into multiple groups based on timescales.">MultiscalePartitioningEngineView</a>. <br /></td></tr>
|
||
|
|
<tr class="separator:a0a500b19283ad3dd654ca4c4646b2604"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ae553a4d590c0cfae5591bcd8bbe6f9d3" id="r_ae553a4d590c0cfae5591bcd8bbe6f9d3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ae553a4d590c0cfae5591bcd8bbe6f9d3">~MultiscalePartitioningEngineView</a> () override</td></tr>
|
||
|
|
<tr class="separator:ae553a4d590c0cfae5591bcd8bbe6f9d3"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aa7aa38cf054988d050c04c59f28efdaa" id="r_aa7aa38cf054988d050c04c59f28efdaa"><td class="memItemLeft" align="right" valign="top">const std::vector< fourdst::atomic::Species > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aa7aa38cf054988d050c04c59f28efdaa">getNetworkSpecies</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:aa7aa38cf054988d050c04c59f28efdaa"><td class="mdescLeft"> </td><td class="mdescRight">Gets the list of species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:aa7aa38cf054988d050c04c59f28efdaa"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aa960005503d18066015aef280680d616" id="r_aa960005503d18066015aef280680d616"><td class="memItemLeft" align="right" valign="top">std::expected< <a class="el" href="structgridfire_1_1engine_1_1StepDerivatives.html">StepDerivatives</a>< double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">engine::EngineStatus</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aa960005503d18066015aef280680d616">calculateRHSAndEnergy</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:aa960005503d18066015aef280680d616"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the right-hand side (dY/dt) and energy generation. <br /></td></tr>
|
||
|
|
<tr class="separator:aa960005503d18066015aef280680d616"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ac720fcea2f0304c3d7e7ba8a6dfb84da" id="r_ac720fcea2f0304c3d7e7ba8a6dfb84da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1EnergyDerivatives.html">EnergyDerivatives</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ac720fcea2f0304c3d7e7ba8a6dfb84da">calculateEpsDerivatives</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:ac720fcea2f0304c3d7e7ba8a6dfb84da"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the energy generation rate derivatives with respect to abundances. <br /></td></tr>
|
||
|
|
<tr class="separator:ac720fcea2f0304c3d7e7ba8a6dfb84da"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a8950fb9c0c36684538805de4f0acf82e" id="r_a8950fb9c0c36684538805de4f0acf82e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a8950fb9c0c36684538805de4f0acf82e">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a8950fb9c0c36684538805de4f0acf82e"><td class="mdescLeft"> </td><td class="mdescRight">Generates the Jacobian matrix for the current state. <br /></td></tr>
|
||
|
|
<tr class="separator:a8950fb9c0c36684538805de4f0acf82e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aae6c00cff4f7a992513d1e9481436f8f" id="r_aae6c00cff4f7a992513d1e9481436f8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aae6c00cff4f7a992513d1e9481436f8f">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override</td></tr>
|
||
|
|
<tr class="memdesc:aae6c00cff4f7a992513d1e9481436f8f"><td class="mdescLeft"> </td><td class="mdescRight">Generates the Jacobian matrix for a subset of active species. <br /></td></tr>
|
||
|
|
<tr class="separator:aae6c00cff4f7a992513d1e9481436f8f"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a64b6e7e5794cc42edf72899d348d15af" id="r_a64b6e7e5794cc42edf72899d348d15af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a64b6e7e5794cc42edf72899d348d15af">generateJacobianMatrix</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const <a class="el" href="namespacegridfire_1_1engine.html#af5175018d2d1e78a8826dd33ec6d675f">SparsityPattern</a> &sparsityPattern) const override</td></tr>
|
||
|
|
<tr class="memdesc:a64b6e7e5794cc42edf72899d348d15af"><td class="mdescLeft"> </td><td class="mdescRight">Generates the Jacobian matrix using a sparsity pattern. <br /></td></tr>
|
||
|
|
<tr class="separator:a64b6e7e5794cc42edf72899d348d15af"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a552fa7e1f4e066fa577c55500e782014" id="r_a552fa7e1f4e066fa577c55500e782014"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a552fa7e1f4e066fa577c55500e782014">generateStoichiometryMatrix</a> () override</td></tr>
|
||
|
|
<tr class="memdesc:a552fa7e1f4e066fa577c55500e782014"><td class="mdescLeft"> </td><td class="mdescRight">Generates the stoichiometry matrix for the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a552fa7e1f4e066fa577c55500e782014"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a1372e7a823841c819f6c1a15d38217a6" id="r_a1372e7a823841c819f6c1a15d38217a6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a1372e7a823841c819f6c1a15d38217a6">getStoichiometryMatrixEntry</a> (const fourdst::atomic::Species &species, const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> &reaction) const override</td></tr>
|
||
|
|
<tr class="memdesc:a1372e7a823841c819f6c1a15d38217a6"><td class="mdescLeft"> </td><td class="mdescRight">Gets an entry from the stoichiometry matrix. <br /></td></tr>
|
||
|
|
<tr class="separator:a1372e7a823841c819f6c1a15d38217a6"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:af030c9bd6a95686a09429b4619ad188c" id="r_af030c9bd6a95686a09429b4619ad188c"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#af030c9bd6a95686a09429b4619ad188c">calculateMolarReactionFlow</a> (const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:af030c9bd6a95686a09429b4619ad188c"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the molar reaction flow for a given reaction. <br /></td></tr>
|
||
|
|
<tr class="separator:af030c9bd6a95686a09429b4619ad188c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a9dc9de4359beb704b94024f159ae619d" id="r_a9dc9de4359beb704b94024f159ae619d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a9dc9de4359beb704b94024f159ae619d">getNetworkReactions</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:a9dc9de4359beb704b94024f159ae619d"><td class="mdescLeft"> </td><td class="mdescRight">Gets the set of logical reactions in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a9dc9de4359beb704b94024f159ae619d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aa378d0e0fa6018b989d83945daa47952" id="r_aa378d0e0fa6018b989d83945daa47952"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aa378d0e0fa6018b989d83945daa47952">setNetworkReactions</a> (const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> &reactions) override</td></tr>
|
||
|
|
<tr class="memdesc:aa378d0e0fa6018b989d83945daa47952"><td class="mdescLeft"> </td><td class="mdescRight">Sets the set of logical reactions in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:aa378d0e0fa6018b989d83945daa47952"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a86390e410db48addfe8dbd094743c38e" id="r_a86390e410db48addfe8dbd094743c38e"><td class="memItemLeft" align="right" valign="top">std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">engine::EngineStatus</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a86390e410db48addfe8dbd094743c38e">getSpeciesTimescales</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a86390e410db48addfe8dbd094743c38e"><td class="mdescLeft"> </td><td class="mdescRight">Computes timescales for all species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a86390e410db48addfe8dbd094743c38e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a27d68f2e6c4572445cd94dc472470a01" id="r_a27d68f2e6c4572445cd94dc472470a01"><td class="memItemLeft" align="right" valign="top">std::expected< std::unordered_map< fourdst::atomic::Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">engine::EngineStatus</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a27d68f2e6c4572445cd94dc472470a01">getSpeciesDestructionTimescales</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a27d68f2e6c4572445cd94dc472470a01"><td class="mdescLeft"> </td><td class="mdescRight">Computes destruction timescales for all species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a27d68f2e6c4572445cd94dc472470a01"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a28c8ac1ec594cf55a297e3f9586e214a" id="r_a28c8ac1ec594cf55a297e3f9586e214a"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a28c8ac1ec594cf55a297e3f9586e214a">update</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) override</td></tr>
|
||
|
|
<tr class="memdesc:a28c8ac1ec594cf55a297e3f9586e214a"><td class="mdescLeft"> </td><td class="mdescRight">Updates the internal state of the engine, performing partitioning and QSE equilibration. <br /></td></tr>
|
||
|
|
<tr class="separator:a28c8ac1ec594cf55a297e3f9586e214a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a10dd189ba40dbb604fdf55746b5d4b79" id="r_a10dd189ba40dbb604fdf55746b5d4b79"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a10dd189ba40dbb604fdf55746b5d4b79">isStale</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) override</td></tr>
|
||
|
|
<tr class="memdesc:a10dd189ba40dbb604fdf55746b5d4b79"><td class="mdescLeft"> </td><td class="mdescRight">Checks if the engine's internal state is stale relative to the provided conditions. <br /></td></tr>
|
||
|
|
<tr class="separator:a10dd189ba40dbb604fdf55746b5d4b79"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ad11aa1e168ec03d0c3ed90eeddcefe52" id="r_ad11aa1e168ec03d0c3ed90eeddcefe52"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ad11aa1e168ec03d0c3ed90eeddcefe52">setScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> model) override</td></tr>
|
||
|
|
<tr class="memdesc:ad11aa1e168ec03d0c3ed90eeddcefe52"><td class="mdescLeft"> </td><td class="mdescRight">Sets the electron screening model. <br /></td></tr>
|
||
|
|
<tr class="separator:ad11aa1e168ec03d0c3ed90eeddcefe52"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:accdd09720d44cc5efb1ee267706f0500" id="r_accdd09720d44cc5efb1ee267706f0500"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#accdd09720d44cc5efb1ee267706f0500">getScreeningModel</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:accdd09720d44cc5efb1ee267706f0500"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current electron screening model. <br /></td></tr>
|
||
|
|
<tr class="separator:accdd09720d44cc5efb1ee267706f0500"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ad80faf5bea2153480cbfb323ed805686" id="r_ad80faf5bea2153480cbfb323ed805686"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ad80faf5bea2153480cbfb323ed805686">getBaseEngine</a> () const override</td></tr>
|
||
|
|
<tr class="memdesc:ad80faf5bea2153480cbfb323ed805686"><td class="mdescLeft"> </td><td class="mdescRight">Gets the base engine. <br /></td></tr>
|
||
|
|
<tr class="separator:ad80faf5bea2153480cbfb323ed805686"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a7629f98050d71160fc34e5c7c0b3e959" id="r_a7629f98050d71160fc34e5c7c0b3e959"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7629f98050d71160fc34e5c7c0b3e959">partitionNetwork</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn)</td></tr>
|
||
|
|
<tr class="memdesc:a7629f98050d71160fc34e5c7c0b3e959"><td class="mdescLeft"> </td><td class="mdescRight">Partitions the network based on timescales from a <code><a class="el" href="structgridfire_1_1NetIn.html">NetIn</a></code> struct. <br /></td></tr>
|
||
|
|
<tr class="separator:a7629f98050d71160fc34e5c7c0b3e959"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:accbf5a67f126627833a4169a81f1be01" id="r_accbf5a67f126627833a4169a81f1be01"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#accbf5a67f126627833a4169a81f1be01">exportToDot</a> (const std::string &filename, const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:accbf5a67f126627833a4169a81f1be01"><td class="mdescLeft"> </td><td class="mdescRight">Exports the network to a DOT file for visualization. <br /></td></tr>
|
||
|
|
<tr class="separator:accbf5a67f126627833a4169a81f1be01"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ae0c02c830cf45568a7c4d35d4ed15e95" id="r_ae0c02c830cf45568a7c4d35d4ed15e95"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ae0c02c830cf45568a7c4d35d4ed15e95">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||
|
|
<tr class="memdesc:ae0c02c830cf45568a7c4d35d4ed15e95"><td class="mdescLeft"> </td><td class="mdescRight">Gets the index of a species in the full network. <br /></td></tr>
|
||
|
|
<tr class="separator:ae0c02c830cf45568a7c4d35d4ed15e95"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aa839c3893ff9fb8e5a4187224dac7b47" id="r_aa839c3893ff9fb8e5a4187224dac7b47"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aa839c3893ff9fb8e5a4187224dac7b47">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) const override</td></tr>
|
||
|
|
<tr class="memdesc:aa839c3893ff9fb8e5a4187224dac7b47"><td class="mdescLeft"> </td><td class="mdescRight">Maps a <code><a class="el" href="structgridfire_1_1NetIn.html">NetIn</a></code> struct to a molar abundance vector for the full network. <br /></td></tr>
|
||
|
|
<tr class="separator:aa839c3893ff9fb8e5a4187224dac7b47"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:afabb6222bd6cbe3277b6c8639203be25" id="r_afabb6222bd6cbe3277b6c8639203be25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1PrimingReport.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#afabb6222bd6cbe3277b6c8639203be25">primeEngine</a> (const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> &netIn) override</td></tr>
|
||
|
|
<tr class="memdesc:afabb6222bd6cbe3277b6c8639203be25"><td class="mdescLeft"> </td><td class="mdescRight">Primes the engine with a specific species. <br /></td></tr>
|
||
|
|
<tr class="separator:afabb6222bd6cbe3277b6c8639203be25"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aebb0977daa8c6a9c496f0f989f950fae" id="r_aebb0977daa8c6a9c496f0f989f950fae"><td class="memItemLeft" align="right" valign="top">std::vector< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aebb0977daa8c6a9c496f0f989f950fae">getFastSpecies</a> () const</td></tr>
|
||
|
|
<tr class="memdesc:aebb0977daa8c6a9c496f0f989f950fae"><td class="mdescLeft"> </td><td class="mdescRight">Gets the fast species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:aebb0977daa8c6a9c496f0f989f950fae"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a7d2f445ae7b75d4cd879afb6e960e0f7" id="r_a7d2f445ae7b75d4cd879afb6e960e0f7"><td class="memItemLeft" align="right" valign="top">const std::vector< fourdst::atomic::Species > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7d2f445ae7b75d4cd879afb6e960e0f7">getDynamicSpecies</a> () const</td></tr>
|
||
|
|
<tr class="memdesc:a7d2f445ae7b75d4cd879afb6e960e0f7"><td class="mdescLeft"> </td><td class="mdescRight">Gets the dynamic species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:a7d2f445ae7b75d4cd879afb6e960e0f7"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ad8615cd1f4b78ec1c1448c96c54913e4" id="r_ad8615cd1f4b78ec1c1448c96c54913e4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ad8615cd1f4b78ec1c1448c96c54913e4">involvesSpecies</a> (const fourdst::atomic::Species &species) const</td></tr>
|
||
|
|
<tr class="memdesc:ad8615cd1f4b78ec1c1448c96c54913e4"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a species is involved in the partitioned network. <br /></td></tr>
|
||
|
|
<tr class="separator:ad8615cd1f4b78ec1c1448c96c54913e4"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a4476e65dd6ce8700f5163ff7b29185e4" id="r_a4476e65dd6ce8700f5163ff7b29185e4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a4476e65dd6ce8700f5163ff7b29185e4">involvesSpeciesInQSE</a> (const fourdst::atomic::Species &species) const</td></tr>
|
||
|
|
<tr class="memdesc:a4476e65dd6ce8700f5163ff7b29185e4"><td class="mdescLeft"> </td><td class="mdescRight">Check if a species is involved in the QSE (algebraic) set. <br /></td></tr>
|
||
|
|
<tr class="separator:a4476e65dd6ce8700f5163ff7b29185e4"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aa55fe8b346dca4a06027acac9a2547a3" id="r_aa55fe8b346dca4a06027acac9a2547a3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aa55fe8b346dca4a06027acac9a2547a3">involvesSpeciesInDynamic</a> (const fourdst::atomic::Species &species) const</td></tr>
|
||
|
|
<tr class="memdesc:aa55fe8b346dca4a06027acac9a2547a3"><td class="mdescLeft"> </td><td class="mdescRight">Check if a species is involved in the dynamic set. <br /></td></tr>
|
||
|
|
<tr class="separator:aa55fe8b346dca4a06027acac9a2547a3"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a6fc4cb156a287f579cb0f0c5d88d74d0" id="r_a6fc4cb156a287f579cb0f0c5d88d74d0"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a6fc4cb156a287f579cb0f0c5d88d74d0">getNormalizedEquilibratedComposition</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:a6fc4cb156a287f579cb0f0c5d88d74d0"><td class="mdescLeft"> </td><td class="mdescRight">Gets a normalized composition with QSE species equilibrated. <br /></td></tr>
|
||
|
|
<tr class="separator:a6fc4cb156a287f579cb0f0c5d88d74d0"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a97d9616558f681ad010ee452394f3519" id="r_a97d9616558f681ad010ee452394f3519"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a97d9616558f681ad010ee452394f3519">collectComposition</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override</td></tr>
|
||
|
|
<tr class="memdesc:a97d9616558f681ad010ee452394f3519"><td class="mdescLeft"> </td><td class="mdescRight">Collect the composition from this and sub engines. <br /></td></tr>
|
||
|
|
<tr class="separator:a97d9616558f681ad010ee452394f3519"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aec5ebaccf625e39d0fa6c1330855d008" id="r_aec5ebaccf625e39d0fa6c1330855d008"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1engine.html#a83c9d755597668bba3cf00cd0ea10ee3">SpeciesStatus</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aec5ebaccf625e39d0fa6c1330855d008">getSpeciesStatus</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||
|
|
<tr class="memdesc:aec5ebaccf625e39d0fa6c1330855d008"><td class="mdescLeft"> </td><td class="mdescRight">Gets the status of a species in the network. <br /></td></tr>
|
||
|
|
<tr class="separator:aec5ebaccf625e39d0fa6c1330855d008"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgridfire_1_1engine_1_1DynamicEngine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">gridfire::engine::DynamicEngine</a></td></tr>
|
||
|
|
<tr class="memitem:ac5a0def6b6af0bd93bf9057c25f048ff inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine" id="r_ac5a0def6b6af0bd93bf9057c25f048ff"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire_1_1engine.html#a540b6420c7b6271717ec9b640140f6c0">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ac5a0def6b6af0bd93bf9057c25f048ff">getDepth</a> () const</td></tr>
|
||
|
|
<tr class="memdesc:ac5a0def6b6af0bd93bf9057c25f048ff inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||
|
|
<tr class="separator:ac5a0def6b6af0bd93bf9057c25f048ff inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a2444b9ed3bc61920ce23c546444269e4 inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine" id="r_a2444b9ed3bc61920ce23c546444269e4"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a2444b9ed3bc61920ce23c546444269e4">rebuild</a> (const fourdst::composition::CompositionAbstract &comp, <a class="el" href="namespacegridfire_1_1engine.html#a540b6420c7b6271717ec9b640140f6c0">BuildDepthType</a> depth)</td></tr>
|
||
|
|
<tr class="memdesc:a2444b9ed3bc61920ce23c546444269e4 inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||
|
|
<tr class="separator:a2444b9ed3bc61920ce23c546444269e4 inherit pub_methods_classgridfire_1_1engine_1_1DynamicEngine"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1Engine"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgridfire_1_1engine_1_1Engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1Engine.html">gridfire::engine::Engine</a></td></tr>
|
||
|
|
<tr class="memitem:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1Engine" id="r_af0ea99416c28933d364a872fc6aff556"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1Engine.html#af0ea99416c28933d364a872fc6aff556">~Engine</a> ()=default</td></tr>
|
||
|
|
<tr class="memdesc:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1Engine"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br /></td></tr>
|
||
|
|
<tr class="separator:af0ea99416c28933d364a872fc6aff556 inherit pub_methods_classgridfire_1_1engine_1_1Engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="inherit_header pub_methods_classgridfire_1_1engine_1_1EngineView"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgridfire_1_1engine_1_1EngineView')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1engine_1_1EngineView.html">gridfire::engine::EngineView< DynamicEngine ></a></td></tr>
|
||
|
|
<tr class="memitem:a17d63e853d6efca31064e9147c80d497 inherit pub_methods_classgridfire_1_1engine_1_1EngineView" id="r_a17d63e853d6efca31064e9147c80d497"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1EngineView.html#a17d63e853d6efca31064e9147c80d497">~EngineView</a> ()=default</td></tr>
|
||
|
|
<tr class="memdesc:a17d63e853d6efca31064e9147c80d497 inherit pub_methods_classgridfire_1_1engine_1_1EngineView"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br /></td></tr>
|
||
|
|
<tr class="separator:a17d63e853d6efca31064e9147c80d497 inherit pub_methods_classgridfire_1_1engine_1_1EngineView"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table><table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
|
||
|
|
Private Types</h2></td></tr>
|
||
|
|
<tr class="memitem:a892741542388166db4dc55631567ee0a" id="r_a892741542388166db4dc55631567ee0a"><td class="memItemLeft" align="right" valign="top">typedef std::tuple< std::vector< fourdst::atomic::Species >, std::vector< size_t >, std::vector< fourdst::atomic::Species >, std::vector< size_t > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a892741542388166db4dc55631567ee0a">QSEPartition</a></td></tr>
|
||
|
|
<tr class="memdesc:a892741542388166db4dc55631567ee0a"><td class="mdescLeft"> </td><td class="mdescRight">Type alias for a QSE partition. <br /></td></tr>
|
||
|
|
<tr class="separator:a892741542388166db4dc55631567ee0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table><table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
|
||
|
|
Private Member Functions</h2></td></tr>
|
||
|
|
<tr class="memitem:aaba92340dd44399c48bc219ec63f94e2" id="r_aaba92340dd44399c48bc219ec63f94e2"><td class="memItemLeft" align="right" valign="top">std::vector< std::vector< fourdst::atomic::Species > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aaba92340dd44399c48bc219ec63f94e2">partitionByTimescale</a> (const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:aaba92340dd44399c48bc219ec63f94e2"><td class="mdescLeft"> </td><td class="mdescRight">Partitions the network by timescale. <br /></td></tr>
|
||
|
|
<tr class="separator:aaba92340dd44399c48bc219ec63f94e2"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ae7f2939150a5ed84e51028c8ebd83d17" id="r_ae7f2939150a5ed84e51028c8ebd83d17"><td class="memItemLeft" align="right" valign="top">std::pair< bool, <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ae7f2939150a5ed84e51028c8ebd83d17">group_is_a_qse_cluster</a> (const fourdst::composition::Composition &comp, double T9, double rho, const <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> &group) const</td></tr>
|
||
|
|
<tr class="separator:ae7f2939150a5ed84e51028c8ebd83d17"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a6adac01afdd51cb3660e38731afbd265" id="r_a6adac01afdd51cb3660e38731afbd265"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a6adac01afdd51cb3660e38731afbd265">group_is_a_qse_pipeline</a> (const fourdst::composition::Composition &comp, double T9, double rho, const <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> &group) const</td></tr>
|
||
|
|
<tr class="separator:a6adac01afdd51cb3660e38731afbd265"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:acf5cfbd18ebb2566f637cb176f861423" id="r_acf5cfbd18ebb2566f637cb176f861423"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1FluxValidationResult.html">FluxValidationResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#acf5cfbd18ebb2566f637cb176f861423">validateGroupsWithFluxAnalysis</a> (const std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > &candidate_groups, const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:acf5cfbd18ebb2566f637cb176f861423"><td class="mdescLeft"> </td><td class="mdescRight">Validates candidate QSE groups using flux analysis. <br /></td></tr>
|
||
|
|
<tr class="separator:acf5cfbd18ebb2566f637cb176f861423"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a6c785a6334e5fd9593d3e279bafee592" id="r_a6c785a6334e5fd9593d3e279bafee592"><td class="memItemLeft" align="right" valign="top">fourdst::composition::Composition </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a6c785a6334e5fd9593d3e279bafee592">solveQSEAbundances</a> (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:a6c785a6334e5fd9593d3e279bafee592"><td class="mdescLeft"> </td><td class="mdescRight">Solves for the QSE abundances of the algebraic species in a given state. <br /></td></tr>
|
||
|
|
<tr class="separator:a6c785a6334e5fd9593d3e279bafee592"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a72d813f71b378dfd6f632e6b9adf1cc5" id="r_a72d813f71b378dfd6f632e6b9adf1cc5"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a72d813f71b378dfd6f632e6b9adf1cc5">identifyMeanSlowestPool</a> (const std::vector< std::vector< fourdst::atomic::Species > > &pools, const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:a72d813f71b378dfd6f632e6b9adf1cc5"><td class="mdescLeft"> </td><td class="mdescRight">Identifies the pool with the slowest mean timescale. <br /></td></tr>
|
||
|
|
<tr class="separator:a72d813f71b378dfd6f632e6b9adf1cc5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a35482c1d5f1d2b3f2cd6c3976432644e" id="r_a35482c1d5f1d2b3f2cd6c3976432644e"><td class="memItemLeft" align="right" valign="top">std::unordered_map< fourdst::atomic::Species, std::vector< fourdst::atomic::Species > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a35482c1d5f1d2b3f2cd6c3976432644e">buildConnectivityGraph</a> (const std::vector< fourdst::atomic::Species > &species_pool, const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:a35482c1d5f1d2b3f2cd6c3976432644e"><td class="mdescLeft"> </td><td class="mdescRight">Builds a connectivity graph from a species pool. <br /></td></tr>
|
||
|
|
<tr class="separator:a35482c1d5f1d2b3f2cd6c3976432644e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a28502c9e8fc0a40211fd3717c2b67214" id="r_a28502c9e8fc0a40211fd3717c2b67214"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a28502c9e8fc0a40211fd3717c2b67214">constructCandidateGroups</a> (const std::vector< std::vector< fourdst::atomic::Species > > &candidate_pools, const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:a28502c9e8fc0a40211fd3717c2b67214"><td class="mdescLeft"> </td><td class="mdescRight">Constructs candidate QSE groups from connected timescale pools. <br /></td></tr>
|
||
|
|
<tr class="separator:a28502c9e8fc0a40211fd3717c2b67214"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a8d4153f520b486dbb262888e22b95896" id="r_a8d4153f520b486dbb262888e22b95896"><td class="memItemLeft" align="right" valign="top">std::vector< std::vector< fourdst::atomic::Species > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a8d4153f520b486dbb262888e22b95896">analyzeTimescalePoolConnectivity</a> (const std::vector< std::vector< fourdst::atomic::Species > > &timescale_pools, const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="memdesc:a8d4153f520b486dbb262888e22b95896"><td class="mdescLeft"> </td><td class="mdescRight">Analyzes the connectivity of timescale pools. <br /></td></tr>
|
||
|
|
<tr class="separator:a8d4153f520b486dbb262888e22b95896"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a601a4fb916f003c9ff7cf000a8006bab" id="r_a601a4fb916f003c9ff7cf000a8006bab"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a601a4fb916f003c9ff7cf000a8006bab">pruneValidatedGroups</a> (const std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > &groups, const std::vector< <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> > &groupReactions, const fourdst::composition::Composition &comp, double T9, double rho) const</td></tr>
|
||
|
|
<tr class="separator:a601a4fb916f003c9ff7cf000a8006bab"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table><table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
|
||
|
|
Static Private Member Functions</h2></td></tr>
|
||
|
|
<tr class="memitem:a4da0432598ecb0415b70b94d8300d3ef" id="r_a4da0432598ecb0415b70b94d8300d3ef"><td class="memItemLeft" align="right" valign="top">static std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a4da0432598ecb0415b70b94d8300d3ef">merge_coupled_groups</a> (const std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > &groups, const std::vector< <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> > &groupReactions)</td></tr>
|
||
|
|
<tr class="separator:a4da0432598ecb0415b70b94d8300d3ef"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table><table class="memberdecls">
|
||
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
|
||
|
|
Private Attributes</h2></td></tr>
|
||
|
|
<tr class="memitem:add096961cacfa9206ae5227d4f3a3c36" id="r_add096961cacfa9206ae5227d4f3a3c36"><td class="memItemLeft" align="right" valign="top">quill::Logger * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#add096961cacfa9206ae5227d4f3a3c36">m_logger</a> = LogManager::getInstance().getLogger("log")</td></tr>
|
||
|
|
<tr class="memdesc:add096961cacfa9206ae5227d4f3a3c36"><td class="mdescLeft"> </td><td class="mdescRight">Logger instance for logging messages. <br /></td></tr>
|
||
|
|
<tr class="separator:add096961cacfa9206ae5227d4f3a3c36"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a460e8e46d38b81efa510714a3375f674" id="r_a460e8e46d38b81efa510714a3375f674"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a460e8e46d38b81efa510714a3375f674">m_baseEngine</a></td></tr>
|
||
|
|
<tr class="memdesc:a460e8e46d38b81efa510714a3375f674"><td class="mdescLeft"> </td><td class="mdescRight">The base engine to which this view delegates calculations. <br /></td></tr>
|
||
|
|
<tr class="separator:a460e8e46d38b81efa510714a3375f674"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a36ccf1d3b4cefba461acddcb238f27a5" id="r_a36ccf1d3b4cefba461acddcb238f27a5"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a36ccf1d3b4cefba461acddcb238f27a5">m_qse_groups</a></td></tr>
|
||
|
|
<tr class="memdesc:a36ccf1d3b4cefba461acddcb238f27a5"><td class="mdescLeft"> </td><td class="mdescRight">The list of identified equilibrium groups. <br /></td></tr>
|
||
|
|
<tr class="separator:a36ccf1d3b4cefba461acddcb238f27a5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a3d0cde126563adc97b998bade1132603" id="r_a3d0cde126563adc97b998bade1132603"><td class="memItemLeft" align="right" valign="top">std::vector< std::unique_ptr< <a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSESolver.html">QSESolver</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a3d0cde126563adc97b998bade1132603">m_qse_solvers</a></td></tr>
|
||
|
|
<tr class="memdesc:a3d0cde126563adc97b998bade1132603"><td class="mdescLeft"> </td><td class="mdescRight">A set of solvers, one for each QSE group. <br /></td></tr>
|
||
|
|
<tr class="separator:a3d0cde126563adc97b998bade1132603"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a69baf327ba82f923859c569bc4d76ee8" id="r_a69baf327ba82f923859c569bc4d76ee8"><td class="memItemLeft" align="right" valign="top">std::vector< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a69baf327ba82f923859c569bc4d76ee8">m_dynamic_species</a></td></tr>
|
||
|
|
<tr class="memdesc:a69baf327ba82f923859c569bc4d76ee8"><td class="mdescLeft"> </td><td class="mdescRight">The simplified set of species presented to the solver (the "slow" species). <br /></td></tr>
|
||
|
|
<tr class="separator:a69baf327ba82f923859c569bc4d76ee8"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:aac8ac0afe8fd443b661d849e9b1b5e72" id="r_aac8ac0afe8fd443b661d849e9b1b5e72"><td class="memItemLeft" align="right" valign="top">std::vector< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aac8ac0afe8fd443b661d849e9b1b5e72">m_algebraic_species</a></td></tr>
|
||
|
|
<tr class="memdesc:aac8ac0afe8fd443b661d849e9b1b5e72"><td class="mdescLeft"> </td><td class="mdescRight">Species that are treated as algebraic (in QSE) in the QSE groups. <br /></td></tr>
|
||
|
|
<tr class="separator:aac8ac0afe8fd443b661d849e9b1b5e72"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:abcf6a7ba929fe4c45e2a4deeb2bfca82" id="r_abcf6a7ba929fe4c45e2a4deeb2bfca82"><td class="memItemLeft" align="right" valign="top">std::unordered_map< fourdst::atomic::Species, double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#abcf6a7ba929fe4c45e2a4deeb2bfca82">m_algebraic_abundances</a></td></tr>
|
||
|
|
<tr class="memdesc:abcf6a7ba929fe4c45e2a4deeb2bfca82"><td class="mdescLeft"> </td><td class="mdescRight">Map from species to their calculated abundances in the QSE state. <br /></td></tr>
|
||
|
|
<tr class="separator:abcf6a7ba929fe4c45e2a4deeb2bfca82"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a40ddd53c7f5482237e4bad38525ee100" id="r_a40ddd53c7f5482237e4bad38525ee100"><td class="memItemLeft" align="right" valign="top">std::vector< size_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a40ddd53c7f5482237e4bad38525ee100">m_activeSpeciesIndices</a></td></tr>
|
||
|
|
<tr class="memdesc:a40ddd53c7f5482237e4bad38525ee100"><td class="mdescLeft"> </td><td class="mdescRight">Indices of all species considered active in the current partition (dynamic + algebraic). <br /></td></tr>
|
||
|
|
<tr class="separator:a40ddd53c7f5482237e4bad38525ee100"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:ab6c4cddda054dfa35f6e0a083015dc9d" id="r_ab6c4cddda054dfa35f6e0a083015dc9d"><td class="memItemLeft" align="right" valign="top">std::vector< size_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ab6c4cddda054dfa35f6e0a083015dc9d">m_activeReactionIndices</a></td></tr>
|
||
|
|
<tr class="memdesc:ab6c4cddda054dfa35f6e0a083015dc9d"><td class="mdescLeft"> </td><td class="mdescRight">Indices of all reactions involving only active species. <br /></td></tr>
|
||
|
|
<tr class="separator:ab6c4cddda054dfa35f6e0a083015dc9d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a38b0eb7e7e454e001254aa823b1ec3f7" id="r_a38b0eb7e7e454e001254aa823b1ec3f7"><td class="memItemLeft" align="right" valign="top">std::unordered_map< uint64_t, fourdst::composition::Composition > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a38b0eb7e7e454e001254aa823b1ec3f7">m_composition_cache</a></td></tr>
|
||
|
|
<tr class="separator:a38b0eb7e7e454e001254aa823b1ec3f7"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
<tr class="memitem:a76c2ce886f8774f56a2ee9e0ae1b9893" id="r_a76c2ce886f8774f56a2ee9e0ae1b9893"><td class="memItemLeft" align="right" valign="top">SUNContext </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a76c2ce886f8774f56a2ee9e0ae1b9893">m_sun_ctx</a> = nullptr</td></tr>
|
||
|
|
<tr class="separator:a76c2ce886f8774f56a2ee9e0ae1b9893"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
|
</table>
|
||
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||
|
|
<div class="textblock"><p>An engine view that partitions the reaction network into multiple groups based on timescales. </p>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>This class is designed to accelerate the integration of stiff nuclear reaction networks. It identifies species that react on very short timescales ("fast" species) and treats them as being in Quasi-Steady-State Equilibrium (QSE). Their abundances are solved for algebraically, removing their stiff differential equations from the system. The remaining "slow" or "dynamic" species are integrated normally. This significantly improves the stability and performance of the solver.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>The core logic resides in the <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7629f98050d71160fc34e5c7c0b3e959" title="Partitions the network based on timescales from a NetIn struct.">partitionNetwork()</a></code> and <code>equilibrateNetwork()</code> methods. The partitioning process involves:<ol type="1">
|
||
|
|
<li><b>Timescale Analysis:</b> Using <code>getSpeciesDestructionTimescales</code> from the base engine, all species are sorted by their characteristic timescales.</li>
|
||
|
|
<li><b>Gap Detection:</b> The sorted list of timescales is scanned for large gaps (e.g., several orders of magnitude) to create distinct "timescale pools".</li>
|
||
|
|
<li><b>Connectivity Analysis:</b> Each pool is analyzed for internal reaction connectivity to form cohesive groups.</li>
|
||
|
|
<li><b>Flux Validation:</b> Candidate QSE groups are validated by comparing the total reaction flux <em>within</em> the group to the flux <em>leaving</em> the group. A high internal-to-external flux ratio indicates a valid QSE group.</li>
|
||
|
|
<li><b>QSE Solve:</b> For valid QSE groups, <code>solveQSEAbundances</code> uses a Levenberg-Marquardt nonlinear solver (<code>Eigen::LevenbergMarquardt</code>) to find the equilibrium abundances of the "algebraic" species, holding the "seed" species constant.</li>
|
||
|
|
</ol>
|
||
|
|
</dd></dl>
|
||
|
|
<p>All calculations are cached using <code>QSECacheKey</code> to avoid re-partitioning and re-solving for similar thermodynamic conditions.</p>
|
||
|
|
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><span class="comment">// 1. Create a base engine (e.g., GraphEngine)</span></div>
|
||
|
|
<div class="line">gridfire::GraphEngine baseEngine(composition);</div>
|
||
|
|
<div class="line"> </div>
|
||
|
|
<div class="line"><span class="comment">// 2. Wrap it with the MultiscalePartitioningEngineView</span></div>
|
||
|
|
<div class="line">gridfire::MultiscalePartitioningEngineView multiscaleEngine(baseEngine);</div>
|
||
|
|
<div class="line"> </div>
|
||
|
|
<div class="line"><span class="comment">// 3. Before integration, update the view to partition the network</span></div>
|
||
|
|
<div class="line"><span class="comment">// and find the initial equilibrium state.</span></div>
|
||
|
|
<div class="line"><a class="code hl_struct" href="structgridfire_1_1NetIn.html">NetIn</a> initialConditions = { .<a class="code hl_variable" href="structgridfire_1_1NetIn.html#a13058f4929e72c1187abbebcddb8aed1">composition</a> = composition, .temperature = 1e8, .density = 1e3 };</div>
|
||
|
|
<div class="line">fourdst::composition::Composition equilibratedComp = multiscaleEngine.update(initialConditions);</div>
|
||
|
|
<div class="line"> </div>
|
||
|
|
<div class="line"><span class="comment">// 4. Use the multiscaleEngine for integration. It will use the cached QSE solution.</span></div>
|
||
|
|
<div class="line"><span class="comment">// The integrator will call calculateRHSAndEnergy, etc. on the multiscaleEngine.</span></div>
|
||
|
|
<div class="line"><span class="keyword">auto</span> Y_initial = multiscaleEngine.mapNetInToMolarAbundanceVector({equilibratedComp, ...});</div>
|
||
|
|
<div class="line"><span class="keyword">auto</span> derivatives = multiscaleEngine.calculateRHSAndEnergy(Y_initial, T9, rho);</div>
|
||
|
|
<div class="ttc" id="astructgridfire_1_1NetIn_html"><div class="ttname"><a href="structgridfire_1_1NetIn.html">gridfire::NetIn</a></div><div class="ttdef"><b>Definition</b> types.h:27</div></div>
|
||
|
|
<div class="ttc" id="astructgridfire_1_1NetIn_html_a13058f4929e72c1187abbebcddb8aed1"><div class="ttname"><a href="structgridfire_1_1NetIn.html#a13058f4929e72c1187abbebcddb8aed1">gridfire::NetIn::composition</a></div><div class="ttdeci">fourdst::composition::Composition composition</div><div class="ttdoc">Composition of the network.</div><div class="ttdef"><b>Definition</b> types.h:28</div></div>
|
||
|
|
</div><!-- fragment --></dd></dl>
|
||
|
|
<p><DynamicEngine> </p>
|
||
|
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
||
|
|
<a id="a892741542388166db4dc55631567ee0a" name="a892741542388166db4dc55631567ee0a"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a892741542388166db4dc55631567ee0a">◆ </a></span>QSEPartition</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">typedef std::tuple<std::vector<fourdst::atomic::Species>, std::vector<size_t>, std::vector<fourdst::atomic::Species>, std::vector<size_t> > <a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a892741542388166db4dc55631567ee0a">gridfire::engine::MultiscalePartitioningEngineView::QSEPartition</a></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Type alias for a QSE partition. </p>
|
||
|
|
<p>A QSE partition is a tuple containing the fast species, their indices, the slow species, and their indices. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||
|
|
<a id="a0a500b19283ad3dd654ca4c4646b2604" name="a0a500b19283ad3dd654ca4c4646b2604"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0a500b19283ad3dd654ca4c4646b2604">◆ </a></span>MultiscalePartitioningEngineView()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">gridfire::engine::MultiscalePartitioningEngineView::MultiscalePartitioningEngineView </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> & </td>
|
||
|
|
<td class="paramname"><em>baseEngine</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Constructs a <a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html" title="An engine view that partitions the reaction network into multiple groups based on timescales.">MultiscalePartitioningEngineView</a>. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">baseEngine</td><td>The underlying <a class="el" href="classgridfire_1_1engine_1_1GraphEngine.html" title="A reaction network engine that uses a graph-based representation.">GraphEngine</a> to which this view delegates calculations. It must be a <code><a class="el" href="classgridfire_1_1engine_1_1GraphEngine.html" title="A reaction network engine that uses a graph-based representation.">GraphEngine</a></code> and not a more general <code><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html" title="Abstract class for engines supporting Jacobian and stoichiometry operations.">DynamicEngine</a></code> because this view relies on its specific implementation details. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ae553a4d590c0cfae5591bcd8bbe6f9d3" name="ae553a4d590c0cfae5591bcd8bbe6f9d3"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae553a4d590c0cfae5591bcd8bbe6f9d3">◆ </a></span>~MultiscalePartitioningEngineView()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">gridfire::engine::MultiscalePartitioningEngineView::~MultiscalePartitioningEngineView </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
||
|
|
<a id="a8d4153f520b486dbb262888e22b95896" name="a8d4153f520b486dbb262888e22b95896"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8d4153f520b486dbb262888e22b95896">◆ </a></span>analyzeTimescalePoolConnectivity()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< std::vector< Species > > gridfire::engine::MultiscalePartitioningEngineView::analyzeTimescalePoolConnectivity </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< std::vector< fourdst::atomic::Species > > & </td>
|
||
|
|
<td class="paramname"><em>timescale_pools</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Analyzes the connectivity of timescale pools. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">timescale_pools</td><td>A vector of vectors of species indices, where each inner vector represents a timescale pool. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td></td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td></td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td></td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of vectors of species indices, where each inner vector represents a single connected component.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To merge timescale pools that are strongly connected by reactions, forming cohesive groups for QSE analysis.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>For each pool, it builds a reaction connectivity graph using <code>buildConnectivityGraph</code>. It then finds the connected components within that graph using a Breadth-First Search (BFS). The resulting components from all pools are collected and returned. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a35482c1d5f1d2b3f2cd6c3976432644e" name="a35482c1d5f1d2b3f2cd6c3976432644e"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a35482c1d5f1d2b3f2cd6c3976432644e">◆ </a></span>buildConnectivityGraph()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::unordered_map< Species, std::vector< Species > > gridfire::engine::MultiscalePartitioningEngineView::buildConnectivityGraph </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< fourdst::atomic::Species > & </td>
|
||
|
|
<td class="paramname"><em>species_pool</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Builds a connectivity graph from a species pool. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">species_pool</td><td>A vector of species indices representing a species pool. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td></td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td></td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td></td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>An unordered map representing the adjacency list of the connectivity graph.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To find reaction connections within a specific group of species.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It iterates through all reactions in the base engine. If a reaction involves at least two distinct species from the input <code>species_pool</code> (one as a reactant and one as a product), it adds edges between all reactants and products from that reaction that are also in the pool. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ac720fcea2f0304c3d7e7ba8a6dfb84da" name="ac720fcea2f0304c3d7e7ba8a6dfb84da"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac720fcea2f0304c3d7e7ba8a6dfb84da">◆ </a></span>calculateEpsDerivatives()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="structgridfire_1_1engine_1_1EnergyDerivatives.html">EnergyDerivatives</a> gridfire::engine::MultiscalePartitioningEngineView::calculateEpsDerivatives </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Calculates the energy generation rate derivatives with respect to abundances. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>The temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>The density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The energy generation rate derivatives (dEps/dT and dEps/drho). </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ada6a1295a92c2aede841672ecae0cede">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="af030c9bd6a95686a09429b4619ad188c" name="af030c9bd6a95686a09429b4619ad188c"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af030c9bd6a95686a09429b4619ad188c">◆ </a></span>calculateMolarReactionFlow()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">double gridfire::engine::MultiscalePartitioningEngineView::calculateMolarReactionFlow </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> & </td>
|
||
|
|
<td class="paramname"><em>reaction</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Calculates the molar reaction flow for a given reaction. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">reaction</td><td>The reaction for which to calculate the flow. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>Molar flow rate for the reaction (e.g., mol/g/s).</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To compute the net rate of a single reaction.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It first checks the QSE cache. On a hit, it retrieves the cached equilibrium abundances for the algebraic species. It creates a mutable copy of <code>Y_full</code>, overwrites the algebraic species abundances with the cached equilibrium values, and then calls the base engine's <code>calculateMolarReactionFlow</code> with this modified abundance vector.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">StaleEngineError</td><td>If the QSE cache misses. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aa57fa5e58b98a03fba31bcddda8001d4">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aa960005503d18066015aef280680d616" name="aa960005503d18066015aef280680d616"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa960005503d18066015aef280680d616">◆ </a></span>calculateRHSAndEnergy()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::expected< <a class="el" href="structgridfire_1_1engine_1_1StepDerivatives.html">StepDerivatives</a>< double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > gridfire::engine::MultiscalePartitioningEngineView::calculateRHSAndEnergy </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Calculates the right-hand side (dY/dt) and energy generation. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A <code>std::expected</code> containing <code><a class="el" href="structgridfire_1_1engine_1_1StepDerivatives.html" title="Structure holding derivatives and energy generation for a network step.">StepDerivatives</a><double></code> on success, or a <code>StaleEngineError</code> if the engine's QSE cache does not contain a solution for the given state.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To compute the time derivatives for the ODE solver. This implementation modifies the derivatives from the base engine to enforce the QSE condition.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It first performs a lookup in the QSE abundance cache (<code>m_qse_abundance_cache</code>). If a cache hit occurs, it calls the base engine's <code>calculateRHSAndEnergy</code>. It then manually sets the time derivatives (<code>dydt</code>) of all identified algebraic species to zero, effectively removing their differential equations from the system being solved.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have been updated via <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a28c8ac1ec594cf55a297e3f9586e214a" title="Updates the internal state of the engine, performing partitioning and QSE equilibration.">update()</a></code> or <code>equilibrateNetwork()</code> for the current thermodynamic conditions, so that a valid entry exists in the QSE cache. </dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The returned derivatives will have <code>dydt=0</code> for all algebraic species.</dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">StaleEngineError</td><td>If the QSE cache does not contain an entry for the given (T9, rho, Y_full). This indicates <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a28c8ac1ec594cf55a297e3f9586e214a" title="Updates the internal state of the engine, performing partitioning and QSE equilibration.">update()</a></code> was not called recently enough. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1Engine.html#a764fc091c72c12c8529105d7c96badb2">gridfire::engine::Engine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a97d9616558f681ad010ee452394f3519" name="a97d9616558f681ad010ee452394f3519"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a97d9616558f681ad010ee452394f3519">◆ </a></span>collectComposition()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::collectComposition </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Collect the composition from this and sub engines. </p>
|
||
|
|
<p>This method operates by injecting the current equilibrium abundances for algebraic species into the composition object so that they can be bubbled up to the caller. </p><dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>Input Composition </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td></td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td></td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>New composition which is comp + any edits from lower levels + the equilibrium abundances of all algebraic species. </dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">BadCollectionError</td><td>if there is a species in the algebraic species set which does not show up in the reported composition from the base engine.:w </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a41877719ae5e8de53c1692c7cf9bfbfc">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a28502c9e8fc0a40211fd3717c2b67214" name="a28502c9e8fc0a40211fd3717c2b67214"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a28502c9e8fc0a40211fd3717c2b67214">◆ </a></span>constructCandidateGroups()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">MultiscalePartitioningEngineView::QSEGroup</a> > gridfire::engine::MultiscalePartitioningEngineView::constructCandidateGroups </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< std::vector< fourdst::atomic::Species > > & </td>
|
||
|
|
<td class="paramname"><em>candidate_pools</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Constructs candidate QSE groups from connected timescale pools. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">candidate_pools</td><td>A vector of vectors of species indices, where each inner vector represents a connected pool of species with similar fast timescales. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td>Vector of current molar abundances. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of <code><a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html" title="Struct representing a QSE group.">QSEGroup</a></code> structs, ready for flux validation.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>For each input pool, it identifies "bridge" reactions that connect the pool to species outside the pool. The reactants of these bridge reactions that are <em>not</em> in the pool are identified as "seed" species. The original pool members are the "algebraic" species. It then bundles the seed and algebraic species into a <code><a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html" title="Struct representing a QSE group.">QSEGroup</a></code> struct.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The <code>candidate_pools</code> should be connected components from <code>analyzeTimescalePoolConnectivity</code>. </dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>A list of candidate <code><a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html" title="Struct representing a QSE group.">QSEGroup</a></code> objects is returned. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="accbf5a67f126627833a4169a81f1be01" name="accbf5a67f126627833a4169a81f1be01"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#accbf5a67f126627833a4169a81f1be01">◆ </a></span>exportToDot()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">void gridfire::engine::MultiscalePartitioningEngineView::exportToDot </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::string & </td>
|
||
|
|
<td class="paramname"><em>filename</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Exports the network to a DOT file for visualization. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">filename</td><td>The name of the DOT file to create. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td>Composition object </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 user"><dt>Purpose</dt><dd>To visualize the partitioned network graph.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This method delegates the DOT file export to the base engine. It does not currently add any partitioning information to the output graph. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a8950fb9c0c36684538805de4f0acf82e" name="a8950fb9c0c36684538805de4f0acf82e"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8950fb9c0c36684538805de4f0acf82e">◆ </a></span>generateJacobianMatrix() <span class="overload">[1/3]</span></h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> gridfire::engine::MultiscalePartitioningEngineView::generateJacobianMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Generates the Jacobian matrix for the current state. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </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 user"><dt>Purpose</dt><dd>To compute the Jacobian matrix required by implicit ODE solvers.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It first performs a QSE cache lookup. On a hit, it delegates the full Jacobian calculation to the base engine. While this view could theoretically return a modified, sparser Jacobian reflecting the QSE constraints, the current implementation returns the full Jacobian from the base engine. The solver is expected to handle the algebraic constraints (e.g., via <code>dydt=0</code> from <code>calculateRHSAndEnergy</code>).</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The base engine's internal Jacobian is updated.</dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">exceptions::StaleEngineError</td><td>If the QSE cache misses, as it cannot proceed without a valid partition. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a53276f09346b531f8676db355e1219eb">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a64b6e7e5794cc42edf72899d348d15af" name="a64b6e7e5794cc42edf72899d348d15af"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a64b6e7e5794cc42edf72899d348d15af">◆ </a></span>generateJacobianMatrix() <span class="overload">[2/3]</span></h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> gridfire::engine::MultiscalePartitioningEngineView::generateJacobianMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const <a class="el" href="namespacegridfire_1_1engine.html#af5175018d2d1e78a8826dd33ec6d675f">SparsityPattern</a> & </td>
|
||
|
|
<td class="paramname"><em>sparsityPattern</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Generates the Jacobian matrix using a sparsity pattern. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </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>
|
||
|
|
<tr><td class="paramname">sparsityPattern</td><td>The sparsity pattern to use for the Jacobian.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To compute the Jacobian matrix while leveraging a known sparsity pattern for efficiency. This is effectively a lower level version of the active species method.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It first checks the QSE cache. On a hit, it delegates to the base engine's <code>generateJacobianMatrix</code> method with the provided sparsity pattern.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The base engine's internal Jacobian is updated according to the sparsity pattern.</dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">exceptions::StaleEngineError</td><td>If the QSE cache misses. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a51d55a21be28e372021b2b8e5ecdc551">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aae6c00cff4f7a992513d1e9481436f8f" name="aae6c00cff4f7a992513d1e9481436f8f"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aae6c00cff4f7a992513d1e9481436f8f">◆ </a></span>generateJacobianMatrix() <span class="overload">[3/3]</span></h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1NetworkJacobian.html">NetworkJacobian</a> gridfire::engine::MultiscalePartitioningEngineView::generateJacobianMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const std::vector< fourdst::atomic::Species > & </td>
|
||
|
|
<td class="paramname"><em>activeSpecies</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Generates the Jacobian matrix for a subset of active species. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </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>
|
||
|
|
<tr><td class="paramname">activeSpecies</td><td>The subset of species to include in the Jacobian.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To compute a reduced Jacobian matrix for implicit solvers that only consider a subset of species.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>Similar to the full Jacobian generation, it first checks the QSE cache. On a hit, it calls the base engine's <code>generateJacobianMatrix</code> with the specified active species. The returned Jacobian still reflects the full network, but only for the active species subset.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The base engine's internal Jacobian is updated for the active species.</dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">exceptions::StaleEngineError</td><td>If the QSE cache misses. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a15d53dac8b622a3b7d0f928a3995dbde">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a552fa7e1f4e066fa577c55500e782014" name="a552fa7e1f4e066fa577c55500e782014"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a552fa7e1f4e066fa577c55500e782014">◆ </a></span>generateStoichiometryMatrix()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">void gridfire::engine::MultiscalePartitioningEngineView::generateStoichiometryMatrix </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Generates the stoichiometry matrix for the network. </p>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To prepare the stoichiometry matrix for later queries.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a552fa7e1f4e066fa577c55500e782014" title="Generates the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a></code>. The stoichiometry is based on the full, unpartitioned network. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a5e2c45a3e415b53e41def8f743f93464">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ad80faf5bea2153480cbfb323ed805686" name="ad80faf5bea2153480cbfb323ed805686"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad80faf5bea2153480cbfb323ed805686">◆ </a></span>getBaseEngine()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">const <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a> & gridfire::engine::MultiscalePartitioningEngineView::getBaseEngine </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the base engine. </p>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A const reference to the base engine. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1EngineView.html#a7884ea8e5618e295e64150f3ecf2c6b5">gridfire::engine::EngineView< DynamicEngine ></a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a7d2f445ae7b75d4cd879afb6e960e0f7" name="a7d2f445ae7b75d4cd879afb6e960e0f7"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7d2f445ae7b75d4cd879afb6e960e0f7">◆ </a></span>getDynamicSpecies()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">const std::vector< Species > & gridfire::engine::MultiscalePartitioningEngineView::getDynamicSpecies </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the dynamic species in the network. </p>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A const reference to the vector of species identified as "dynamic" or "slow".</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To allow external queries of the partitioning results.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It returns a const reference to the <code>m_dynamic_species</code> member vector.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7629f98050d71160fc34e5c7c0b3e959" title="Partitions the network based on timescales from a NetIn struct.">partitionNetwork()</a></code> must have been called. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aebb0977daa8c6a9c496f0f989f950fae" name="aebb0977daa8c6a9c496f0f989f950fae"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aebb0977daa8c6a9c496f0f989f950fae">◆ </a></span>getFastSpecies()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< Species > gridfire::engine::MultiscalePartitioningEngineView::getFastSpecies </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the fast species in the network. </p>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of species identified as "fast" or "algebraic" by the partitioning.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To allow external queries of the partitioning results.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It returns a copy of the <code>m_algebraic_species</code> member vector.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7629f98050d71160fc34e5c7c0b3e959" title="Partitions the network based on timescales from a NetIn struct.">partitionNetwork()</a></code> must have been called. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a9dc9de4359beb704b94024f159ae619d" name="a9dc9de4359beb704b94024f159ae619d"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9dc9de4359beb704b94024f159ae619d">◆ </a></span>getNetworkReactions()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> & gridfire::engine::MultiscalePartitioningEngineView::getNetworkReactions </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the set of logical reactions in the network. </p>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A const reference to the <code>LogicalReactionSet</code> from the base engine, containing all reactions in the full network. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a26b59a4c7622bf820c0eeec6a7522aa8">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aa7aa38cf054988d050c04c59f28efdaa" name="aa7aa38cf054988d050c04c59f28efdaa"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa7aa38cf054988d050c04c59f28efdaa">◆ </a></span>getNetworkSpecies()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">const std::vector< Species > & gridfire::engine::MultiscalePartitioningEngineView::getNetworkSpecies </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the list of species in the network. </p>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A const reference to the vector of <code>Species</code> objects representing all species in the underlying base engine. This view does not alter the species list itself, only how their abundances are evolved. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1Engine.html#a3263c3fde2509d5d8ec4da3b6e946c48">gridfire::engine::Engine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a6fc4cb156a287f579cb0f0c5d88d74d0" name="a6fc4cb156a287f579cb0f0c5d88d74d0"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6fc4cb156a287f579cb0f0c5d88d74d0">◆ </a></span>getNormalizedEquilibratedComposition()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::getNormalizedEquilibratedComposition </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets a normalized composition with QSE species equilibrated. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The input composition. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A new <code>Composition</code> object with algebraic species set to their equilibrium values.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To provide a way to get the equilibrated composition without modifying the internal state.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It calls <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a6c785a6334e5fd9593d3e279bafee592" title="Solves for the QSE abundances of the algebraic species in a given state.">solveQSEAbundances()</a></code> to compute the equilibrium abundances for the algebraic species, then constructs a new <code>Composition</code> object reflecting these values.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE partition for the given state. </dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">StaleEngineError</td><td>If the QSE cache misses. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="accdd09720d44cc5efb1ee267706f0500" name="accdd09720d44cc5efb1ee267706f0500"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#accdd09720d44cc5efb1ee267706f0500">◆ </a></span>getScreeningModel()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> gridfire::engine::MultiscalePartitioningEngineView::getScreeningModel </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramname"></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the 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>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#accdd09720d44cc5efb1ee267706f0500" title="Gets the current electron screening model.">getScreeningModel()</a></code>. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a24103027a38e02d4342161164554d332">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a27d68f2e6c4572445cd94dc472470a01" name="a27d68f2e6c4572445cd94dc472470a01"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a27d68f2e6c4572445cd94dc472470a01">◆ </a></span>getSpeciesDestructionTimescales()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::expected< std::unordered_map< Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > gridfire::engine::MultiscalePartitioningEngineView::getSpeciesDestructionTimescales </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Computes destruction timescales for all species in the network. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A <code>std::expected</code> containing a map from <code>Species</code> to their characteristic destruction timescales (s) on success, or a <code>StaleEngineError</code> on failure.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To get the timescale for species destruction, which is used as the primary metric for network partitioning.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">StaleEngineError</td><td>If the QSE cache misses. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aefc5d0f7842b27a108ba1e4ca346e9a0">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ae0c02c830cf45568a7c4d35d4ed15e95" name="ae0c02c830cf45568a7c4d35d4ed15e95"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae0c02c830cf45568a7c4d35d4ed15e95">◆ </a></span>getSpeciesIndex()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">size_t gridfire::engine::MultiscalePartitioningEngineView::getSpeciesIndex </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the index of a species in the full network. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">species</td><td>The species to get the index of. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The index of the species in the base engine's network.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ae0c02c830cf45568a7c4d35d4ed15e95" title="Gets the index of a species in the full network.">getSpeciesIndex()</a></code>. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ac0f40017603e8e6887b75dc7360d7c5e">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aec5ebaccf625e39d0fa6c1330855d008" name="aec5ebaccf625e39d0fa6c1330855d008"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aec5ebaccf625e39d0fa6c1330855d008">◆ </a></span>getSpeciesStatus()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="namespacegridfire_1_1engine.html#a83c9d755597668bba3cf00cd0ea10ee3">SpeciesStatus</a> gridfire::engine::MultiscalePartitioningEngineView::getSpeciesStatus </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets the status of a species in the network. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">species</td><td>The species to query. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The <code>SpeciesStatus</code> indicating if the species is dynamic, algebraic, or not involved.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To allow external queries about the role of a species in the partitioned network.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It checks for membership in <code>m_dynamic_species</code> and <code>m_algebraic_species</code> to determine the appropriate status.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7629f98050d71160fc34e5c7c0b3e959" title="Partitions the network based on timescales from a NetIn struct.">partitionNetwork()</a></code> must have been called. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a8aebefad50c1aa34207e118e92d7ccf0">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a86390e410db48addfe8dbd094743c38e" name="a86390e410db48addfe8dbd094743c38e"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a86390e410db48addfe8dbd094743c38e">◆ </a></span>getSpeciesTimescales()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::expected< std::unordered_map< Species, double >, <a class="el" href="namespacegridfire_1_1engine.html#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> > gridfire::engine::MultiscalePartitioningEngineView::getSpeciesTimescales </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Computes timescales for all species in the network. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>The current composition. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A <code>std::expected</code> containing a map from <code>Species</code> to their characteristic timescales (s) on success, or a <code>StaleEngineError</code> on failure.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To get the characteristic timescale <code>Y / (dY/dt)</code> for each species.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0 to signify that they equilibrate instantaneously on the timescale of the solver.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname">StaleEngineError</td><td>If the QSE cache misses. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aef6ed91d922c0b1733fd7835e99d0efe">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a1372e7a823841c819f6c1a15d38217a6" name="a1372e7a823841c819f6c1a15d38217a6"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1372e7a823841c819f6c1a15d38217a6">◆ </a></span>getStoichiometryMatrixEntry()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">int gridfire::engine::MultiscalePartitioningEngineView::getStoichiometryMatrixEntry </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1Reaction.html">reaction::Reaction</a> & </td>
|
||
|
|
<td class="paramname"><em>reaction</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Gets an entry from the stoichiometry matrix. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">species</td><td>Species to look up stoichiometry for. </td></tr>
|
||
|
|
<tr><td class="paramname">reaction</td><td>Reaction to find. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>Stoichiometric coefficient for the species in the reaction.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To query the stoichiometric relationship between a species and a reaction.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a1372e7a823841c819f6c1a15d38217a6" title="Gets an entry from the stoichiometry matrix.">getStoichiometryMatrixEntry()</a></code>.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a552fa7e1f4e066fa577c55500e782014" title="Generates the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a></code> must have been called. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a5ce6ff370e3f0964c6b2688fb3f4bb7e">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ae7f2939150a5ed84e51028c8ebd83d17" name="ae7f2939150a5ed84e51028c8ebd83d17"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae7f2939150a5ed84e51028c8ebd83d17">◆ </a></span>group_is_a_qse_cluster()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::pair< bool, <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> > gridfire::engine::MultiscalePartitioningEngineView::group_is_a_qse_cluster </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> & </td>
|
||
|
|
<td class="paramname"><em>group</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a6adac01afdd51cb3660e38731afbd265" name="a6adac01afdd51cb3660e38731afbd265"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6adac01afdd51cb3660e38731afbd265">◆ </a></span>group_is_a_qse_pipeline()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">bool gridfire::engine::MultiscalePartitioningEngineView::group_is_a_qse_pipeline </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> & </td>
|
||
|
|
<td class="paramname"><em>group</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a72d813f71b378dfd6f632e6b9adf1cc5" name="a72d813f71b378dfd6f632e6b9adf1cc5"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a72d813f71b378dfd6f632e6b9adf1cc5">◆ </a></span>identifyMeanSlowestPool()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">size_t gridfire::engine::MultiscalePartitioningEngineView::identifyMeanSlowestPool </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< std::vector< fourdst::atomic::Species > > & </td>
|
||
|
|
<td class="paramname"><em>pools</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Identifies the pool with the slowest mean timescale. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">pools</td><td>A vector of vectors of species indices, where each inner vector represents a timescale pool. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td>Vector of current molar abundances for the full network. </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>The index of the pool with the largest (slowest) mean destruction timescale.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To identify the core set of dynamic species that will not be part of any QSE group.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It calculates the geometric mean of the destruction timescales for all species in each pool and returns the index of the pool with the maximum mean timescale. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ad8615cd1f4b78ec1c1448c96c54913e4" name="ad8615cd1f4b78ec1c1448c96c54913e4"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad8615cd1f4b78ec1c1448c96c54913e4">◆ </a></span>involvesSpecies()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">bool gridfire::engine::MultiscalePartitioningEngineView::involvesSpecies </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Checks if a species is involved in the partitioned network. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">species</td><td>The species to check. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the species is in either the dynamic or algebraic sets, <code>false</code> otherwise.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To allow external queries about species involvement in the partitioned network.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It checks for membership in both <code>m_dynamic_species</code> and <code>m_algebraic_species</code>.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7629f98050d71160fc34e5c7c0b3e959" title="Partitions the network based on timescales from a NetIn struct.">partitionNetwork()</a></code> must have been called. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aa55fe8b346dca4a06027acac9a2547a3" name="aa55fe8b346dca4a06027acac9a2547a3"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa55fe8b346dca4a06027acac9a2547a3">◆ </a></span>involvesSpeciesInDynamic()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">bool gridfire::engine::MultiscalePartitioningEngineView::involvesSpeciesInDynamic </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Check if a species is involved in the dynamic set. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">species</td><td>The species to check. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>Boolean indicating if the species is in the dynamic set. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a4476e65dd6ce8700f5163ff7b29185e4" name="a4476e65dd6ce8700f5163ff7b29185e4"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4476e65dd6ce8700f5163ff7b29185e4">◆ </a></span>involvesSpeciesInQSE()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">bool gridfire::engine::MultiscalePartitioningEngineView::involvesSpeciesInQSE </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::atomic::Species & </td>
|
||
|
|
<td class="paramname"><em>species</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Check if a species is involved in the QSE (algebraic) set. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">species</td><td>The species to check. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>Boolean indicating if the species is in the algebraic set. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a10dd189ba40dbb604fdf55746b5d4b79" name="a10dd189ba40dbb604fdf55746b5d4b79"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a10dd189ba40dbb604fdf55746b5d4b79">◆ </a></span>isStale()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">bool gridfire::engine::MultiscalePartitioningEngineView::isStale </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Checks if the engine's internal state is stale relative to the provided conditions. </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. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the engine is stale, <code>false</code> otherwise.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To determine if <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a28c8ac1ec594cf55a297e3f9586e214a" title="Updates the internal state of the engine, performing partitioning and QSE equilibration.">update()</a></code> needs to be called.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It creates a <code>QSECacheKey</code> from the <code>netIn</code> data and checks for its existence in the <code>m_qse_abundance_cache</code>. A cache miss indicates the engine is stale because it does not have a valid QSE partition for the current conditions. It also queries the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a10dd189ba40dbb604fdf55746b5d4b79" title="Checks if the engine's internal state is stale relative to the provided conditions.">isStale()</a></code> method. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a79423b9f67b4cac702547b4f1d8bd14c">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aa839c3893ff9fb8e5a4187224dac7b47" name="aa839c3893ff9fb8e5a4187224dac7b47"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa839c3893ff9fb8e5a4187224dac7b47">◆ </a></span>mapNetInToMolarAbundanceVector()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< double > gridfire::engine::MultiscalePartitioningEngineView::mapNetInToMolarAbundanceVector </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Maps a <code><a class="el" href="structgridfire_1_1NetIn.html">NetIn</a></code> struct to a molar abundance vector for the full network. </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. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances corresponding to the species order in the base engine.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#aa839c3893ff9fb8e5a4187224dac7b47" title="Maps a NetIn struct to a molar abundance vector for the full network.">mapNetInToMolarAbundanceVector()</a></code>. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#aa9d55b81c1963113aad86aa60c19676f">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a4da0432598ecb0415b70b94d8300d3ef" name="a4da0432598ecb0415b70b94d8300d3ef"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4da0432598ecb0415b70b94d8300d3ef">◆ </a></span>merge_coupled_groups()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">MultiscalePartitioningEngineView::QSEGroup</a> > gridfire::engine::MultiscalePartitioningEngineView::merge_coupled_groups </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > & </td>
|
||
|
|
<td class="paramname"><em>groups</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const std::vector< <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> > & </td>
|
||
|
|
<td class="paramname"><em>groupReactions</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aaba92340dd44399c48bc219ec63f94e2" name="aaba92340dd44399c48bc219ec63f94e2"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaba92340dd44399c48bc219ec63f94e2">◆ </a></span>partitionByTimescale()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< std::vector< Species > > gridfire::engine::MultiscalePartitioningEngineView::partitionByTimescale </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Partitions the network by timescale. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>Vector of current molar abundances for all species. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of vectors of species indices, where each inner vector represents a timescale pool.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To group species into "pools" based on their destruction timescales.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It retrieves all species destruction timescales from the base engine, sorts them, and then iterates through the sorted list, creating a new pool whenever it detects a gap between consecutive timescales that is larger than a predefined threshold (e.g., a factor of 100). </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a7629f98050d71160fc34e5c7c0b3e959" name="a7629f98050d71160fc34e5c7c0b3e959"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7629f98050d71160fc34e5c7c0b3e959">◆ </a></span>partitionNetwork()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::partitionNetwork </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Partitions the network based on timescales from a <code><a class="el" href="structgridfire_1_1NetIn.html">NetIn</a></code> struct. </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.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>A convenience overload for <code>partitionNetwork</code>.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It unpacks the <code>netIn</code> struct into <code>Y</code>, <code>T9</code>, and <code>rho</code> and then calls the primary <code>partitionNetwork</code> method. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="afabb6222bd6cbe3277b6c8639203be25" name="afabb6222bd6cbe3277b6c8639203be25"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afabb6222bd6cbe3277b6c8639203be25">◆ </a></span>primeEngine()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="structgridfire_1_1engine_1_1PrimingReport.html">PrimingReport</a> gridfire::engine::MultiscalePartitioningEngineView::primeEngine </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Primes the engine with a specific species. </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. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A <code><a class="el" href="structgridfire_1_1engine_1_1PrimingReport.html" title="Captures the result of a network priming operation.">PrimingReport</a></code> struct containing information about the priming process.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To prepare the network for ignition or specific pathway studies.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#afabb6222bd6cbe3277b6c8639203be25" title="Primes the engine with a specific species.">primeEngine()</a></code>. The multiscale view does not currently interact with the priming process. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a70e270bb50910c0055a75575c1ef1e95">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a601a4fb916f003c9ff7cf000a8006bab" name="a601a4fb916f003c9ff7cf000a8006bab"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a601a4fb916f003c9ff7cf000a8006bab">◆ </a></span>pruneValidatedGroups()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">MultiscalePartitioningEngineView::QSEGroup</a> > gridfire::engine::MultiscalePartitioningEngineView::pruneValidatedGroups </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > & </td>
|
||
|
|
<td class="paramname"><em>groups</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const std::vector< <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> > & </td>
|
||
|
|
<td class="paramname"><em>groupReactions</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aa378d0e0fa6018b989d83945daa47952" name="aa378d0e0fa6018b989d83945daa47952"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa378d0e0fa6018b989d83945daa47952">◆ </a></span>setNetworkReactions()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">void gridfire::engine::MultiscalePartitioningEngineView::setNetworkReactions </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">reaction::ReactionSet</a> & </td>
|
||
|
|
<td class="paramname"><em>reactions</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Sets the set of logical reactions in the network. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">reactions</td><td>The set of logical reactions to use.</td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To modify the reaction network.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This operation is not supported by the <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html" title="An engine view that partitions the reaction network into multiple groups based on timescales.">MultiscalePartitioningEngineView</a></code> as it would invalidate the partitioning logic. It logs a critical error and throws an exception. Network modifications should be done on the base engine before it is wrapped by this view.</dd></dl>
|
||
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
||
|
|
<table class="exception">
|
||
|
|
<tr><td class="paramname"><a class="el" href="classgridfire_1_1exceptions_1_1UnableToSetNetworkReactionsError.html" title="Exception for failures in setting network reactions.">exceptions::UnableToSetNetworkReactionsError</a></td><td>Always. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#ab321170954bffc53b1bedaf54f6976be">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="ad11aa1e168ec03d0c3ed90eeddcefe52" name="ad11aa1e168ec03d0c3ed90eeddcefe52"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad11aa1e168ec03d0c3ed90eeddcefe52">◆ </a></span>setScreeningModel()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">void gridfire::engine::MultiscalePartitioningEngineView::setScreeningModel </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> </td>
|
||
|
|
<td class="paramname"><em>model</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Sets the 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>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#ad11aa1e168ec03d0c3ed90eeddcefe52" title="Sets the electron screening model.">setScreeningModel()</a></code>. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a50e76977d0dc3cc23d52b51842d35003">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a6c785a6334e5fd9593d3e279bafee592" name="a6c785a6334e5fd9593d3e279bafee592"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6c785a6334e5fd9593d3e279bafee592">◆ </a></span>solveQSEAbundances()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::solveQSEAbundances </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const fourdst::composition::CompositionAbstract & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Solves for the QSE abundances of the algebraic species in a given state. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">comp</td><td>Vector of current molar abundances for all species in the base engine. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances for the algebraic species.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To find the equilibrium abundances of the algebraic species that satisfy the QSE conditions.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>It uses the Levenberg-Marquardt algorithm via Eigen's <code>LevenbergMarquardt</code> class. The problem is defined by the <code>EigenFunctor</code> which computes the residuals and Jacobian for the QSE equations.</dd></dl>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The input state (Y_full, T9, rho) must be a valid physical state. </dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The algebraic species in the QSE cache are updated with the new equilibrium abundances. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a28c8ac1ec594cf55a297e3f9586e214a" name="a28c8ac1ec594cf55a297e3f9586e214a"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a28c8ac1ec594cf55a297e3f9586e214a">◆ </a></span>update()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::update </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const <a class="el" href="structgridfire_1_1NetIn.html">NetIn</a> & </td>
|
||
|
|
<td class="paramname"><em>netIn</em></td><td>)</td>
|
||
|
|
<td></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Updates the internal state of the engine, performing partitioning and QSE equilibration. </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: temperature, density, and composition. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>The new composition after QSE species have been brought to equilibrium.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>This is the main entry point for preparing the multiscale engine for use. It triggers the network partitioning and solves for the initial QSE abundances, caching the result.</dd></dl>
|
||
|
|
<p>@how</p><ol type="1">
|
||
|
|
<li>It first checks the QSE cache. If a valid entry already exists for the input state, it returns the input composition, as no work is needed.</li>
|
||
|
|
<li>If the cache misses, it calls <code>equilibrateNetwork()</code>.</li>
|
||
|
|
<li><code>equilibrateNetwork()</code> in turn calls <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a7629f98050d71160fc34e5c7c0b3e959" title="Partitions the network based on timescales from a NetIn struct.">partitionNetwork()</a></code> to define the dynamic and algebraic species sets.</li>
|
||
|
|
<li>It then calls <code><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html#a6c785a6334e5fd9593d3e279bafee592" title="Solves for the QSE abundances of the algebraic species in a given state.">solveQSEAbundances()</a></code> to compute the equilibrium abundances.</li>
|
||
|
|
<li>The resulting equilibrium abundances for the algebraic species are stored in the <code>m_qse_abundance_cache</code>.</li>
|
||
|
|
<li>A new <code>fourdst::composition::Composition</code> object reflecting the equilibrated state is created and returned.</li>
|
||
|
|
</ol>
|
||
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The <code>netIn</code> struct should contain a valid physical state. </dd></dl>
|
||
|
|
<dl class="section post"><dt>Postcondition</dt><dd>The engine is partitioned (<code>m_dynamic_species</code>, <code>m_algebraic_species</code>, etc. are populated). The <code>m_qse_abundance_cache</code> is populated with the QSE solution for the given state. The returned composition reflects the new equilibrium. </dd></dl>
|
||
|
|
|
||
|
|
<p>Implements <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html#a8dd85442ec54f20d91743c72364e36ff">gridfire::engine::DynamicEngine</a>.</p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="acf5cfbd18ebb2566f637cb176f861423" name="acf5cfbd18ebb2566f637cb176f861423"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acf5cfbd18ebb2566f637cb176f861423">◆ </a></span>validateGroupsWithFluxAnalysis()</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1FluxValidationResult.html">MultiscalePartitioningEngineView::FluxValidationResult</a> gridfire::engine::MultiscalePartitioningEngineView::validateGroupsWithFluxAnalysis </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">const std::vector< <a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a> > & </td>
|
||
|
|
<td class="paramname"><em>candidate_groups</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const fourdst::composition::Composition & </td>
|
||
|
|
<td class="paramname"><em>comp</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>T9</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">double </td>
|
||
|
|
<td class="paramname"><em>rho</em> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td> const</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Validates candidate QSE groups using flux analysis. </p>
|
||
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
||
|
|
<table class="params">
|
||
|
|
<tr><td class="paramname">candidate_groups</td><td>A vector of candidate QSE groups. </td></tr>
|
||
|
|
<tr><td class="paramname">comp</td><td>Vector of current molar abundances for the full network. </td></tr>
|
||
|
|
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||
|
|
<tr><td class="paramname">rho</td><td>Density in g/cm^3. </td></tr>
|
||
|
|
</table>
|
||
|
|
</dd>
|
||
|
|
</dl>
|
||
|
|
<dl class="section return"><dt>Returns</dt><dd>A vector of validated QSE groups that meet the flux criteria.</dd></dl>
|
||
|
|
<dl class="section user"><dt>Purpose</dt><dd>To ensure that a candidate QSE group is truly in equilibrium by checking that the reaction fluxes <em>within</em> the group are much larger than the fluxes <em>leaving</em> the group.</dd></dl>
|
||
|
|
<dl class="section user"><dt>How</dt><dd>For each candidate group, it calculates the sum of all internal reaction fluxes and the sum of all external (bridge) reaction fluxes. If the ratio of internal to external flux exceeds a configurable threshold, the group is considered valid and is added to the returned vector. </dd></dl>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
||
|
|
<a id="ab6c4cddda054dfa35f6e0a083015dc9d" name="ab6c4cddda054dfa35f6e0a083015dc9d"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab6c4cddda054dfa35f6e0a083015dc9d">◆ </a></span>m_activeReactionIndices</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector<size_t> gridfire::engine::MultiscalePartitioningEngineView::m_activeReactionIndices</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Indices of all reactions involving only active species. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a40ddd53c7f5482237e4bad38525ee100" name="a40ddd53c7f5482237e4bad38525ee100"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a40ddd53c7f5482237e4bad38525ee100">◆ </a></span>m_activeSpeciesIndices</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector<size_t> gridfire::engine::MultiscalePartitioningEngineView::m_activeSpeciesIndices</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Indices of all species considered active in the current partition (dynamic + algebraic). </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="abcf6a7ba929fe4c45e2a4deeb2bfca82" name="abcf6a7ba929fe4c45e2a4deeb2bfca82"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abcf6a7ba929fe4c45e2a4deeb2bfca82">◆ </a></span>m_algebraic_abundances</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::unordered_map<fourdst::atomic::Species, double> gridfire::engine::MultiscalePartitioningEngineView::m_algebraic_abundances</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Map from species to their calculated abundances in the QSE state. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="aac8ac0afe8fd443b661d849e9b1b5e72" name="aac8ac0afe8fd443b661d849e9b1b5e72"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aac8ac0afe8fd443b661d849e9b1b5e72">◆ </a></span>m_algebraic_species</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector<fourdst::atomic::Species> gridfire::engine::MultiscalePartitioningEngineView::m_algebraic_species</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Species that are treated as algebraic (in QSE) in the QSE groups. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a460e8e46d38b81efa510714a3375f674" name="a460e8e46d38b81efa510714a3375f674"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a460e8e46d38b81efa510714a3375f674">◆ </a></span>m_baseEngine</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">DynamicEngine</a>& gridfire::engine::MultiscalePartitioningEngineView::m_baseEngine</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>The base engine to which this view delegates calculations. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a38b0eb7e7e454e001254aa823b1ec3f7" name="a38b0eb7e7e454e001254aa823b1ec3f7"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a38b0eb7e7e454e001254aa823b1ec3f7">◆ </a></span>m_composition_cache</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::unordered_map<uint64_t, fourdst::composition::Composition> gridfire::engine::MultiscalePartitioningEngineView::m_composition_cache</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a69baf327ba82f923859c569bc4d76ee8" name="a69baf327ba82f923859c569bc4d76ee8"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a69baf327ba82f923859c569bc4d76ee8">◆ </a></span>m_dynamic_species</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector<fourdst::atomic::Species> gridfire::engine::MultiscalePartitioningEngineView::m_dynamic_species</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>The simplified set of species presented to the solver (the "slow" species). </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="add096961cacfa9206ae5227d4f3a3c36" name="add096961cacfa9206ae5227d4f3a3c36"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#add096961cacfa9206ae5227d4f3a3c36">◆ </a></span>m_logger</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">quill::Logger* gridfire::engine::MultiscalePartitioningEngineView::m_logger = LogManager::getInstance().getLogger("log")</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>Logger instance for logging messages. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a36ccf1d3b4cefba461acddcb238f27a5" name="a36ccf1d3b4cefba461acddcb238f27a5"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a36ccf1d3b4cefba461acddcb238f27a5">◆ </a></span>m_qse_groups</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector<<a class="el" href="structgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSEGroup.html">QSEGroup</a>> gridfire::engine::MultiscalePartitioningEngineView::m_qse_groups</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>The list of identified equilibrium groups. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a3d0cde126563adc97b998bade1132603" name="a3d0cde126563adc97b998bade1132603"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3d0cde126563adc97b998bade1132603">◆ </a></span>m_qse_solvers</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">std::vector<std::unique_ptr<<a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView_1_1QSESolver.html">QSESolver</a>> > gridfire::engine::MultiscalePartitioningEngineView::m_qse_solvers</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
<p>A set of solvers, one for each QSE group. </p>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<a id="a76c2ce886f8774f56a2ee9e0ae1b9893" name="a76c2ce886f8774f56a2ee9e0ae1b9893"></a>
|
||
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76c2ce886f8774f56a2ee9e0ae1b9893">◆ </a></span>m_sun_ctx</h2>
|
||
|
|
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="mlabels">
|
||
|
|
<tr>
|
||
|
|
<td class="mlabels-left">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">SUNContext gridfire::engine::MultiscalePartitioningEngineView::m_sun_ctx = nullptr</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</td>
|
||
|
|
<td class="mlabels-right">
|
||
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div><div class="memdoc">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
||
|
|
<li>src/include/gridfire/engine/views/<a class="el" href="engine__multiscale_8h.html">engine_multiscale.h</a></li>
|
||
|
|
<li>src/lib/engine/views/<a class="el" href="engine__multiscale_8cpp.html">engine_multiscale.cpp</a></li>
|
||
|
|
</ul>
|
||
|
|
</div><!-- contents -->
|
||
|
|
</div><!-- doc-content -->
|
||
|
|
<!-- start footer part -->
|
||
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||
|
|
<ul>
|
||
|
|
<li class="navelem"><a class="el" href="namespacegridfire.html">gridfire</a></li><li class="navelem"><a class="el" href="namespacegridfire_1_1engine.html">engine</a></li><li class="navelem"><a class="el" href="classgridfire_1_1engine_1_1MultiscalePartitioningEngineView.html">MultiscalePartitioningEngineView</a></li>
|
||
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
|
||
|
|
</ul>
|
||
|
|
</div>
|
||
|
|
</body>
|
||
|
|
</html>
|