2025-07-01 07:24:18 -04:00
<!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" / >
2025-07-24 11:10:45 -04:00
< title > GridFire: src/include/gridfire/engine/engine_abstract.h Source File< / title >
2025-07-01 07:24:18 -04:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< script type = "text/javascript" src = "clipboard.js" > < / script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "navtreedata.js" > < / script >
< script type = "text/javascript" src = "navtree.js" > < / script >
< script type = "text/javascript" src = "resize.js" > < / script >
< script type = "text/javascript" src = "cookie.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/searchdata.js" > < / script >
< script type = "text/javascript" src = "search/search.js" > < / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< link href = "doxygen-awesome.css" rel = "stylesheet" type = "text/css" / >
< link href = "doxygen-awesome-sidebar-only.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr id = "projectrow" >
< td id = "projectalign" >
< div id = "projectname" > GridFire< span id = "projectnumber" >   0.0.1a< / span >
< / div >
< div id = "projectbrief" > General Purpose Nuclear Network< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
< / script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
< / script >
< script type = "text/javascript" src = "menudata.js" > < / script >
< script type = "text/javascript" src = "menu.js" > < / script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
< / script >
< div id = "main-nav" > < / div >
< / div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" > < / div >
< / div >
< / div >
< div id = "splitbar" style = "-moz-user-select:none;"
class="ui-resizable-handle">
< / div >
< / div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
$(function(){initNavTree('engine__abstract_8h_source.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 = "headertitle" > < div class = "title" > engine_abstract.h< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< a href = "engine__abstract_8h.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < div class = "line" > < a id = "l00001" name = "l00001" > < / a > < span class = "lineno" > 1< / span > < span class = "preprocessor" > #pragma once< / span > < / div >
< div class = "line" > < a id = "l00002" name = "l00002" > < / a > < span class = "lineno" > 2< / span > < / div >
< div class = "line" > < a id = "l00003" name = "l00003" > < / a > < span class = "lineno" > 3< / span > < span class = "preprocessor" > #include " < a class = "code" href = "reaction_8h.html" > gridfire/reaction/reaction.h< / a > " < / span > < / div >
2025-07-01 11:40:51 -04:00
< div class = "line" > < a id = "l00004" name = "l00004" > < / a > < span class = "lineno" > 4< / span > < span class = "preprocessor" > #include " < a class = "code" href = "network_8h.html" > gridfire/network.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00005" name = "l00005" > < / a > < span class = "lineno" > 5< / span > < span class = "preprocessor" > #include " < a class = "code" href = "screening__abstract_8h.html" > gridfire/screening/screening_abstract.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00006" name = "l00006" > < / a > < span class = "lineno" > 6< / span > < span class = "preprocessor" > #include " < a class = "code" href = "screening__types_8h.html" > gridfire/screening/screening_types.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00007" name = "l00007" > < / a > < span class = "lineno" > 7< / span > < / div >
2025-07-24 11:10:45 -04:00
< div class = "line" > < a id = "l00008" name = "l00008" > < / a > < span class = "lineno" > 8< / span > < span class = "preprocessor" > #include " < a class = "code" href = "reporting_8h.html" > gridfire/engine/types/reporting.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00009" name = "l00009" > < / a > < span class = "lineno" > 9< / span > < span class = "preprocessor" > #include " < a class = "code" href = "building_8h.html" > gridfire/engine/types/building.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00010" name = "l00010" > < / a > < span class = "lineno" > 10< / span > < / div >
< div class = "line" > < a id = "l00011" name = "l00011" > < / a > < span class = "lineno" > 11< / span > < span class = "preprocessor" > #include " < a class = "code" href = "expected__engine_8h.html" > gridfire/expectations/expected_engine.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00012" name = "l00012" > < / a > < span class = "lineno" > 12< / span > < / div >
< div class = "line" > < a id = "l00013" name = "l00013" > < / a > < span class = "lineno" > 13< / span > < span class = "preprocessor" > #include < vector> < / span > < / div >
< div class = "line" > < a id = "l00014" name = "l00014" > < / a > < span class = "lineno" > 14< / span > < span class = "preprocessor" > #include < unordered_map> < / span > < / div >
< div class = "line" > < a id = "l00015" name = "l00015" > < / a > < span class = "lineno" > 15< / span > < span class = "preprocessor" > #include < utility> < / span > < / div >
< div class = "line" > < a id = "l00016" name = "l00016" > < / a > < span class = "lineno" > 16< / span > < span class = "preprocessor" > #include < expected> < / span > < / div >
< div class = "line" > < a id = "l00017" name = "l00017" > < / a > < span class = "lineno" > 17< / span > < / div >
< div class = "line" > < a id = "l00030" name = "l00030" > < / a > < span class = "lineno" > 30< / span > < / div >
< div class = "foldopen" id = "foldopen00031" data-start = "{" data-end = "}" >
< div class = "line" > < a id = "l00031" name = "l00031" > < / a > < span class = "lineno" > < a class = "line" href = "namespacegridfire.html" > 31< / a > < / span > < span class = "keyword" > namespace < / span > < a class = "code hl_namespace" href = "namespacegridfire.html" > gridfire< / a > {< / div >
< div class = "line" > < a id = "l00032" name = "l00032" > < / a > < span class = "lineno" > 32< / span > < / div >
< div class = "line" > < a id = "l00039" name = "l00039" > < / a > < span class = "lineno" > 39< / span > < span class = "keyword" > template< / span > < < span class = "keyword" > typename< / span > T> < / div >
< div class = "line" > < a id = "l00040" name = "l00040" > < / a > < span class = "lineno" > < a class = "line" href = "conceptgridfire_1_1_is_arithmetic_or_a_d.html" > 40< / a > < / span > < span class = "keyword" > concept < / span > < a class = "code hl_concept" href = "conceptgridfire_1_1_is_arithmetic_or_a_d.html" > IsArithmeticOrAD< / a > = std::is_same_v< T, double> || std::is_same_v< T, CppAD::AD< double> > ;< / div >
< div class = "line" > < a id = "l00041" name = "l00041" > < / a > < span class = "lineno" > 41< / span > < / div >
< div class = "line" > < a id = "l00059" name = "l00059" > < / a > < span class = "lineno" > 59< / span > < span class = "keyword" > template< / span > < IsArithmeticOrAD T> < / div >
< div class = "foldopen" id = "foldopen00060" data-start = "{" data-end = "};" >
< div class = "line" > < a id = "l00060" name = "l00060" > < / a > < span class = "lineno" > < a class = "line" href = "structgridfire_1_1_step_derivatives.html" > 60< / a > < / span > < span class = "keyword" > struct < / span > < a class = "code hl_struct" href = "structgridfire_1_1_step_derivatives.html" > StepDerivatives< / a > {< / div >
< div class = "line" > < a id = "l00061" name = "l00061" > < / a > < span class = "lineno" > < a class = "line" href = "structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d" > 61< / a > < / span > std::vector< T> < a class = "code hl_variable" href = "structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d" > dydt< / a > ; < / div >
< div class = "line" > < a id = "l00062" name = "l00062" > < / a > < span class = "lineno" > < a class = "line" href = "structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008" > 62< / a > < / span > T < a class = "code hl_variable" href = "structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008" > nuclearEnergyGenerationRate< / a > = T(0.0); < / div >
< div class = "line" > < a id = "l00063" name = "l00063" > < / a > < span class = "lineno" > 63< / span > };< / div >
2025-07-01 07:24:18 -04:00
< / div >
2025-07-24 11:10:45 -04:00
< div class = "line" > < a id = "l00064" name = "l00064" > < / a > < span class = "lineno" > 64< / span > < / div >
< div class = "line" > < a id = "l00065" name = "l00065" > < / a > < span class = "lineno" > < a class = "line" href = "namespacegridfire.html#a898dfe22579e649935645cbd6f073178" > 65< / a > < / span > < span class = "keyword" > using < / span > < a class = "code hl_typedef" href = "namespacegridfire.html#a898dfe22579e649935645cbd6f073178" > SparsityPattern< / a > = std::vector< std::pair< size_t, size_t> > ;< / div >
< div class = "line" > < a id = "l00066" name = "l00066" > < / a > < span class = "lineno" > 66< / span > < / div >
< div class = "foldopen" id = "foldopen00084" data-start = "{" data-end = "};" >
< div class = "line" > < a id = "l00084" name = "l00084" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_engine.html" > 84< / a > < / span > < span class = "keyword" > class < / span > < a class = "code hl_class" href = "classgridfire_1_1_engine.html" > Engine< / a > {< / div >
< div class = "line" > < a id = "l00085" name = "l00085" > < / a > < span class = "lineno" > 85< / span > < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a id = "l00089" name = "l00089" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037" > 89< / a > < / span > < span class = "keyword" > virtual< / span > < a class = "code hl_function" href = "classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037" > ~Engine< / a > () = < span class = "keywordflow" > default< / span > ;< / div >
< div class = "line" > < a id = "l00090" name = "l00090" > < / a > < span class = "lineno" > 90< / span > < / div >
< div class = "line" > < a id = "l00095" name = "l00095" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3" > 95< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > std::vector< fourdst::atomic::Species> & < a class = "code hl_function" href = "classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3" > getNetworkSpecies< / a > () < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00096" name = "l00096" > < / a > < span class = "lineno" > 96< / span > < / div >
< div class = "line" > < a id = "l00109" name = "l00109" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_engine.html#a89f714d19b84a93a004a7afbb487a6cb" > 109< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > std::expected< StepDerivatives< double> , < a class = "code hl_struct" href = "structgridfire_1_1expectations_1_1_stale_engine_error.html" > expectations::StaleEngineError< / a > > < a class = "code hl_function" href = "classgridfire_1_1_engine.html#a89f714d19b84a93a004a7afbb487a6cb" > calculateRHSAndEnergy< / a > (< / div >
< div class = "line" > < a id = "l00110" name = "l00110" > < / a > < span class = "lineno" > 110< / span > < span class = "keyword" > const< / span > std::vector< double> & Y,< / div >
< div class = "line" > < a id = "l00111" name = "l00111" > < / a > < span class = "lineno" > 111< / span > < span class = "keywordtype" > double< / span > T9,< / div >
< div class = "line" > < a id = "l00112" name = "l00112" > < / a > < span class = "lineno" > 112< / span > < span class = "keywordtype" > double< / span > rho< / div >
< div class = "line" > < a id = "l00113" name = "l00113" > < / a > < span class = "lineno" > 113< / span > ) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00114" name = "l00114" > < / a > < span class = "lineno" > 114< / span > };< / div >
2025-07-01 07:24:18 -04:00
< / div >
2025-07-24 11:10:45 -04:00
< div class = "line" > < a id = "l00115" name = "l00115" > < / a > < span class = "lineno" > 115< / span > < / div >
< div class = "foldopen" id = "foldopen00130" data-start = "{" data-end = "};" >
< div class = "line" > < a id = "l00130" name = "l00130" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html" > 130< / a > < / span > < span class = "keyword" > class < / span > < a class = "code hl_class" href = "classgridfire_1_1_dynamic_engine.html" > DynamicEngine< / a > : < span class = "keyword" > public< / span > < a class = "code hl_class" href = "classgridfire_1_1_engine.html" > Engine< / a > {< / div >
< div class = "line" > < a id = "l00131" name = "l00131" > < / a > < span class = "lineno" > 131< / span > < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a id = "l00142" name = "l00142" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a29bdd4231c29c3a4e524ad6ca66a127d" > 142< / a > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a29bdd4231c29c3a4e524ad6ca66a127d" > generateJacobianMatrix< / a > (< / div >
< div class = "line" > < a id = "l00143" name = "l00143" > < / a > < span class = "lineno" > 143< / span > < span class = "keyword" > const< / span > std::vector< double> & Y_dynamic,< / div >
< div class = "line" > < a id = "l00144" name = "l00144" > < / a > < span class = "lineno" > 144< / span > < span class = "keywordtype" > double< / span > T9,< / div >
< div class = "line" > < a id = "l00145" name = "l00145" > < / a > < span class = "lineno" > 145< / span > < span class = "keywordtype" > double< / span > rho< / div >
< div class = "line" > < a id = "l00146" name = "l00146" > < / a > < span class = "lineno" > 146< / span > ) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00147" name = "l00147" > < / a > < span class = "lineno" > 147< / span > < / div >
< div class = "foldopen" id = "foldopen00148" data-start = "{" data-end = "}" >
< div class = "line" > < a id = "l00148" name = "l00148" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7" > 148< / a > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7" > generateJacobianMatrix< / a > (< / div >
< div class = "line" > < a id = "l00149" name = "l00149" > < / a > < span class = "lineno" > 149< / span > < span class = "keyword" > const< / span > std::vector< double> & Y_dynamic,< / div >
< div class = "line" > < a id = "l00150" name = "l00150" > < / a > < span class = "lineno" > 150< / span > < span class = "keywordtype" > double< / span > T9,< / div >
< div class = "line" > < a id = "l00151" name = "l00151" > < / a > < span class = "lineno" > 151< / span > < span class = "keywordtype" > double< / span > rho,< / div >
< div class = "line" > < a id = "l00152" name = "l00152" > < / a > < span class = "lineno" > 152< / span > < span class = "keyword" > const< / span > < a class = "code hl_typedef" href = "namespacegridfire.html#a898dfe22579e649935645cbd6f073178" > SparsityPattern< / a > & sparsityPattern< / div >
< div class = "line" > < a id = "l00153" name = "l00153" > < / a > < span class = "lineno" > 153< / span > )< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a id = "l00154" name = "l00154" > < / a > < span class = "lineno" > 154< / span > < span class = "keywordflow" > throw< / span > std::logic_error(< span class = "stringliteral" > " Sparsity pattern not supported by this engine." < / span > );< / div >
< div class = "line" > < a id = "l00155" name = "l00155" > < / a > < span class = "lineno" > 155< / span > }< / div >
2025-07-01 07:24:18 -04:00
< / div >
2025-07-24 11:10:45 -04:00
< div class = "line" > < a id = "l00156" name = "l00156" > < / a > < span class = "lineno" > 156< / span > < / div >
< div class = "line" > < a id = "l00166" name = "l00166" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07" > 166< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < span class = "keywordtype" > double< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07" > getJacobianMatrixEntry< / a > (< / div >
< div class = "line" > < a id = "l00167" name = "l00167" > < / a > < span class = "lineno" > 167< / span > < span class = "keywordtype" > int< / span > i,< / div >
< div class = "line" > < a id = "l00168" name = "l00168" > < / a > < span class = "lineno" > 168< / span > < span class = "keywordtype" > int< / span > j< / div >
< div class = "line" > < a id = "l00169" name = "l00169" > < / a > < span class = "lineno" > 169< / span > ) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00170" name = "l00170" > < / a > < span class = "lineno" > 170< / span > < / div >
< div class = "line" > < a id = "l00171" name = "l00171" > < / a > < span class = "lineno" > 171< / span > < / div >
< div class = "line" > < a id = "l00178" name = "l00178" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f" > 178< / a > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f" > generateStoichiometryMatrix< / a > () = 0;< / div >
< div class = "line" > < a id = "l00179" name = "l00179" > < / a > < span class = "lineno" > 179< / span > < / div >
< div class = "line" > < a id = "l00189" name = "l00189" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f" > 189< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < span class = "keywordtype" > int< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f" > getStoichiometryMatrixEntry< / a > (< / div >
< div class = "line" > < a id = "l00190" name = "l00190" > < / a > < span class = "lineno" > 190< / span > < span class = "keywordtype" > int< / span > speciesIndex,< / div >
< div class = "line" > < a id = "l00191" name = "l00191" > < / a > < span class = "lineno" > 191< / span > < span class = "keywordtype" > int< / span > reactionIndex< / div >
< div class = "line" > < a id = "l00192" name = "l00192" > < / a > < span class = "lineno" > 192< / span > ) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00193" name = "l00193" > < / a > < span class = "lineno" > 193< / span > < / div >
< div class = "line" > < a id = "l00206" name = "l00206" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785" > 206< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < span class = "keywordtype" > double< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785" > calculateMolarReactionFlow< / a > (< / div >
< div class = "line" > < a id = "l00207" name = "l00207" > < / a > < span class = "lineno" > 207< / span > < span class = "keyword" > const< / span > < a class = "code hl_class" href = "classgridfire_1_1reaction_1_1_reaction.html" > reaction::Reaction< / a > & < a class = "code hl_namespace" href = "namespacegridfire_1_1reaction.html" > reaction< / a > ,< / div >
< div class = "line" > < a id = "l00208" name = "l00208" > < / a > < span class = "lineno" > 208< / span > < span class = "keyword" > const< / span > std::vector< double> & Y,< / div >
< div class = "line" > < a id = "l00209" name = "l00209" > < / a > < span class = "lineno" > 209< / span > < span class = "keywordtype" > double< / span > T9,< / div >
< div class = "line" > < a id = "l00210" name = "l00210" > < / a > < span class = "lineno" > 210< / span > < span class = "keywordtype" > double< / span > rho< / div >
< div class = "line" > < a id = "l00211" name = "l00211" > < / a > < span class = "lineno" > 211< / span > ) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00212" name = "l00212" > < / a > < span class = "lineno" > 212< / span > < / div >
< div class = "line" > < a id = "l00218" name = "l00218" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037" > 218< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > < a class = "code hl_typedef" href = "namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31" > reaction::LogicalReactionSet< / a > & < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037" > getNetworkReactions< / a > () < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00219" name = "l00219" > < / a > < span class = "lineno" > 219< / span > < / div >
< div class = "line" > < a id = "l00220" name = "l00220" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#afb2ec904d88fc8aab516db4059d0e00f" > 220< / a > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#afb2ec904d88fc8aab516db4059d0e00f" > setNetworkReactions< / a > (< span class = "keyword" > const< / span > < a class = "code hl_typedef" href = "namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31" > reaction::LogicalReactionSet< / a > & reactions) = 0;< / div >
< div class = "line" > < a id = "l00221" name = "l00221" > < / a > < span class = "lineno" > 221< / span > < / div >
< div class = "line" > < a id = "l00233" name = "l00233" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a6772ac384b4c3d3e91712041e4aaa813" > 233< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > std::expected< std::unordered_map< fourdst::atomic::Species, double> , < a class = "code hl_struct" href = "structgridfire_1_1expectations_1_1_stale_engine_error.html" > expectations::StaleEngineError< / a > > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a6772ac384b4c3d3e91712041e4aaa813" > getSpeciesTimescales< / a > (< / div >
< div class = "line" > < a id = "l00234" name = "l00234" > < / a > < span class = "lineno" > 234< / span > < span class = "keyword" > const< / span > std::vector< double> & Y,< / div >
< div class = "line" > < a id = "l00235" name = "l00235" > < / a > < span class = "lineno" > 235< / span > < span class = "keywordtype" > double< / span > T9,< / div >
< div class = "line" > < a id = "l00236" name = "l00236" > < / a > < span class = "lineno" > 236< / span > < span class = "keywordtype" > double< / span > rho< / div >
< div class = "line" > < a id = "l00237" name = "l00237" > < / a > < span class = "lineno" > 237< / span > ) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00238" name = "l00238" > < / a > < span class = "lineno" > 238< / span > < / div >
< div class = "line" > < a id = "l00239" name = "l00239" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a6ca0f315f75252ca505507a61556dda6" > 239< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > std::expected< std::unordered_map< fourdst::atomic::Species, double> , < a class = "code hl_struct" href = "structgridfire_1_1expectations_1_1_stale_engine_error.html" > expectations::StaleEngineError< / a > > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a6ca0f315f75252ca505507a61556dda6" > getSpeciesDestructionTimescales< / a > (< / div >
< div class = "line" > < a id = "l00240" name = "l00240" > < / a > < span class = "lineno" > 240< / span > < span class = "keyword" > const< / span > std::vector< double> & Y,< / div >
< div class = "line" > < a id = "l00241" name = "l00241" > < / a > < span class = "lineno" > 241< / span > < span class = "keywordtype" > double< / span > T9,< / div >
< div class = "line" > < a id = "l00242" name = "l00242" > < / a > < span class = "lineno" > 242< / span > < span class = "keywordtype" > double< / span > rho< / div >
< div class = "line" > < a id = "l00243" name = "l00243" > < / a > < span class = "lineno" > 243< / span > ) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00244" name = "l00244" > < / a > < span class = "lineno" > 244< / span > < / div >
< div class = "line" > < a id = "l00265" name = "l00265" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#aa799ff785e7e79bf35b11efd55f6282a" > 265< / a > < / span > < span class = "keyword" > virtual< / span > fourdst::composition::Composition < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#aa799ff785e7e79bf35b11efd55f6282a" > update< / a > (< span class = "keyword" > const< / span > < a class = "code hl_struct" href = "structgridfire_1_1_net_in.html" > NetIn< / a > & netIn) = 0;< / div >
< div class = "line" > < a id = "l00266" name = "l00266" > < / a > < span class = "lineno" > 266< / span > < / div >
< div class = "line" > < a id = "l00267" name = "l00267" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a942e65ced17ca602482cc42e469d6398" > 267< / a > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a942e65ced17ca602482cc42e469d6398" > isStale< / a > (< span class = "keyword" > const< / span > < a class = "code hl_struct" href = "structgridfire_1_1_net_in.html" > NetIn< / a > & netIn) = 0;< / div >
< div class = "line" > < a id = "l00268" name = "l00268" > < / a > < span class = "lineno" > 268< / span > < / div >
< div class = "line" > < a id = "l00285" name = "l00285" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd" > 285< / a > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd" > setScreeningModel< / a > (< a class = "code hl_enumeration" href = "namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25" > screening::ScreeningType< / a > model) = 0;< / div >
< div class = "line" > < a id = "l00286" name = "l00286" > < / a > < span class = "lineno" > 286< / span > < / div >
< div class = "line" > < a id = "l00297" name = "l00297" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0" > 297< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < a class = "code hl_enumeration" href = "namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25" > screening::ScreeningType< / a > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0" > getScreeningModel< / a > () < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00298" name = "l00298" > < / a > < span class = "lineno" > 298< / span > < / div >
< div class = "line" > < a id = "l00299" name = "l00299" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9" > 299< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < span class = "keywordtype" > int< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9" > getSpeciesIndex< / a > (< span class = "keyword" > const< / span > fourdst::atomic::Species & species) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00300" name = "l00300" > < / a > < span class = "lineno" > 300< / span > < / div >
< div class = "line" > < a id = "l00301" name = "l00301" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a" > 301< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > std::vector< double> < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a" > mapNetInToMolarAbundanceVector< / a > (< span class = "keyword" > const< / span > < a class = "code hl_struct" href = "structgridfire_1_1_net_in.html" > NetIn< / a > & netIn) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a id = "l00302" name = "l00302" > < / a > < span class = "lineno" > 302< / span > < / div >
< div class = "line" > < a id = "l00303" name = "l00303" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e" > 303< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < a class = "code hl_struct" href = "structgridfire_1_1_priming_report.html" > PrimingReport< / a > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e" > primeEngine< / a > (< span class = "keyword" > const< / span > < a class = "code hl_struct" href = "structgridfire_1_1_net_in.html" > NetIn< / a > & netIn) = 0;< / div >
< div class = "line" > < a id = "l00304" name = "l00304" > < / a > < span class = "lineno" > 304< / span > < / div >
< div class = "foldopen" id = "foldopen00305" data-start = "{" data-end = "}" >
< div class = "line" > < a id = "l00305" name = "l00305" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9" > 305< / a > < / span > [[nodiscard]] < span class = "keyword" > virtual< / span > < a class = "code hl_typedef" href = "namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6" > BuildDepthType< / a > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9" > getDepth< / a > ()< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a id = "l00306" name = "l00306" > < / a > < span class = "lineno" > 306< / span > < span class = "keywordflow" > throw< / span > std::logic_error(< span class = "stringliteral" > " Network depth not supported by this engine." < / span > );< / div >
< div class = "line" > < a id = "l00307" name = "l00307" > < / a > < span class = "lineno" > 307< / span > }< / div >
2025-07-01 07:24:18 -04:00
< / div >
2025-07-24 11:10:45 -04:00
< div class = "line" > < a id = "l00308" name = "l00308" > < / a > < span class = "lineno" > 308< / span > < / div >
< div class = "foldopen" id = "foldopen00309" data-start = "{" data-end = "}" >
< div class = "line" > < a id = "l00309" name = "l00309" > < / a > < span class = "lineno" > < a class = "line" href = "classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf" > 309< / a > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code hl_function" href = "classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf" > rebuild< / a > (< span class = "keyword" > const< / span > fourdst::composition::Composition& comp, < a class = "code hl_typedef" href = "namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6" > BuildDepthType< / a > depth) {< / div >
< div class = "line" > < a id = "l00310" name = "l00310" > < / a > < span class = "lineno" > 310< / span > < span class = "keywordflow" > throw< / span > std::logic_error(< span class = "stringliteral" > " Setting network depth not supported by this engine." < / span > );< / div >
< div class = "line" > < a id = "l00311" name = "l00311" > < / a > < span class = "lineno" > 311< / span > }< / div >
< / div >
< div class = "line" > < a id = "l00312" name = "l00312" > < / a > < span class = "lineno" > 312< / span > < / div >
< div class = "line" > < a id = "l00313" name = "l00313" > < / a > < span class = "lineno" > 313< / span > };< / div >
< / div >
< div class = "line" > < a id = "l00314" name = "l00314" > < / a > < span class = "lineno" > 314< / span > }< / div >
< / div >
< div class = "ttc" id = "abuilding_8h_html" > < div class = "ttname" > < a href = "building_8h.html" > building.h< / a > < / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html" > gridfire::DynamicEngine< / a > < / div > < div class = "ttdoc" > Abstract class for engines supporting Jacobian and stoichiometry operations.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00130" > engine_abstract.h:130< / a > < / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a04317b66ef14d519264bc30ee69f5bf9" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9" > gridfire::DynamicEngine::getDepth< / a > < / div > < div class = "ttdeci" > virtual BuildDepthType getDepth() const< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00305" > engine_abstract.h:305< / a > < / div > < / div >
2025-07-01 07:24:18 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a05d15ff35a6bc06a2fa7eda19838bd07" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07" > gridfire::DynamicEngine::getJacobianMatrixEntry< / a > < / div > < div class = "ttdeci" > virtual double getJacobianMatrixEntry(int i, int j) const =0< / div > < div class = "ttdoc" > Get an entry from the previously generated Jacobian matrix.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a21c34f59c080a853fafa38a25175124e" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e" > gridfire::DynamicEngine::primeEngine< / a > < / div > < div class = "ttdeci" > virtual PrimingReport primeEngine(const NetIn & netIn)=0< / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a29bdd4231c29c3a4e524ad6ca66a127d" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a29bdd4231c29c3a4e524ad6ca66a127d" > gridfire::DynamicEngine::generateJacobianMatrix< / a > < / div > < div class = "ttdeci" > virtual void generateJacobianMatrix(const std::vector< double > & Y_dynamic, double T9, double rho) const =0< / div > < div class = "ttdoc" > Generate the Jacobian matrix for the current state.< / div > < / div >
2025-07-01 15:06:22 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a3fb44b6f55563a2f590f31916528f2bd" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd" > gridfire::DynamicEngine::setScreeningModel< / a > < / div > < div class = "ttdeci" > virtual void setScreeningModel(screening::ScreeningType model)=0< / div > < div class = "ttdoc" > Set the electron screening model.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a4e2c8b896661b7a89beffe0066cb21cf" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf" > gridfire::DynamicEngine::rebuild< / a > < / div > < div class = "ttdeci" > virtual void rebuild(const fourdst::composition::Composition & comp, BuildDepthType depth)< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00309" > engine_abstract.h:309< / a > < / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a55f1b7e5ebe2840e1d7c54665ca5411a" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a" > gridfire::DynamicEngine::mapNetInToMolarAbundanceVector< / a > < / div > < div class = "ttdeci" > virtual std::vector< double > mapNetInToMolarAbundanceVector(const NetIn & netIn) const =0< / div > < / div >
2025-07-01 07:24:18 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a6633b1757c41dd9e1c397333f4f9e785" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785" > gridfire::DynamicEngine::calculateMolarReactionFlow< / a > < / div > < div class = "ttdeci" > virtual double calculateMolarReactionFlow(const reaction::Reaction & reaction, const std::vector< double > & Y, double T9, double rho) const =0< / div > < div class = "ttdoc" > Calculate the molar reaction flow for a given reaction.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a6772ac384b4c3d3e91712041e4aaa813" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a6772ac384b4c3d3e91712041e4aaa813" > gridfire::DynamicEngine::getSpeciesTimescales< / a > < / div > < div class = "ttdeci" > virtual std::expected< std::unordered_map< fourdst::atomic::Species, double > , expectations::StaleEngineError > getSpeciesTimescales(const std::vector< double > & Y, double T9, double rho) const =0< / div > < div class = "ttdoc" > Compute timescales for all species in the network.< / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a6ca0f315f75252ca505507a61556dda6" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a6ca0f315f75252ca505507a61556dda6" > gridfire::DynamicEngine::getSpeciesDestructionTimescales< / a > < / div > < div class = "ttdeci" > virtual std::expected< std::unordered_map< fourdst::atomic::Species, double > , expectations::StaleEngineError > getSpeciesDestructionTimescales(const std::vector< double > & Y, double T9, double rho) const =0< / div > < / div >
2025-07-01 15:06:22 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a7a203f8e0f3a6744ddc912dfbcfdbcc0" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0" > gridfire::DynamicEngine::getScreeningModel< / a > < / div > < div class = "ttdeci" > virtual screening::ScreeningType getScreeningModel() const =0< / div > < div class = "ttdoc" > Get the current electron screening model.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a818d942efa843959393e4eed3263b7e7" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7" > gridfire::DynamicEngine::generateJacobianMatrix< / a > < / div > < div class = "ttdeci" > virtual void generateJacobianMatrix(const std::vector< double > & Y_dynamic, double T9, double rho, const SparsityPattern & sparsityPattern) const< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00148" > engine_abstract.h:148< / a > < / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_a942e65ced17ca602482cc42e469d6398" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#a942e65ced17ca602482cc42e469d6398" > gridfire::DynamicEngine::isStale< / a > < / div > < div class = "ttdeci" > virtual bool isStale(const NetIn & netIn)=0< / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_aa799ff785e7e79bf35b11efd55f6282a" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#aa799ff785e7e79bf35b11efd55f6282a" > gridfire::DynamicEngine::update< / a > < / div > < div class = "ttdeci" > virtual fourdst::composition::Composition update(const NetIn & netIn)=0< / div > < div class = "ttdoc" > Update the internal state of the engine.< / div > < / div >
2025-07-01 07:24:18 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_ad2a82099edbb374bbb2c9509ccdb1037" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037" > gridfire::DynamicEngine::getNetworkReactions< / a > < / div > < div class = "ttdeci" > virtual const reaction::LogicalReactionSet & getNetworkReactions() const =0< / div > < div class = "ttdoc" > Get the set of logical reactions in the network.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_ad3d56a8b9161b9cc7f4da51f6bf7e8c9" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9" > gridfire::DynamicEngine::getSpeciesIndex< / a > < / div > < div class = "ttdeci" > virtual int getSpeciesIndex(const fourdst::atomic::Species & species) const =0< / div > < / div >
2025-07-01 07:24:18 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_aeae6d84ef74d88fd2cdf07b82e98a16f" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f" > gridfire::DynamicEngine::generateStoichiometryMatrix< / a > < / div > < div class = "ttdeci" > virtual void generateStoichiometryMatrix()=0< / div > < div class = "ttdoc" > Generate the stoichiometry matrix for the network.< / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_afa108dd5227dbb1045e90d7b3bd8b84f" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f" > gridfire::DynamicEngine::getStoichiometryMatrixEntry< / a > < / div > < div class = "ttdeci" > virtual int getStoichiometryMatrixEntry(int speciesIndex, int reactionIndex) const =0< / div > < div class = "ttdoc" > Get an entry from the stoichiometry matrix.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_dynamic_engine_html_afb2ec904d88fc8aab516db4059d0e00f" > < div class = "ttname" > < a href = "classgridfire_1_1_dynamic_engine.html#afb2ec904d88fc8aab516db4059d0e00f" > gridfire::DynamicEngine::setNetworkReactions< / a > < / div > < div class = "ttdeci" > virtual void setNetworkReactions(const reaction::LogicalReactionSet & reactions)=0< / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_engine_html" > < div class = "ttname" > < a href = "classgridfire_1_1_engine.html" > gridfire::Engine< / a > < / div > < div class = "ttdoc" > Abstract base class for a reaction network engine.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00084" > engine_abstract.h:84< / a > < / div > < / div >
2025-07-01 07:24:18 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_engine_html_a020e1b493d6964cafdad08fde697ceb3" > < div class = "ttname" > < a href = "classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3" > gridfire::Engine::getNetworkSpecies< / a > < / div > < div class = "ttdeci" > virtual const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const =0< / div > < div class = "ttdoc" > Get the list of species in the network.< / div > < / div >
< div class = "ttc" id = "aclassgridfire_1_1_engine_html_a2e7970bed2100699f226f4141d5db037" > < div class = "ttname" > < a href = "classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037" > gridfire::Engine::~Engine< / a > < / div > < div class = "ttdeci" > virtual ~Engine()=default< / div > < div class = "ttdoc" > Virtual destructor.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aclassgridfire_1_1_engine_html_a89f714d19b84a93a004a7afbb487a6cb" > < div class = "ttname" > < a href = "classgridfire_1_1_engine.html#a89f714d19b84a93a004a7afbb487a6cb" > gridfire::Engine::calculateRHSAndEnergy< / a > < / div > < div class = "ttdeci" > virtual std::expected< StepDerivatives< double > , expectations::StaleEngineError > calculateRHSAndEnergy(const std::vector< double > & Y, double T9, double rho) const =0< / div > < div class = "ttdoc" > Calculate the right-hand side (dY/dt) and energy generation.< / div > < / div >
2025-07-01 11:40:51 -04:00
< div class = "ttc" id = "aclassgridfire_1_1reaction_1_1_reaction_html" > < div class = "ttname" > < a href = "classgridfire_1_1reaction_1_1_reaction.html" > gridfire::reaction::Reaction< / a > < / div > < div class = "ttdoc" > Represents a single nuclear reaction from a specific data source.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "reaction_8h_source.html#l00072" > reaction.h:72< / a > < / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "aconceptgridfire_1_1_is_arithmetic_or_a_d_html" > < div class = "ttname" > < a href = "conceptgridfire_1_1_is_arithmetic_or_a_d.html" > gridfire::IsArithmeticOrAD< / a > < / div > < div class = "ttdoc" > Concept for types allowed in engine calculations.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00040" > engine_abstract.h:40< / a > < / div > < / div >
< div class = "ttc" id = "aexpected__engine_8h_html" > < div class = "ttname" > < a href = "expected__engine_8h.html" > expected_engine.h< / a > < / div > < / div >
2025-07-01 11:40:51 -04:00
< div class = "ttc" id = "anamespacegridfire_1_1reaction_html" > < div class = "ttname" > < a href = "namespacegridfire_1_1reaction.html" > gridfire::reaction< / a > < / div > < div class = "ttdef" > < b > Definition< / b > < a href = "reaction_8h_source.html#l00025" > reaction.h:25< / a > < / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "anamespacegridfire_1_1reaction_html_aa86f08712565f278adacc7cd2361eb31" > < div class = "ttname" > < a href = "namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31" > gridfire::reaction::LogicalReactionSet< / a > < / div > < div class = "ttdeci" > TemplatedReactionSet< LogicalReaction > LogicalReactionSet< / div > < div class = "ttdoc" > A set of logical reactions.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "reaction_8h_source.html#l00563" > reaction.h:563< / a > < / div > < / div >
2025-07-01 15:06:22 -04:00
< div class = "ttc" id = "anamespacegridfire_1_1screening_html_aa82aafbc4f8c28d0a75b60798e3a7d25" > < div class = "ttname" > < a href = "namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25" > gridfire::screening::ScreeningType< / a > < / div > < div class = "ttdeci" > ScreeningType< / div > < div class = "ttdoc" > Enumerates the available plasma screening models.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "screening__types_8h_source.html#l00015" > screening_types.h:15< / a > < / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "anamespacegridfire_html" > < div class = "ttname" > < a href = "namespacegridfire.html" > gridfire< / a > < / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00031" > engine_abstract.h:31< / a > < / div > < / div >
< div class = "ttc" id = "anamespacegridfire_html_a3b1f70dc7ff5b501809330a97079e4f6" > < div class = "ttname" > < a href = "namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6" > gridfire::BuildDepthType< / a > < / div > < div class = "ttdeci" > std::variant< NetworkBuildDepth, int > BuildDepthType< / div > < div class = "ttdoc" > Variant specifying either a predefined NetworkBuildDepth or a custom integer depth.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "building_8h_source.html#l00037" > building.h:37< / a > < / div > < / div >
< div class = "ttc" id = "anamespacegridfire_html_a898dfe22579e649935645cbd6f073178" > < div class = "ttname" > < a href = "namespacegridfire.html#a898dfe22579e649935645cbd6f073178" > gridfire::SparsityPattern< / a > < / div > < div class = "ttdeci" > std::vector< std::pair< size_t, size_t > > SparsityPattern< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00065" > engine_abstract.h:65< / a > < / div > < / div >
2025-07-01 11:40:51 -04:00
< div class = "ttc" id = "anetwork_8h_html" > < div class = "ttname" > < a href = "network_8h.html" > network.h< / a > < / div > < / div >
2025-07-01 07:24:18 -04:00
< div class = "ttc" id = "areaction_8h_html" > < div class = "ttname" > < a href = "reaction_8h.html" > reaction.h< / a > < / div > < div class = "ttdoc" > Defines classes for representing and managing nuclear reactions.< / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "areporting_8h_html" > < div class = "ttname" > < a href = "reporting_8h.html" > reporting.h< / a > < / div > < / div >
2025-07-01 11:40:51 -04:00
< div class = "ttc" id = "ascreening__abstract_8h_html" > < div class = "ttname" > < a href = "screening__abstract_8h.html" > screening_abstract.h< / a > < / div > < / div >
< div class = "ttc" id = "ascreening__types_8h_html" > < div class = "ttname" > < a href = "screening__types_8h.html" > screening_types.h< / a > < / div > < / div >
< div class = "ttc" id = "astructgridfire_1_1_net_in_html" > < div class = "ttname" > < a href = "structgridfire_1_1_net_in.html" > gridfire::NetIn< / a > < / div > < div class = "ttdef" > < b > Definition< / b > < a href = "network_8h_source.html#l00053" > network.h:53< / a > < / div > < / div >
2025-07-24 11:10:45 -04:00
< div class = "ttc" id = "astructgridfire_1_1_priming_report_html" > < div class = "ttname" > < a href = "structgridfire_1_1_priming_report.html" > gridfire::PrimingReport< / a > < / div > < div class = "ttdoc" > Captures the result of a network priming operation.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "reporting_8h_source.html#l00067" > reporting.h:67< / a > < / div > < / div >
< div class = "ttc" id = "astructgridfire_1_1_step_derivatives_html" > < div class = "ttname" > < a href = "structgridfire_1_1_step_derivatives.html" > gridfire::StepDerivatives< / a > < / div > < div class = "ttdoc" > Structure holding derivatives and energy generation for a network step.< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00060" > engine_abstract.h:60< / a > < / div > < / div >
< div class = "ttc" id = "astructgridfire_1_1_step_derivatives_html_ab4aeb41be952c7b5844e1ee81fef9008" > < div class = "ttname" > < a href = "structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008" > gridfire::StepDerivatives::nuclearEnergyGenerationRate< / a > < / div > < div class = "ttdeci" > T nuclearEnergyGenerationRate< / div > < div class = "ttdoc" > Specific energy generation rate (e.g., erg/g/s).< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00062" > engine_abstract.h:62< / a > < / div > < / div >
< div class = "ttc" id = "astructgridfire_1_1_step_derivatives_html_ae0de268b86c2404379409c4feae0b34d" > < div class = "ttname" > < a href = "structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d" > gridfire::StepDerivatives::dydt< / a > < / div > < div class = "ttdeci" > std::vector< T > dydt< / div > < div class = "ttdoc" > Derivatives of abundances (dY/dt for each species).< / div > < div class = "ttdef" > < b > Definition< / b > < a href = "#l00061" > engine_abstract.h:61< / a > < / div > < / div >
< div class = "ttc" id = "astructgridfire_1_1expectations_1_1_stale_engine_error_html" > < div class = "ttname" > < a href = "structgridfire_1_1expectations_1_1_stale_engine_error.html" > gridfire::expectations::StaleEngineError< / a > < / div > < div class = "ttdef" > < b > Definition< / b > < a href = "expected__engine_8h_source.html#l00044" > expected_engine.h:44< / a > < / div > < / div >
2025-07-01 07:24:18 -04:00
< / div > <!-- fragment --> < / div > <!-- contents -->
< / div > <!-- doc - content -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
2025-07-24 11:10:45 -04:00
< li class = "navelem" > < a class = "el" href = "dir_68267d1309a1af8e8297ef4c3efbcdba.html" > src< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_b0856f6b0d80ccb263b2f415c91f9e17.html" > include< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_3626e0c0e3c5d7812d6b277dfa4ec364.html" > gridfire< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_aff155d61c3b73b9ab7dcdc908c4d49e.html" > engine< / a > < / li > < li class = "navelem" > < a class = "el" href = "engine__abstract_8h.html" > engine_abstract.h< / a > < / li >
2025-07-01 07:24:18 -04:00
< 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 >