Files
GridFire/docs/html/namespacegridfire_1_1engine.html
2025-11-25 14:31:59 -05:00

1195 lines
92 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GridFire: gridfire::engine Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">GridFire<span id="projectnumber">&#160;v0.7.0_rc1</span>
</div>
<div id="projectbrief">General Purpose Nuclear Network</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('namespacegridfire_1_1engine.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#concepts">Concepts</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">gridfire::engine Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegridfire_1_1engine_1_1diagnostics.html">diagnostics</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_adaptive_engine_view.html">AdaptiveEngineView</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An engine view that dynamically adapts the reaction network based on runtime conditions. <a href="classgridfire_1_1engine_1_1_adaptive_engine_view.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_defined_engine_view.html">DefinedEngineView</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html">DynamicEngine</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract class for engines supporting Jacobian and stoichiometry operations. <a href="classgridfire_1_1engine_1_1_dynamic_engine.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1engine_1_1_energy_derivatives.html">EnergyDerivatives</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure holding derivatives of energy generation rate with respect to T and rho. <a href="structgridfire_1_1engine_1_1_energy_derivatives.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_engine.html">Engine</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract base class for a reaction network engine. <a href="classgridfire_1_1engine_1_1_engine.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_engine_view.html">EngineView</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract base class for a "view" of a reaction network engine. <a href="classgridfire_1_1engine_1_1_engine_view.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_file_defined_engine_view.html">FileDefinedEngineView</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_graph_engine.html">GraphEngine</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A reaction network engine that uses a graph-based representation. <a href="classgridfire_1_1engine_1_1_graph_engine.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html">MultiscalePartitioningEngineView</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An engine view that partitions the reaction network into multiple groups based on timescales. <a href="classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper class for handling the network Jacobian matrix. <a href="classgridfire_1_1engine_1_1_network_jacobian.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_network_priming_engine_view.html">NetworkPrimingEngineView</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a view of a <a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html" title="Abstract class for engines supporting Jacobian and stoichiometry operations.">DynamicEngine</a> filtered to reactions involving a specified priming species. <a href="classgridfire_1_1engine_1_1_network_priming_engine_view.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html">PrimingReport</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Captures the result of a network priming operation. <a href="structgridfire_1_1engine_1_1_priming_report.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_reaction.html">Reaction</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a single nuclear reaction from a specific data source. <a href="classgridfire_1_1engine_1_1_reaction.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1engine_1_1_reaction_set.html">ReactionSet</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1engine_1_1_step_derivatives.html">StepDerivatives</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure holding derivatives and energy generation for a network step. <a href="structgridfire_1_1engine_1_1_step_derivatives.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="concepts" name="concepts"></a>
Concepts</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptgridfire_1_1engine_1_1_engine_type.html">EngineType</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concept for types allowed as engine bases in EngineView. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a9de1791ec719c0a9b76b835703336870" id="r_a9de1791ec719c0a9b76b835703336870"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9de1791ec719c0a9b76b835703336870">SparsityPattern</a> = std::vector&lt;std::pair&lt;size_t, size_t&gt;&gt;</td></tr>
<tr class="memdesc:a9de1791ec719c0a9b76b835703336870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type alias for sparsity pattern representation. <br /></td></tr>
<tr class="separator:a9de1791ec719c0a9b76b835703336870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4562b782e8096986a9b0cc95aa8c1c02" id="r_a4562b782e8096986a9b0cc95aa8c1c02"><td class="memItemLeft" align="right" valign="top">typedef CppAD::AD&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4562b782e8096986a9b0cc95aa8c1c02">ADDouble</a></td></tr>
<tr class="memdesc:a4562b782e8096986a9b0cc95aa8c1c02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for CppAD AD type for double precision. <br /></td></tr>
<tr class="separator:a4562b782e8096986a9b0cc95aa8c1c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55cd7c313bbfafd5b6a1bcd6329ed99b" id="r_a55cd7c313bbfafd5b6a1bcd6329ed99b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a55cd7c313bbfafd5b6a1bcd6329ed99b">BuildDepthType</a> = std::variant&lt;<a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7">NetworkBuildDepth</a>, int&gt;</td></tr>
<tr class="memdesc:a55cd7c313bbfafd5b6a1bcd6329ed99b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variant specifying either a predefined <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7" title="Specifies supported depths for building the reaction network.">NetworkBuildDepth</a> or a custom integer depth. <br /></td></tr>
<tr class="separator:a55cd7c313bbfafd5b6a1bcd6329ed99b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7b127f4fe99188e3d94ff11608d54f0" id="r_aa7b127f4fe99188e3d94ff11608d54f0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa7b127f4fe99188e3d94ff11608d54f0">JacobianEntry</a> = std::pair&lt;std::pair&lt;fourdst::atomic::Species, fourdst::atomic::Species&gt;, double&gt;</td></tr>
<tr class="memdesc:aa7b127f4fe99188e3d94ff11608d54f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an entry in the Jacobian matrix. <br /></td></tr>
<tr class="separator:aa7b127f4fe99188e3d94ff11608d54f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a4d057e41b489bf20744dfa8d2958ad5a" id="r_a4d057e41b489bf20744dfa8d2958ad5a"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> { <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5aa74eb855e4de6fe58228f03006c02fd8a">OKAY</a>
, <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5aa4d855a061b3066dc14a3b12ed26b5456">STALE</a>
, <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5aabb1ca97ec761fc37101737ba0aa2e7c5">ERROR</a>
, <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5aa4905ac9d6a22bdfc1ae096094ce6248d">COUNT</a>
}</td></tr>
<tr class="memdesc:a4d057e41b489bf20744dfa8d2958ad5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of possible engine statuses. <a href="#a4d057e41b489bf20744dfa8d2958ad5a">More...</a><br /></td></tr>
<tr class="separator:a4d057e41b489bf20744dfa8d2958ad5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a775506bb881280f73264db27cb8388f9" id="r_a775506bb881280f73264db27cb8388f9"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> : uint32_t { <br />
&#160;&#160;<a class="el" href="#a775506bb881280f73264db27cb8388f9ab50339a10e1de285ac99d4c3990b8693">NONE</a> = 0
, <a class="el" href="#a775506bb881280f73264db27cb8388f9a8211eaf8b0f0de1a6b0bf199da5975e1">REACLIB_STRONG</a> = 1 &lt;&lt; 0
, <a class="el" href="#a775506bb881280f73264db27cb8388f9a08b95f789a0c024936e08b95c41865c4">WRL_BETA_MINUS</a> = 1 &lt;&lt; 1
, <a class="el" href="#a775506bb881280f73264db27cb8388f9a49e3e12f2ea5b0d29df72a8a36f18d4a">WRL_BETA_PLUS</a> = 1 &lt;&lt; 2
, <br />
&#160;&#160;<a class="el" href="#a775506bb881280f73264db27cb8388f9af3d03bd75d332304afee1ab36498223e">WRL_ELECTRON_CAPTURE</a> = 1 &lt;&lt; 3
, <a class="el" href="#a775506bb881280f73264db27cb8388f9a0712c13f98dca85d8d8bb9606283b955">WRL_POSITRON_CAPTURE</a> = 1 &lt;&lt; 4
, <a class="el" href="#a775506bb881280f73264db27cb8388f9ab736eb13fff62c962f63232ec57f2692">REACLIB_WEAK</a> = 1 &lt;&lt; 5
, <a class="el" href="#a775506bb881280f73264db27cb8388f9afc9a7c10ff86192133ca7a280783bfe4">WRL_WEAK</a> = WRL_BETA_MINUS | WRL_BETA_PLUS | WRL_ELECTRON_CAPTURE | WRL_POSITRON_CAPTURE
, <br />
&#160;&#160;<a class="el" href="#a775506bb881280f73264db27cb8388f9af9885ed04411bef7b70f78b643c6a220">REACLIB</a> = REACLIB_STRONG | REACLIB_WEAK
, <a class="el" href="#a775506bb881280f73264db27cb8388f9a5b39c8b553c821e7cddc6da64b5bd2ee">DEFAULT</a> = REACLIB
<br />
}</td></tr>
<tr class="memdesc:a775506bb881280f73264db27cb8388f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to specify which types of nuclear reactions to include when constructing a reaction network. <a href="#a775506bb881280f73264db27cb8388f9">More...</a><br /></td></tr>
<tr class="separator:a775506bb881280f73264db27cb8388f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a782fbc9eca00df10e4a204ae6da733e7" id="r_a782fbc9eca00df10e4a204ae6da733e7"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7">NetworkBuildDepth</a> { <br />
&#160;&#160;<a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7abbd47109890259c0127154db1af26c75">Full</a> = -1
, <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7a928d0f1285ee7d36c1c2fa1b1b7a164c">Shallow</a> = 1
, <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7a264572d66aed5373d19dc80c7cde1f46">SecondOrder</a> = 2
, <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7a3fc719e07f9f63e7f11a3d4fb74b476f">ThirdOrder</a> = 3
, <br />
&#160;&#160;<a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7a100e3bf0197221c19b222badf42aa964">FourthOrder</a> = 4
, <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7a5105376c2b90747e00bed5bf2953dd56">FifthOrder</a> = 5
<br />
}</td></tr>
<tr class="memdesc:a782fbc9eca00df10e4a204ae6da733e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies supported depths for building the reaction network. <a href="#a782fbc9eca00df10e4a204ae6da733e7">More...</a><br /></td></tr>
<tr class="separator:a782fbc9eca00df10e4a204ae6da733e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5387db1ec0b039955487fbc4c0034854" id="r_a5387db1ec0b039955487fbc4c0034854"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5387db1ec0b039955487fbc4c0034854">EngineTypes</a> { <br />
&#160;&#160;<a class="el" href="#a5387db1ec0b039955487fbc4c0034854a08ce7b1073452fc91801f941f131079f">GRAPH_ENGINE</a>
, <a class="el" href="#a5387db1ec0b039955487fbc4c0034854aa07330e833c4faee6f5977cd87c733b6">ADAPTIVE_ENGINE_VIEW</a>
, <a class="el" href="#a5387db1ec0b039955487fbc4c0034854a8bb7d6e738dfde400a8d022a3626c6d5">MULTISCALE_PARTITIONING_ENGINE_VIEW</a>
, <a class="el" href="#a5387db1ec0b039955487fbc4c0034854a23901438f732b89f022567965207ad92">PRIMING_ENGINE_VIEW</a>
, <br />
&#160;&#160;<a class="el" href="#a5387db1ec0b039955487fbc4c0034854a33b468ddf562923b7641ab60bb6aa708">DEFINED_ENGINE_VIEW</a>
, <a class="el" href="#a5387db1ec0b039955487fbc4c0034854a048f6da02134ba0aedf95f8171611bf3">FILE_DEFINED_ENGINE_VIEW</a>
<br />
}</td></tr>
<tr class="memdesc:a5387db1ec0b039955487fbc4c0034854"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of different engine types available in GridFire. <a href="#a5387db1ec0b039955487fbc4c0034854">More...</a><br /></td></tr>
<tr class="separator:a5387db1ec0b039955487fbc4c0034854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada706e6a92b733f6be85aa4425b135c1" id="r_ada706e6a92b733f6be85aa4425b135c1"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ada706e6a92b733f6be85aa4425b135c1">PrimingReportStatus</a> { <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1ad0749aaba8b833466dfcbb0428e4f89c">SUCCESS</a>
, <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1aa79c9fd21a71b9db74af815d8fed8397">ALREADY_PRIMED</a>
, <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1afae3583994fb36fc9a5efcfe0a9b35c9">SOLVER_FAILURE</a>
}</td></tr>
<tr class="memdesc:ada706e6a92b733f6be85aa4425b135c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerates outcome codes for a network priming operation. <a href="#ada706e6a92b733f6be85aa4425b135c1">More...</a><br /></td></tr>
<tr class="separator:ada706e6a92b733f6be85aa4425b135c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83c9d755597668bba3cf00cd0ea10ee3" id="r_a83c9d755597668bba3cf00cd0ea10ee3"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3">SpeciesStatus</a> { <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3a18ff74f43da410c5529f7d6fca84f115">ACTIVE</a>
, <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3a07516dd4b4fea20466b56654d553549f">EQUILIBRIUM</a>
, <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3a898112b589038d0a221e6a3eae3ba64f">INACTIVE_FLOW</a>
, <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3a4b8e04af593e6ce16901570c52fe5607">NOT_PRESENT</a>
}</td></tr>
<tr class="memdesc:a83c9d755597668bba3cf00cd0ea10ee3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerates the status of a species in the simulation. <a href="#a83c9d755597668bba3cf00cd0ea10ee3">More...</a><br /></td></tr>
<tr class="separator:a83c9d755597668bba3cf00cd0ea10ee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a006018e8e5f80ddb857009dbad962753" id="r_a006018e8e5f80ddb857009dbad962753"><td class="memItemLeft" align="right" valign="top">constexpr std::string_view&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a006018e8e5f80ddb857009dbad962753">EngineStatus_to_string</a> (const <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a> status)</td></tr>
<tr class="memdesc:a006018e8e5f80ddb857009dbad962753"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a" title="Enumeration of possible engine statuses.">EngineStatus</a> enum to string representation. <br /></td></tr>
<tr class="separator:a006018e8e5f80ddb857009dbad962753"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a956ff12cef0dda2b9209ceab68199090" id="r_a956ff12cef0dda2b9209ceab68199090"><td class="memItemLeft" align="right" valign="top">constexpr auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a956ff12cef0dda2b9209ceab68199090">to_underlying</a> (<a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> f) noexcept</td></tr>
<tr class="memdesc:a956ff12cef0dda2b9209ceab68199090"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to convert <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> to their underlying integer type. <br /></td></tr>
<tr class="separator:a956ff12cef0dda2b9209ceab68199090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69216b717d99f53cf2d1419e23b69119" id="r_a69216b717d99f53cf2d1419e23b69119"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a69216b717d99f53cf2d1419e23b69119">operator|</a> (const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> lhs, const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> rhs)</td></tr>
<tr class="memdesc:a69216b717d99f53cf2d1419e23b69119"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise OR operator for <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a>. <br /></td></tr>
<tr class="separator:a69216b717d99f53cf2d1419e23b69119"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace3a790fb57920fd12328fa9c5a3a1de" id="r_ace3a790fb57920fd12328fa9c5a3a1de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ace3a790fb57920fd12328fa9c5a3a1de">operator&amp;</a> (const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> lhs, const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> rhs)</td></tr>
<tr class="memdesc:ace3a790fb57920fd12328fa9c5a3a1de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise AND operator for <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a>. <br /></td></tr>
<tr class="separator:ace3a790fb57920fd12328fa9c5a3a1de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7377e1152d165cfb9eadc16c5dc2f492" id="r_a7377e1152d165cfb9eadc16c5dc2f492"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7377e1152d165cfb9eadc16c5dc2f492">has_flag</a> (const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> flags, const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> flag_to_check)</td></tr>
<tr class="memdesc:a7377e1152d165cfb9eadc16c5dc2f492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a specific flag is set within a <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value. <br /></td></tr>
<tr class="separator:a7377e1152d165cfb9eadc16c5dc2f492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea27cb9ed6d613ae9e4b7fa89767861a" id="r_aea27cb9ed6d613ae9e4b7fa89767861a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aea27cb9ed6d613ae9e4b7fa89767861a">NetworkConstructionFlagsToString</a> (<a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> flags)</td></tr>
<tr class="memdesc:aea27cb9ed6d613ae9e4b7fa89767861a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> to a human-readable string. <br /></td></tr>
<tr class="separator:aea27cb9ed6d613ae9e4b7fa89767861a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b64607db49cfc042cbee63be5351549" id="r_a7b64607db49cfc042cbee63be5351549"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">reaction::ReactionSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7b64607db49cfc042cbee63be5351549">build_nuclear_network</a> (const fourdst::composition::CompositionAbstract &amp;composition, const <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_rate_interpolator.html">rates::weak::WeakRateInterpolator</a> &amp;weakInterpolator, <a class="el" href="#a55cd7c313bbfafd5b6a1bcd6329ed99b">BuildDepthType</a> maxLayers=<a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7abbd47109890259c0127154db1af26c75">NetworkBuildDepth::Full</a>, <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> ReactionTypes=<a class="el" href="#a775506bb881280f73264db27cb8388f9a5b39c8b553c821e7cddc6da64b5bd2ee">NetworkConstructionFlags::DEFAULT</a>)</td></tr>
<tr class="memdesc:a7b64607db49cfc042cbee63be5351549"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a nuclear reaction network from the Reaclib library based on an initial composition. <br /></td></tr>
<tr class="separator:a7b64607db49cfc042cbee63be5351549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6552165b4b36ea227479567880d8402" id="r_aa6552165b4b36ea227479567880d8402"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html">PrimingReport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa6552165b4b36ea227479567880d8402">primeNetwork</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &amp;netIn, <a class="el" href="classgridfire_1_1engine_1_1_graph_engine.html">GraphEngine</a> &amp;engine, const std::optional&lt; std::vector&lt; <a class="el" href="namespacegridfire_1_1reaction.html#a026997f11e811fa7754ac9121c4ba74e">reaction::ReactionType</a> &gt; &gt; &amp;ignoredReactionTypes)</td></tr>
<tr class="memdesc:aa6552165b4b36ea227479567880d8402"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primes absent species in the network to their equilibrium abundances. <br /></td></tr>
<tr class="separator:aa6552165b4b36ea227479567880d8402"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a589015f6509c051c16b3e4ebc7550dd2" id="r_a589015f6509c051c16b3e4ebc7550dd2"><td class="memItemLeft" align="right" valign="top">constexpr std::string_view&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a589015f6509c051c16b3e4ebc7550dd2">engine_type_to_string</a> (const <a class="el" href="#a5387db1ec0b039955487fbc4c0034854">EngineTypes</a> type)</td></tr>
<tr class="memdesc:a589015f6509c051c16b3e4ebc7550dd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts an <a class="el" href="#a5387db1ec0b039955487fbc4c0034854" title="Enumeration of different engine types available in GridFire.">EngineTypes</a> enum value to its corresponding string representation. <br /></td></tr>
<tr class="separator:a589015f6509c051c16b3e4ebc7550dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afacda3b01618f041a81fa516547564fa" id="r_afacda3b01618f041a81fa516547564fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afacda3b01618f041a81fa516547564fa">regularize_jacobian</a> (const <a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a> &amp;jacobian, const fourdst::composition::CompositionAbstract &amp;comp, std::optional&lt; quill::Logger * &gt; logger=std::nullopt)</td></tr>
<tr class="memdesc:afacda3b01618f041a81fa516547564fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Regularizes the given Jacobian matrix based on the provided composition. <br /></td></tr>
<tr class="separator:afacda3b01618f041a81fa516547564fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d1bd8b2b8161b50a260bf012c3f058f" id="r_a6d1bd8b2b8161b50a260bf012c3f058f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d1bd8b2b8161b50a260bf012c3f058f">SpeciesStatus_to_string</a> (const <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3">SpeciesStatus</a> status)</td></tr>
<tr class="memdesc:a6d1bd8b2b8161b50a260bf012c3f058f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3" title="Enumerates the status of a species in the simulation.">SpeciesStatus</a> enum value to its string representation. <br /></td></tr>
<tr class="separator:a6d1bd8b2b8161b50a260bf012c3f058f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47e94047d095f3ce8a3b12836e23604c" id="r_a47e94047d095f3ce8a3b12836e23604c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a47e94047d095f3ce8a3b12836e23604c">regularize_jacobian</a> (const <a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a> &amp;jacobian, const fourdst::composition::CompositionAbstract &amp;comp, const std::optional&lt; quill::Logger * &gt; logger)</td></tr>
<tr class="separator:a47e94047d095f3ce8a3b12836e23604c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:acbe76badc77637ba89e4017130d110b1" id="r_acbe76badc77637ba89e4017130d110b1"><td class="memItemLeft" align="right" valign="top">static constexpr double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acbe76badc77637ba89e4017130d110b1">MIN_DENSITY_THRESHOLD</a> = 1e-18</td></tr>
<tr class="memdesc:acbe76badc77637ba89e4017130d110b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum density threshold below which reactions are ignored. <br /></td></tr>
<tr class="separator:acbe76badc77637ba89e4017130d110b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ed65ea4d304098e4de3e0f0191304f" id="r_a35ed65ea4d304098e4de3e0f0191304f"><td class="memItemLeft" align="right" valign="top">static constexpr double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a35ed65ea4d304098e4de3e0f0191304f">MIN_ABUNDANCE_THRESHOLD</a> = 1e-18</td></tr>
<tr class="memdesc:a35ed65ea4d304098e4de3e0f0191304f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum abundance threshold below which species are ignored. <br /></td></tr>
<tr class="separator:a35ed65ea4d304098e4de3e0f0191304f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad84c68dc3c04ab08a9dc8cee5fde28dd" id="r_ad84c68dc3c04ab08a9dc8cee5fde28dd"><td class="memItemLeft" align="right" valign="top">static constexpr double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad84c68dc3c04ab08a9dc8cee5fde28dd">MIN_JACOBIAN_THRESHOLD</a> = 1e-24</td></tr>
<tr class="memdesc:ad84c68dc3c04ab08a9dc8cee5fde28dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum value for Jacobian matrix entries. <br /></td></tr>
<tr class="separator:ad84c68dc3c04ab08a9dc8cee5fde28dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae769a7e049c0b79e58675103b21f918f" id="r_ae769a7e049c0b79e58675103b21f918f"><td class="memItemLeft" align="right" valign="top">constexpr double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae769a7e049c0b79e58675103b21f918f">MIN_ABUNDANCE_TO_CONTRIBUTE_TO_JACOBIAN</a> = 1e-100</td></tr>
<tr class="memdesc:ae769a7e049c0b79e58675103b21f918f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum abundance for a species to contribute to the Jacobian. <br /></td></tr>
<tr class="separator:ae769a7e049c0b79e58675103b21f918f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ec7640033e9b4418220e91f17bde16b" id="r_a1ec7640033e9b4418220e91f17bde16b"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1">PrimingReportStatus</a>, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ec7640033e9b4418220e91f17bde16b">PrimingReportStatusStrings</a></td></tr>
<tr class="memdesc:a1ec7640033e9b4418220e91f17bde16b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapping from <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1" title="Enumerates outcome codes for a network priming operation.">PrimingReportStatus</a> codes to human-readable strings. <br /></td></tr>
<tr class="separator:a1ec7640033e9b4418220e91f17bde16b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a4562b782e8096986a9b0cc95aa8c1c02" name="a4562b782e8096986a9b0cc95aa8c1c02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4562b782e8096986a9b0cc95aa8c1c02">&#9670;&#160;</a></span>ADDouble</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef CppAD::AD&lt;double&gt; <a class="el" href="#a4562b782e8096986a9b0cc95aa8c1c02">gridfire::engine::ADDouble</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Alias for CppAD AD type for double precision. </p>
<p>This alias simplifies the use of the CppAD automatic differentiation type. </p>
</div>
</div>
<a id="a55cd7c313bbfafd5b6a1bcd6329ed99b" name="a55cd7c313bbfafd5b6a1bcd6329ed99b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55cd7c313bbfafd5b6a1bcd6329ed99b">&#9670;&#160;</a></span>BuildDepthType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="#a55cd7c313bbfafd5b6a1bcd6329ed99b">gridfire::engine::BuildDepthType</a> = std::variant&lt;<a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7">NetworkBuildDepth</a>, int&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Variant specifying either a predefined <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7" title="Specifies supported depths for building the reaction network.">NetworkBuildDepth</a> or a custom integer depth. </p>
<dl class="section pre"><dt>Precondition</dt><dd>If using the integer alternative, the value must be &gt;= 0 or -1 to indicate a full build. </dd></dl>
<dl class="section post"><dt>Postcondition</dt><dd>The network builder will interpret and apply the specified depth to control reaction expansion. </dd></dl>
</div>
</div>
<a id="aa7b127f4fe99188e3d94ff11608d54f0" name="aa7b127f4fe99188e3d94ff11608d54f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7b127f4fe99188e3d94ff11608d54f0">&#9670;&#160;</a></span>JacobianEntry</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="#aa7b127f4fe99188e3d94ff11608d54f0">gridfire::engine::JacobianEntry</a> = std::pair&lt;std::pair&lt;fourdst::atomic::Species, fourdst::atomic::Species&gt;, double&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Represents an entry in the Jacobian matrix. </p>
</div>
</div>
<a id="a9de1791ec719c0a9b76b835703336870" name="a9de1791ec719c0a9b76b835703336870"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9de1791ec719c0a9b76b835703336870">&#9670;&#160;</a></span>SparsityPattern</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="#a9de1791ec719c0a9b76b835703336870">gridfire::engine::SparsityPattern</a> = std::vector&lt;std::pair&lt;size_t, size_t&gt;&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Type alias for sparsity pattern representation. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a4d057e41b489bf20744dfa8d2958ad5a" name="a4d057e41b489bf20744dfa8d2958ad5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d057e41b489bf20744dfa8d2958ad5a">&#9670;&#160;</a></span>EngineStatus</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a">gridfire::engine::EngineStatus</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel strong">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration of possible engine statuses. </p>
<p>This enum defines the various states an engine can be in after performing calculations, such as being up-to-date (OKAY), needing an update (STALE), or encountering an error (ERROR). </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4d057e41b489bf20744dfa8d2958ad5aa74eb855e4de6fe58228f03006c02fd8a" name="a4d057e41b489bf20744dfa8d2958ad5aa74eb855e4de6fe58228f03006c02fd8a"></a>OKAY&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4d057e41b489bf20744dfa8d2958ad5aa4d855a061b3066dc14a3b12ed26b5456" name="a4d057e41b489bf20744dfa8d2958ad5aa4d855a061b3066dc14a3b12ed26b5456"></a>STALE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4d057e41b489bf20744dfa8d2958ad5aabb1ca97ec761fc37101737ba0aa2e7c5" name="a4d057e41b489bf20744dfa8d2958ad5aabb1ca97ec761fc37101737ba0aa2e7c5"></a>ERROR&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4d057e41b489bf20744dfa8d2958ad5aa4905ac9d6a22bdfc1ae096094ce6248d" name="a4d057e41b489bf20744dfa8d2958ad5aa4905ac9d6a22bdfc1ae096094ce6248d"></a>COUNT&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a5387db1ec0b039955487fbc4c0034854" name="a5387db1ec0b039955487fbc4c0034854"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5387db1ec0b039955487fbc4c0034854">&#9670;&#160;</a></span>EngineTypes</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#a5387db1ec0b039955487fbc4c0034854">gridfire::engine::EngineTypes</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel strong">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration of different engine types available in GridFire. </p>
<p>Values:</p><ul>
<li>GRAPH_ENGINE: The standard graph-based engine.</li>
<li>ADAPTIVE_ENGINE_VIEW: An engine that adapts based on certain criteria.</li>
<li>MULTISCALE_PARTITIONING_ENGINE_VIEW: An engine that partitions the system at multiple scales.</li>
<li>PRIMING_ENGINE_VIEW: An engine that uses a priming strategy for simulations.</li>
<li>DEFINED_ENGINE_VIEW: An engine defined by user specifications.</li>
<li>FILE_DEFINED_ENGINE_VIEW: An engine defined through external files. </li>
</ul>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5387db1ec0b039955487fbc4c0034854a08ce7b1073452fc91801f941f131079f" name="a5387db1ec0b039955487fbc4c0034854a08ce7b1073452fc91801f941f131079f"></a>GRAPH_ENGINE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a5387db1ec0b039955487fbc4c0034854aa07330e833c4faee6f5977cd87c733b6" name="a5387db1ec0b039955487fbc4c0034854aa07330e833c4faee6f5977cd87c733b6"></a>ADAPTIVE_ENGINE_VIEW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a5387db1ec0b039955487fbc4c0034854a8bb7d6e738dfde400a8d022a3626c6d5" name="a5387db1ec0b039955487fbc4c0034854a8bb7d6e738dfde400a8d022a3626c6d5"></a>MULTISCALE_PARTITIONING_ENGINE_VIEW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a5387db1ec0b039955487fbc4c0034854a23901438f732b89f022567965207ad92" name="a5387db1ec0b039955487fbc4c0034854a23901438f732b89f022567965207ad92"></a>PRIMING_ENGINE_VIEW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a5387db1ec0b039955487fbc4c0034854a33b468ddf562923b7641ab60bb6aa708" name="a5387db1ec0b039955487fbc4c0034854a33b468ddf562923b7641ab60bb6aa708"></a>DEFINED_ENGINE_VIEW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a5387db1ec0b039955487fbc4c0034854a048f6da02134ba0aedf95f8171611bf3" name="a5387db1ec0b039955487fbc4c0034854a048f6da02134ba0aedf95f8171611bf3"></a>FILE_DEFINED_ENGINE_VIEW&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a782fbc9eca00df10e4a204ae6da733e7" name="a782fbc9eca00df10e4a204ae6da733e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a782fbc9eca00df10e4a204ae6da733e7">&#9670;&#160;</a></span>NetworkBuildDepth</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7">gridfire::engine::NetworkBuildDepth</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel strong">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Specifies supported depths for building the reaction network. </p>
<p>Values:</p><ul>
<li>Full: Build the complete network (infinite depth).</li>
<li>Shallow: Build only direct reactions (depth = 1).</li>
<li>SecondOrder: Include reactions up to second order (depth = 2).</li>
<li>ThirdOrder: Include reactions up to third order (depth = 3).</li>
<li>FourthOrder: Include reactions up to fourth order (depth = 4).</li>
<li>FifthOrder: Include reactions up to fifth order (depth = 5).</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>For custom build depths, see <a class="el" href="#a55cd7c313bbfafd5b6a1bcd6329ed99b" title="Variant specifying either a predefined NetworkBuildDepth or a custom integer depth.">BuildDepthType</a>. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a782fbc9eca00df10e4a204ae6da733e7abbd47109890259c0127154db1af26c75" name="a782fbc9eca00df10e4a204ae6da733e7abbd47109890259c0127154db1af26c75"></a>Full&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a782fbc9eca00df10e4a204ae6da733e7a928d0f1285ee7d36c1c2fa1b1b7a164c" name="a782fbc9eca00df10e4a204ae6da733e7a928d0f1285ee7d36c1c2fa1b1b7a164c"></a>Shallow&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a782fbc9eca00df10e4a204ae6da733e7a264572d66aed5373d19dc80c7cde1f46" name="a782fbc9eca00df10e4a204ae6da733e7a264572d66aed5373d19dc80c7cde1f46"></a>SecondOrder&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a782fbc9eca00df10e4a204ae6da733e7a3fc719e07f9f63e7f11a3d4fb74b476f" name="a782fbc9eca00df10e4a204ae6da733e7a3fc719e07f9f63e7f11a3d4fb74b476f"></a>ThirdOrder&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a782fbc9eca00df10e4a204ae6da733e7a100e3bf0197221c19b222badf42aa964" name="a782fbc9eca00df10e4a204ae6da733e7a100e3bf0197221c19b222badf42aa964"></a>FourthOrder&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a782fbc9eca00df10e4a204ae6da733e7a5105376c2b90747e00bed5bf2953dd56" name="a782fbc9eca00df10e4a204ae6da733e7a5105376c2b90747e00bed5bf2953dd56"></a>FifthOrder&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a775506bb881280f73264db27cb8388f9" name="a775506bb881280f73264db27cb8388f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a775506bb881280f73264db27cb8388f9">&#9670;&#160;</a></span>NetworkConstructionFlags</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#a775506bb881280f73264db27cb8388f9">gridfire::engine::NetworkConstructionFlags</a> : uint32_t</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel strong">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Flags to specify which types of nuclear reactions to include when constructing a reaction network. </p>
<p>These flags allow fine-grained control over the inclusion of strong and weak nuclear reactions (beta decay, electron/positron capture) from various sources (Reaclib, WRL) during network construction. They can be combined using bitwise operations to create custom reaction sets. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9ab50339a10e1de285ac99d4c3990b8693" name="a775506bb881280f73264db27cb8388f9ab50339a10e1de285ac99d4c3990b8693"></a>NONE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9a8211eaf8b0f0de1a6b0bf199da5975e1" name="a775506bb881280f73264db27cb8388f9a8211eaf8b0f0de1a6b0bf199da5975e1"></a>REACLIB_STRONG&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9a08b95f789a0c024936e08b95c41865c4" name="a775506bb881280f73264db27cb8388f9a08b95f789a0c024936e08b95c41865c4"></a>WRL_BETA_MINUS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9a49e3e12f2ea5b0d29df72a8a36f18d4a" name="a775506bb881280f73264db27cb8388f9a49e3e12f2ea5b0d29df72a8a36f18d4a"></a>WRL_BETA_PLUS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9af3d03bd75d332304afee1ab36498223e" name="a775506bb881280f73264db27cb8388f9af3d03bd75d332304afee1ab36498223e"></a>WRL_ELECTRON_CAPTURE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9a0712c13f98dca85d8d8bb9606283b955" name="a775506bb881280f73264db27cb8388f9a0712c13f98dca85d8d8bb9606283b955"></a>WRL_POSITRON_CAPTURE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9ab736eb13fff62c962f63232ec57f2692" name="a775506bb881280f73264db27cb8388f9ab736eb13fff62c962f63232ec57f2692"></a>REACLIB_WEAK&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9afc9a7c10ff86192133ca7a280783bfe4" name="a775506bb881280f73264db27cb8388f9afc9a7c10ff86192133ca7a280783bfe4"></a>WRL_WEAK&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9af9885ed04411bef7b70f78b643c6a220" name="a775506bb881280f73264db27cb8388f9af9885ed04411bef7b70f78b643c6a220"></a>REACLIB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a775506bb881280f73264db27cb8388f9a5b39c8b553c821e7cddc6da64b5bd2ee" name="a775506bb881280f73264db27cb8388f9a5b39c8b553c821e7cddc6da64b5bd2ee"></a>DEFAULT&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="ada706e6a92b733f6be85aa4425b135c1" name="ada706e6a92b733f6be85aa4425b135c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada706e6a92b733f6be85aa4425b135c1">&#9670;&#160;</a></span>PrimingReportStatus</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1">gridfire::engine::PrimingReportStatus</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel strong">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumerates outcome codes for a network priming operation. </p>
<p>These status codes indicate the reason for success or failure of the priming process:</p><ul>
<li>FULL_SUCCESS: Priming completed successfully with all species processed.</li>
<li>NO_SPECIES_TO_PRIME: There were no species eligible for priming.</li>
<li>MAX_ITERATIONS_REACHED: The algorithm reached its iteration limit without converging.</li>
<li>FAILED_TO_FINALIZE_COMPOSITION: Unable to build a valid Composition object at end.</li>
<li>FAILED_TO_FIND_CREATION_CHANNEL: No reaction path found to create the priming species.</li>
<li>FAILED_TO_FIND_PRIMING_REACTIONS: No reactions containing the priming species were found.</li>
<li>BASE_NETWORK_TOO_SHALLOW: The provided base network depth was insufficient for priming.</li>
</ul>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a> for data associated with each status. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ada706e6a92b733f6be85aa4425b135c1ad0749aaba8b833466dfcbb0428e4f89c" name="ada706e6a92b733f6be85aa4425b135c1ad0749aaba8b833466dfcbb0428e4f89c"></a>SUCCESS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ada706e6a92b733f6be85aa4425b135c1aa79c9fd21a71b9db74af815d8fed8397" name="ada706e6a92b733f6be85aa4425b135c1aa79c9fd21a71b9db74af815d8fed8397"></a>ALREADY_PRIMED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ada706e6a92b733f6be85aa4425b135c1afae3583994fb36fc9a5efcfe0a9b35c9" name="ada706e6a92b733f6be85aa4425b135c1afae3583994fb36fc9a5efcfe0a9b35c9"></a>SOLVER_FAILURE&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a83c9d755597668bba3cf00cd0ea10ee3" name="a83c9d755597668bba3cf00cd0ea10ee3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83c9d755597668bba3cf00cd0ea10ee3">&#9670;&#160;</a></span>SpeciesStatus</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3">gridfire::engine::SpeciesStatus</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel strong">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumerates the status of a species in the simulation. </p>
<p>These status codes indicate the current state of a species:</p><ul>
<li>ACTIVE: The species is actively participating in reactions.</li>
<li>EQUILIBRIUM: The species is in equilibrium and not changing concentration.</li>
<li>INACTIVE_FLOW: The species is present but not currently flowing.</li>
<li>NOT_PRESENT: The species is not present in the system. </li>
</ul>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a83c9d755597668bba3cf00cd0ea10ee3a18ff74f43da410c5529f7d6fca84f115" name="a83c9d755597668bba3cf00cd0ea10ee3a18ff74f43da410c5529f7d6fca84f115"></a>ACTIVE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83c9d755597668bba3cf00cd0ea10ee3a07516dd4b4fea20466b56654d553549f" name="a83c9d755597668bba3cf00cd0ea10ee3a07516dd4b4fea20466b56654d553549f"></a>EQUILIBRIUM&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83c9d755597668bba3cf00cd0ea10ee3a898112b589038d0a221e6a3eae3ba64f" name="a83c9d755597668bba3cf00cd0ea10ee3a898112b589038d0a221e6a3eae3ba64f"></a>INACTIVE_FLOW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83c9d755597668bba3cf00cd0ea10ee3a4b8e04af593e6ce16901570c52fe5607" name="a83c9d755597668bba3cf00cd0ea10ee3a4b8e04af593e6ce16901570c52fe5607"></a>NOT_PRESENT&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a7b64607db49cfc042cbee63be5351549" name="a7b64607db49cfc042cbee63be5351549"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b64607db49cfc042cbee63be5351549">&#9670;&#160;</a></span>build_nuclear_network()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgridfire_1_1reaction_1_1_reaction_set.html">ReactionSet</a> gridfire::engine::build_nuclear_network </td>
<td>(</td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>composition</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_rate_interpolator.html">rates::weak::WeakRateInterpolator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>weakInterpolator</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="#a55cd7c313bbfafd5b6a1bcd6329ed99b">BuildDepthType</a></td> <td class="paramname"><span class="paramname"><em>maxLayers</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7abbd47109890259c0127154db1af26c75">NetworkBuildDepth::Full</a></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>ReactionTypes</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="#a775506bb881280f73264db27cb8388f9a5b39c8b553c821e7cddc6da64b5bd2ee">NetworkConstructionFlags::DEFAULT</a></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a nuclear reaction network from the Reaclib library based on an initial composition. </p>
<p>Constructs a layered reaction network by collecting reactions up to the specified depth from the Reaclib dataset. Starting species are those with non-zero mass fractions in the input composition. Layers expand by including products of collected reactions until the depth limit. Optionally selects reverse reactions instead of forward.</p>
<p>See implementation in <a class="el" href="construction_8cpp.html">construction.cpp</a> for details on the layering algorithm, logging, and performance.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">composition</td><td>Mapping of isotopic species to their mass fractions; species with positive mass fraction seed the network. </td></tr>
<tr><td class="paramname">weakInterpolator</td><td>Interpolator to build weak rates from. Must be constructed and owned by the caller. </td></tr>
<tr><td class="paramname">maxLayers</td><td>Variant specifying either a predefined <a class="el" href="#a782fbc9eca00df10e4a204ae6da733e7" title="Specifies supported depths for building the reaction network.">NetworkBuildDepth</a> or a custom integer depth; negative depth (Full) collects all reactions, zero is invalid. </td></tr>
<tr><td class="paramname">ReactionTypes</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>composition must have at least one species with positive mass fraction. </dd>
<dd>
Resolved integer depth from maxLayers must not be zero. </dd></dl>
<dl class="section post"><dt>Postcondition</dt><dd>Returned network includes only reactions satisfying the depth and reverse criteria. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>A LogicalReactionSet encapsulating the collected reactions for graph-based engines. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::logic_error</td><td>If the resolved network depth is zero (no reactions can be collected). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a589015f6509c051c16b3e4ebc7550dd2" name="a589015f6509c051c16b3e4ebc7550dd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a589015f6509c051c16b3e4ebc7550dd2">&#9670;&#160;</a></span>engine_type_to_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string_view gridfire::engine::engine_type_to_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="#a5387db1ec0b039955487fbc4c0034854">EngineTypes</a></td> <td class="paramname"><span class="paramname"><em>type</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel constexpr">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts an <a class="el" href="#a5387db1ec0b039955487fbc4c0034854" title="Enumeration of different engine types available in GridFire.">EngineTypes</a> enum value to its corresponding string representation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>The <a class="el" href="#a5387db1ec0b039955487fbc4c0034854" title="Enumeration of different engine types available in GridFire.">EngineTypes</a> enum value to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string_view representing the name of the engine type. </dd></dl>
</div>
</div>
<a id="a006018e8e5f80ddb857009dbad962753" name="a006018e8e5f80ddb857009dbad962753"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a006018e8e5f80ddb857009dbad962753">&#9670;&#160;</a></span>EngineStatus_to_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string_view gridfire::engine::EngineStatus_to_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a">EngineStatus</a></td> <td class="paramname"><span class="paramname"><em>status</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel constexpr">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a" title="Enumeration of possible engine statuses.">EngineStatus</a> enum to string representation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">status</td><td>The <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a" title="Enumeration of possible engine statuses.">EngineStatus</a> value to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string_view representing the name of the <a class="el" href="#a4d057e41b489bf20744dfa8d2958ad5a" title="Enumeration of possible engine statuses.">EngineStatus</a>. </dd></dl>
</div>
</div>
<a id="a7377e1152d165cfb9eadc16c5dc2f492" name="a7377e1152d165cfb9eadc16c5dc2f492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7377e1152d165cfb9eadc16c5dc2f492">&#9670;&#160;</a></span>has_flag()</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::has_flag </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>flags</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>flag_to_check</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a specific flag is set within a <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value. </p>
<p>This function determines whether a particular flag is present in a given <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">flags</td><td>The <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value to check. </td></tr>
<tr><td class="paramname">flag_to_check</td><td>The specific flag to look for. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the flag is set; otherwise, false. </dd></dl>
</div>
</div>
<a id="aea27cb9ed6d613ae9e4b7fa89767861a" name="aea27cb9ed6d613ae9e4b7fa89767861a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea27cb9ed6d613ae9e4b7fa89767861a">&#9670;&#160;</a></span>NetworkConstructionFlagsToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string gridfire::engine::NetworkConstructionFlagsToString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>flags</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> to a human-readable string. </p>
<p>This function generates a comma-separated string representation of the set flags within a <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value. If no flags are set, it returns "No reactions".</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">flags</td><td>The <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string listing the set flags or "No reactions" if none are set. </dd></dl>
</div>
</div>
<a id="ace3a790fb57920fd12328fa9c5a3a1de" name="ace3a790fb57920fd12328fa9c5a3a1de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace3a790fb57920fd12328fa9c5a3a1de">&#9670;&#160;</a></span>operator&amp;()</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="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> gridfire::engine::operator&amp; </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>lhs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>rhs</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Bitwise AND operator for <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a>. </p>
<p>This operator allows checking for common flags between two <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> values using the bitwise AND operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>The left-hand side <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value. </td></tr>
<tr><td class="paramname">rhs</td><td>The right-hand side <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value representing the intersection of the two inputs. </dd></dl>
</div>
</div>
<a id="a69216b717d99f53cf2d1419e23b69119" name="a69216b717d99f53cf2d1419e23b69119"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69216b717d99f53cf2d1419e23b69119">&#9670;&#160;</a></span>operator|()</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="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a> gridfire::engine::operator| </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>lhs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>rhs</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Bitwise OR operator for <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a>. </p>
<p>This operator allows combining two <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> values using the bitwise OR operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>The left-hand side <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value. </td></tr>
<tr><td class="paramname">rhs</td><td>The right-hand side <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value representing the combination of the two inputs. </dd></dl>
</div>
</div>
<a id="aa6552165b4b36ea227479567880d8402" name="aa6552165b4b36ea227479567880d8402"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6552165b4b36ea227479567880d8402">&#9670;&#160;</a></span>primeNetwork()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html">PrimingReport</a> gridfire::engine::primeNetwork </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>netIn</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgridfire_1_1engine_1_1_graph_engine.html">GraphEngine</a> &amp;</td> <td class="paramname"><span class="paramname"><em>engine</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::optional&lt; std::vector&lt; <a class="el" href="namespacegridfire_1_1reaction.html#a026997f11e811fa7754ac9121c4ba74e">reaction::ReactionType</a> &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>ignoredReactionTypes</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Primes absent species in the network to their equilibrium abundances. </p>
<p>Executes a network priming algorithm that iteratively rebuilds the reaction network, calculates equilibrium mass fractions for species with zero initial abundance, and applies mass transfers based on reaction flows.</p>
<p>Refer to <a class="el" href="priming_8cpp.html">priming.cpp</a> for implementation details on logging, algorithmic steps, and error handling.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">netIn</td><td>Input network data containing initial composition, temperature, and density. </td></tr>
<tr><td class="paramname">engine</td><td><a class="el" href="classgridfire_1_1engine_1_1_dynamic_engine.html" title="Abstract class for engines supporting Jacobian and stoichiometry operations.">DynamicEngine</a> used to build and evaluate the reaction network. </td></tr>
<tr><td class="paramname">ignoredReactionTypes</td><td>Types of reactions to ignore during priming (e.g., weak reactions). </td></tr>
</table>
</dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>netIn.composition defines species and their mass fractions; engine is constructed with a valid network. </dd></dl>
<dl class="section post"><dt>Postcondition</dt><dd>engine.networkReactions restored to its initial state; returned report contains primedComposition, massFractionChanges for each species, success flag, and status code. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structgridfire_1_1engine_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a> encapsulating the results of the priming operation. </dd></dl>
</div>
</div>
<a id="a47e94047d095f3ce8a3b12836e23604c" name="a47e94047d095f3ce8a3b12836e23604c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47e94047d095f3ce8a3b12836e23604c">&#9670;&#160;</a></span>regularize_jacobian() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a> gridfire::engine::regularize_jacobian </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a> &amp;</td> <td class="paramname"><span class="paramname"><em>jacobian</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::optional&lt; quill::Logger * &gt;</td> <td class="paramname"><span class="paramname"><em>logger</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afacda3b01618f041a81fa516547564fa" name="afacda3b01618f041a81fa516547564fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afacda3b01618f041a81fa516547564fa">&#9670;&#160;</a></span>regularize_jacobian() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a> gridfire::engine::regularize_jacobian </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html">NetworkJacobian</a> &amp;</td> <td class="paramname"><span class="paramname"><em>jacobian</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fourdst::composition::CompositionAbstract &amp;</td> <td class="paramname"><span class="paramname"><em>comp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::optional&lt; quill::Logger * &gt;</td> <td class="paramname"><span class="paramname"><em>logger</em></span><span class="paramdefsep"> = </span><span class="paramdefval">std::nullopt</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Regularizes the given Jacobian matrix based on the provided composition. </p>
<p>This function applies regularization techniques to the Jacobian matrix to improve its numerical stability. Specifically any (row, column) entries corresponding to species who's abundance is below a threshold of MIN_ABUNDANCE_TO_CONTRIBUTE_TO_JACOBIAN in the provided composition will be set to zero if those entries were either infinite or NaN.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">jacobian</td><td>The <a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html" title="A wrapper class for handling the network Jacobian matrix.">NetworkJacobian</a> to be regularized. </td></tr>
<tr><td class="paramname">comp</td><td>The composition used for regularization. </td></tr>
<tr><td class="paramname">logger</td><td>Optional logger for logging regularization steps and information. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classgridfire_1_1engine_1_1_network_jacobian.html" title="A wrapper class for handling the network Jacobian matrix.">NetworkJacobian</a> instance representing the regularized Jacobian matrix. </dd></dl>
</div>
</div>
<a id="a6d1bd8b2b8161b50a260bf012c3f058f" name="a6d1bd8b2b8161b50a260bf012c3f058f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d1bd8b2b8161b50a260bf012c3f058f">&#9670;&#160;</a></span>SpeciesStatus_to_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string gridfire::engine::SpeciesStatus_to_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3">SpeciesStatus</a></td> <td class="paramname"><span class="paramname"><em>status</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3" title="Enumerates the status of a species in the simulation.">SpeciesStatus</a> enum value to its string representation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">status</td><td>The <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3" title="Enumerates the status of a species in the simulation.">SpeciesStatus</a> value to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string representing the <a class="el" href="#a83c9d755597668bba3cf00cd0ea10ee3" title="Enumerates the status of a species in the simulation.">SpeciesStatus</a>. </dd></dl>
</div>
</div>
<a id="a956ff12cef0dda2b9209ceab68199090" name="a956ff12cef0dda2b9209ceab68199090"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a956ff12cef0dda2b9209ceab68199090">&#9670;&#160;</a></span>to_underlying()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto gridfire::engine::to_underlying </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a775506bb881280f73264db27cb8388f9">NetworkConstructionFlags</a></td> <td class="paramname"><span class="paramname"><em>f</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel constexpr">constexpr</span><span class="mlabel noexcept">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Helper function to convert <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> to their underlying integer type. </p>
<p>This function facilitates bitwise operations on <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> by converting them to their underlying integer representation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">f</td><td>The <a class="el" href="#a775506bb881280f73264db27cb8388f9" title="Flags to specify which types of nuclear reactions to include when constructing a reaction network.">NetworkConstructionFlags</a> value to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The underlying integer representation of the flag. </dd></dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a35ed65ea4d304098e4de3e0f0191304f" name="a35ed65ea4d304098e4de3e0f0191304f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35ed65ea4d304098e4de3e0f0191304f">&#9670;&#160;</a></span>MIN_ABUNDANCE_THRESHOLD</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::MIN_ABUNDANCE_THRESHOLD = 1e-18</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span><span class="mlabel constexpr">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Minimum abundance threshold below which species are ignored. </p>
<p>Species with abundances below this threshold are treated as zero in reaction rate calculations. This helps to improve performance by avoiding unnecessary calculations for trace species. </p>
</div>
</div>
<a id="ae769a7e049c0b79e58675103b21f918f" name="ae769a7e049c0b79e58675103b21f918f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae769a7e049c0b79e58675103b21f918f">&#9670;&#160;</a></span>MIN_ABUNDANCE_TO_CONTRIBUTE_TO_JACOBIAN</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::MIN_ABUNDANCE_TO_CONTRIBUTE_TO_JACOBIAN = 1e-100</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel constexpr">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Minimum abundance for a species to contribute to the Jacobian. </p>
</div>
</div>
<a id="acbe76badc77637ba89e4017130d110b1" name="acbe76badc77637ba89e4017130d110b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbe76badc77637ba89e4017130d110b1">&#9670;&#160;</a></span>MIN_DENSITY_THRESHOLD</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::MIN_DENSITY_THRESHOLD = 1e-18</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span><span class="mlabel constexpr">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Minimum density threshold below which reactions are ignored. </p>
<p>Reactions are not calculated if the density falls below this threshold. This helps to improve performance by avoiding unnecessary calculations in very low-density regimes. </p>
</div>
</div>
<a id="ad84c68dc3c04ab08a9dc8cee5fde28dd" name="ad84c68dc3c04ab08a9dc8cee5fde28dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad84c68dc3c04ab08a9dc8cee5fde28dd">&#9670;&#160;</a></span>MIN_JACOBIAN_THRESHOLD</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::MIN_JACOBIAN_THRESHOLD = 1e-24</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span><span class="mlabel constexpr">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Minimum value for Jacobian matrix entries. </p>
<p>Jacobian matrix entries with absolute values below this threshold are treated as zero to maintain sparsity and improve performance. </p>
</div>
</div>
<a id="a1ec7640033e9b4418220e91f17bde16b" name="a1ec7640033e9b4418220e91f17bde16b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ec7640033e9b4418220e91f17bde16b">&#9670;&#160;</a></span>PrimingReportStatusStrings</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::map&lt;<a class="el" href="#ada706e6a92b733f6be85aa4425b135c1">PrimingReportStatus</a>, std::string&gt; gridfire::engine::PrimingReportStatusStrings</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> {<a class="code hl_enumvalue" href="#ada706e6a92b733f6be85aa4425b135c1ad0749aaba8b833466dfcbb0428e4f89c">PrimingReportStatus::SUCCESS</a>, <span class="stringliteral">&quot;SUCCESS&quot;</span>},</div>
<div class="line"> {<a class="code hl_enumvalue" href="#ada706e6a92b733f6be85aa4425b135c1afae3583994fb36fc9a5efcfe0a9b35c9">PrimingReportStatus::SOLVER_FAILURE</a>, <span class="stringliteral">&quot;SOLVER_FAILURE&quot;</span>},</div>
<div class="line"> {<a class="code hl_enumvalue" href="#ada706e6a92b733f6be85aa4425b135c1aa79c9fd21a71b9db74af815d8fed8397">PrimingReportStatus::ALREADY_PRIMED</a>, <span class="stringliteral">&quot;ALREADY_PRIMED&quot;</span>},</div>
<div class="line"> }</div>
<div class="ttc" id="anamespacegridfire_1_1engine_html_ada706e6a92b733f6be85aa4425b135c1aa79c9fd21a71b9db74af815d8fed8397"><div class="ttname"><a href="#ada706e6a92b733f6be85aa4425b135c1aa79c9fd21a71b9db74af815d8fed8397">gridfire::engine::PrimingReportStatus::ALREADY_PRIMED</a></div><div class="ttdeci">@ ALREADY_PRIMED</div><div class="ttdef"><b>Definition</b> reporting.h:28</div></div>
<div class="ttc" id="anamespacegridfire_1_1engine_html_ada706e6a92b733f6be85aa4425b135c1ad0749aaba8b833466dfcbb0428e4f89c"><div class="ttname"><a href="#ada706e6a92b733f6be85aa4425b135c1ad0749aaba8b833466dfcbb0428e4f89c">gridfire::engine::PrimingReportStatus::SUCCESS</a></div><div class="ttdeci">@ SUCCESS</div><div class="ttdef"><b>Definition</b> reporting.h:27</div></div>
<div class="ttc" id="anamespacegridfire_1_1engine_html_ada706e6a92b733f6be85aa4425b135c1afae3583994fb36fc9a5efcfe0a9b35c9"><div class="ttname"><a href="#ada706e6a92b733f6be85aa4425b135c1afae3583994fb36fc9a5efcfe0a9b35c9">gridfire::engine::PrimingReportStatus::SOLVER_FAILURE</a></div><div class="ttdeci">@ SOLVER_FAILURE</div><div class="ttdef"><b>Definition</b> reporting.h:29</div></div>
</div><!-- fragment -->
<p>Mapping from <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1" title="Enumerates outcome codes for a network priming operation.">PrimingReportStatus</a> codes to human-readable strings. </p>
<p>Used when formatting or logging the priming status. No preconditions. The map contains entries for all <a class="el" href="#ada706e6a92b733f6be85aa4425b135c1" title="Enumerates outcome codes for a network priming operation.">PrimingReportStatus</a> values. </p>
</div>
</div>
</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="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>