<ahref="engine__multiscale_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aid="l00001"name="l00001"></a><spanclass="lineno"> 1</span><spanclass="preprocessor">#pragma once</span></div>
<divclass="line"><aid="l00054"name="l00054"></a><spanclass="lineno"> 54</span><spanclass="comment">// TODO: We should probably sort out how to adjust these from absolute to relative tolerances.</span></div>
<divclass="line"><aid="l00056"name="l00056"></a><spanclass="lineno"> 56</span> 1e-3, <spanclass="comment">// Default tolerance for T9</span></div>
<divclass="line"><aid="l00057"name="l00057"></a><spanclass="lineno"> 57</span> 1e-1, <spanclass="comment">// Default tolerance for rho</span></div>
<divclass="line"><aid="l00058"name="l00058"></a><spanclass="lineno"> 58</span> 1e-3 <spanclass="comment">// Default tolerance for species abundances</span></div>
<divclass="line"><aid="l00106"name="l00106"></a><spanclass="lineno"> 106</span><spanclass="comment">// Needs to be in this order (splitting gridfire namespace up) to avoid some issues with forward declarations and the () operator.</span></div>
<divclass="line"><aid="l00116"name="l00116"></a><spanclass="lineno"> 116</span><spanclass="comment">// The hash is pre-computed, so we just return it.</span></div>
<divclass="line"><aid="l00945"name="l00945"></a><spanclass="lineno"> 945</span><spanclass="comment">// TODO: Enhance the hashing for the cache to consider not just T and rho but also the current abundance in some careful way that automatically ignores small changes (i.e. network should only be repartitioned sometimes)</span></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></div><divclass="ttdoc">Abstract class for engines supporting Jacobian and stoichiometry operations.</div><divclass="ttdef"><b>Definition</b><ahref="engine__abstract_8h_source.html#l00130">engine_abstract.h:130</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_engine_view_html"><divclass="ttname"><ahref="classgridfire_1_1_engine_view.html">gridfire::EngineView</a></div><divclass="ttdoc">Abstract base class for a "view" of a reaction network engine.</div><divclass="ttdef"><b>Definition</b><ahref="engine__view__abstract_8h_source.html#l00074">engine_view_abstract.h:74</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_graph_engine_html"><divclass="ttname"><ahref="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></div><divclass="ttdoc">A reaction network engine that uses a graph-based representation.</div><divclass="ttdef"><b>Definition</b><ahref="engine__graph_8h_source.html#l00100">engine_graph.h:100</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a0437c51f94bf834a11adf481b2afad93"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a0437c51f94bf834a11adf481b2afad93">gridfire::MultiscalePartitioningEngineView::m_baseEngine</a></div><divclass="ttdeci">GraphEngine & m_baseEngine</div><divclass="ttdoc">The base engine to which this view delegates calculations.</div><divclass="ttdef"><b>Definition</b><ahref="#l00914">engine_multiscale.h:914</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a05730ced13ac5331060ca011f0da6235"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a05730ced13ac5331060ca011f0da6235">gridfire::MultiscalePartitioningEngineView::primeEngine</a></div><divclass="ttdeci">PrimingReport primeEngine(const NetIn &netIn) override</div><divclass="ttdoc">Primes the engine with a specific species.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00793">engine_multiscale.cpp:793</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a0df457c0f0f6f403a295335c84fd828f"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a0df457c0f0f6f403a295335c84fd828f">gridfire::MultiscalePartitioningEngineView::MultiscalePartitioningEngineView</a></div><divclass="ttdeci">MultiscalePartitioningEngineView(GraphEngine &baseEngine)</div><divclass="ttdoc">Constructs a MultiscalePartitioningEngineView.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00153">engine_multiscale.cpp:153</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a1a0c0a0ade632eb10f0eecab828a059f"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a1a0c0a0ade632eb10f0eecab828a059f">gridfire::MultiscalePartitioningEngineView::setScreeningModel</a></div><divclass="ttdeci">void setScreeningModel(screening::ScreeningType model) override</div><divclass="ttdoc">Sets the electron screening model.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00402">engine_multiscale.cpp:402</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a1b4aa04a1e641204e4fd82361b0e39c6"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a1b4aa04a1e641204e4fd82361b0e39c6">gridfire::MultiscalePartitioningEngineView::m_qse_groups</a></div><divclass="ttdeci">std::vector< QSEGroup > m_qse_groups</div><divclass="ttdoc">The list of identified equilibrium groups.</div><divclass="ttdef"><b>Definition</b><ahref="#l00918">engine_multiscale.h:918</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a1e04e8cb8c84b1bd033ac599accf0888"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a1e04e8cb8c84b1bd033ac599accf0888">gridfire::MultiscalePartitioningEngineView::getDynamicSpecies</a></div><divclass="ttdeci">const std::vector< fourdst::atomic::Species >& getDynamicSpecies() const</div><divclass="ttdoc">Gets the dynamic species in the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00789">engine_multiscale.cpp:789</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a22bd1f0e821ed415611d75bac67063d1"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a22bd1f0e821ed415611d75bac67063d1">gridfire::MultiscalePartitioningEngineView::getBaseEngine</a></div><divclass="ttdeci">const DynamicEngine & getBaseEngine() const override</div><divclass="ttdoc">Gets the base engine.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00412">engine_multiscale.cpp:412</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a34b5fdb2078e748edfbe6846ecadd681"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a34b5fdb2078e748edfbe6846ecadd681">gridfire::MultiscalePartitioningEngineView::QSEPartition</a></div><divclass="ttdeci">std::tuple< std::vector< fourdst::atomic::Species >, std::vector< size_t >, std::vector< fourdst::atomic::Species >, std::vector< size_t >> QSEPartition</div><divclass="ttdoc">Type alias for a QSE partition.</div><divclass="ttdef"><b>Definition</b><ahref="#l00181">engine_multiscale.h:181</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a38b4f0373c3bd81503889650c0bb69bb"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a38b4f0373c3bd81503889650c0bb69bb">gridfire::MultiscalePartitioningEngineView::m_dynamic_species_indices</a></div><divclass="ttdeci">std::vector< size_t > m_dynamic_species_indices</div><divclass="ttdoc">Indices mapping the dynamic species back to the base engine's full species list.</div><divclass="ttdef"><b>Definition</b><ahref="#l00926">engine_multiscale.h:926</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a3c5fcb8e3396d74359fd601554c9ffa9"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a3c5fcb8e3396d74359fd601554c9ffa9">gridfire::MultiscalePartitioningEngineView::solveQSEAbundances</a></div><divclass="ttdeci">std::vector< double > solveQSEAbundances(const std::vector< double >&Y_full, double T9, double rho)</div><divclass="ttdoc">Solves for the QSE abundances of the algebraic species in a given state.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01136">engine_multiscale.cpp:1136</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a3c82e4e082d1c82b1b090ac9847c7c5e"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a3c82e4e082d1c82b1b090ac9847c7c5e">gridfire::MultiscalePartitioningEngineView::getFastSpecies</a></div><divclass="ttdeci">std::vector< fourdst::atomic::Species > getFastSpecies() const</div><divclass="ttdoc">Gets the fast species in the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00776">engine_multiscale.cpp:776</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a445d7447f2cf18f755fc8b8b288e68cb"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a445d7447f2cf18f755fc8b8b288e68cb">gridfire::MultiscalePartitioningEngineView::m_activeReactionIndices</a></div><divclass="ttdeci">std::vector< size_t > m_activeReactionIndices</div><divclass="ttdoc">Indices of all reactions involving only active species.</div><divclass="ttdef"><b>Definition</b><ahref="#l00943">engine_multiscale.h:943</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a4656c05b8235dbf4ec698b03a716a8c8"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a4656c05b8235dbf4ec698b03a716a8c8">gridfire::MultiscalePartitioningEngineView::m_algebraic_species</a></div><divclass="ttdeci">std::vector< fourdst::atomic::Species > m_algebraic_species</div><divclass="ttdoc">Species that are treated as algebraic (in QSE) in the QSE groups.</div><divclass="ttdef"><b>Definition</b><ahref="#l00930">engine_multiscale.h:930</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a4bc879246c6fbd8633b05052858df51d"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a4bc879246c6fbd8633b05052858df51d">gridfire::MultiscalePartitioningEngineView::equilibrateNetwork</a></div><divclass="ttdeci">fourdst::composition::Composition equilibrateNetwork(const std::vector< double >&Y, double T9, double rho)</div><divclass="ttdoc">Equilibrates the network by partitioning and solving for QSE abundances.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00797">engine_multiscale.cpp:797</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a510b920dea726aef859ac1f6d051807e"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a510b920dea726aef859ac1f6d051807e">gridfire::MultiscalePartitioningEngineView::getStoichiometryMatrixEntry</a></div><divclass="ttdeci">int getStoichiometryMatrixEntry(int speciesIndex, int reactionIndex) const override</div><divclass="ttdoc">Gets an entry from the stoichiometry matrix.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00246">engine_multiscale.cpp:246</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a53862719dd73f98bc69eecde090cf655"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a53862719dd73f98bc69eecde090cf655">gridfire::MultiscalePartitioningEngineView::m_algebraic_species_indices</a></div><divclass="ttdeci">std::vector< size_t > m_algebraic_species_indices</div><divclass="ttdoc">Indices of algebraic species in the full network.</div><divclass="ttdef"><b>Definition</b><ahref="#l00934">engine_multiscale.h:934</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a54ca8004fbd8d6d3ea6f67efeb5dbc8d"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a54ca8004fbd8d6d3ea6f67efeb5dbc8d">gridfire::MultiscalePartitioningEngineView::identifyMeanSlowestPool</a></div><divclass="ttdeci">size_t identifyMeanSlowestPool(const std::vector< std::vector< size_t >>&pools, const std::vector< double >&Y, double T9, double rho) const</div><divclass="ttdoc">Identifies the pool with the slowest mean timescale.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01291">engine_multiscale.cpp:1291</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a560612347bbd5b7b380e990624d01105"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a560612347bbd5b7b380e990624d01105">gridfire::MultiscalePartitioningEngineView::getSpeciesTimescales</a></div><divclass="ttdeci">std::expected< std::unordered_map< fourdst::atomic::Species, double >, expectations::StaleEngineError > getSpeciesTimescales(const std::vector< double >&Y, double T9, double rho) const override</div><divclass="ttdoc">Computes timescales for all species in the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00295">engine_multiscale.cpp:295</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a57d97b11e80fa78ab5f509fce1f156b8"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a57d97b11e80fa78ab5f509fce1f156b8">gridfire::MultiscalePartitioningEngineView::m_activeSpeciesIndices</a></div><divclass="ttdeci">std::vector< size_t > m_activeSpeciesIndices</div><divclass="ttdoc">Indices of all species considered active in the current partition (dynamic + algebraic).</div><divclass="ttdef"><b>Definition</b><ahref="#l00939">engine_multiscale.h:939</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a696f74f5135bbd62169b6577f92fee80"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a696f74f5135bbd62169b6577f92fee80">gridfire::MultiscalePartitioningEngineView::getNetworkSpecies</a></div><divclass="ttdeci">const std::vector< fourdst::atomic::Species >& getNetworkSpecies() const override</div><divclass="ttdoc">Gets the list of species in the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00157">engine_multiscale.cpp:157</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a6bee75b5a6e508e6eebf83f0d48c50b8"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a6bee75b5a6e508e6eebf83f0d48c50b8">gridfire::MultiscalePartitioningEngineView::update</a></div><divclass="ttdeci">fourdst::composition::Composition update(const NetIn &netIn) override</div><divclass="ttdoc">Updates the internal state of the engine, performing partitioning and QSE equilibration.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00356">engine_multiscale.cpp:356</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a707e46d2f72993c206210f81b35b884e"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a707e46d2f72993c206210f81b35b884e">gridfire::MultiscalePartitioningEngineView::m_qse_abundance_cache</a></div><divclass="ttdeci">std::unordered_map< QSECacheKey, std::vector< double >> m_qse_abundance_cache</div><divclass="ttdoc">Cache for QSE abundances based on T9, rho, and Y.</div><divclass="ttdef"><b>Definition</b><ahref="#l00953">engine_multiscale.h:953</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a716d7357e944e8394d8b8e0b5e7625eb"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a716d7357e944e8394d8b8e0b5e7625eb">gridfire::MultiscalePartitioningEngineView::calculateRHSAndEnergy</a></div><divclass="ttdeci">std::expected< StepDerivatives< double >, expectations::StaleEngineError > calculateRHSAndEnergy(const std::vector< double >&Y_full, double T9, double rho) const override</div><divclass="ttdoc">Calculates the right-hand side (dY/dt) and energy generation.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00161">engine_multiscale.cpp:161</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a79eb9c108d694a27ec913ed0143aa044"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a79eb9c108d694a27ec913ed0143aa044">gridfire::MultiscalePartitioningEngineView::calculateMolarReactionFlow</a></div><divclass="ttdeci">double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double >&Y_full, double T9, double rho) const override</div><divclass="ttdoc">Calculates the molar reaction flow for a given reaction.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00253">engine_multiscale.cpp:253</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a7bfb4e6fec2f337a1dea69e3d4f1fc82"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a7bfb4e6fec2f337a1dea69e3d4f1fc82">gridfire::MultiscalePartitioningEngineView::getScreeningModel</a></div><divclass="ttdeci">screening::ScreeningType getScreeningModel() const override</div><divclass="ttdoc">Gets the current electron screening model.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00408">engine_multiscale.cpp:408</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a7d26945df5395b9317552a3989c42d1c"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a7d26945df5395b9317552a3989c42d1c">gridfire::MultiscalePartitioningEngineView::partitionNetwork</a></div><divclass="ttdeci">void partitionNetwork(const std::vector< double >&Y, double T9, double rho)</div><divclass="ttdoc">Partitions the network into dynamic and algebraic (QSE) groups based on timescales.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00438">engine_multiscale.cpp:438</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a7d357c775dcbb253a4001d172805380a"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a7d357c775dcbb253a4001d172805380a">gridfire::MultiscalePartitioningEngineView::m_logger</a></div><divclass="ttdeci">quill::Logger * m_logger</div><divclass="ttdoc">Logger instance for logging messages.</div><divclass="ttdef"><b>Definition</b><ahref="#l00910">engine_multiscale.h:910</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_a91d32b7197fcb27ee697d5bfde960f3f"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#a91d32b7197fcb27ee697d5bfde960f3f">gridfire::MultiscalePartitioningEngineView::getSpeciesIndex</a></div><divclass="ttdeci">int getSpeciesIndex(const fourdst::atomic::Species &species) const override</div><divclass="ttdoc">Gets the index of a species in the full network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00846">engine_multiscale.cpp:846</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_aa38c367ef3c74d012ccd10521cd5a727"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#aa38c367ef3c74d012ccd10521cd5a727">gridfire::MultiscalePartitioningEngineView::getSpeciesDestructionTimescales</a></div><divclass="ttdeci">std::expected< std::unordered_map< fourdst::atomic::Species, double >, expectations::StaleEngineError > getSpeciesDestructionTimescales(const std::vector< double >&Y, double T9, double rho) const override</div><divclass="ttdoc">Computes destruction timescales for all species in the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00326">engine_multiscale.cpp:326</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_aa81057b96cf46986151a5e8ef99a017a"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#aa81057b96cf46986151a5e8ef99a017a">gridfire::MultiscalePartitioningEngineView::m_cacheStats</a></div><divclass="ttdeci">CacheStats m_cacheStats</div><divclass="ttdoc">Statistics for the QSE abundance cache.</div><divclass="ttdef"><b>Definition</b><ahref="#l00957">engine_multiscale.h:957</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_aada497e8df74a295fdf5df7d7cdf64e0"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#aada497e8df74a295fdf5df7d7cdf64e0">gridfire::MultiscalePartitioningEngineView::mapNetInToMolarAbundanceVector</a></div><divclass="ttdeci">std::vector< double > mapNetInToMolarAbundanceVector(const NetIn &netIn) const override</div><divclass="ttdoc">Maps a NetIn struct to a molar abundance vector for the full network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00768">engine_multiscale.cpp:768</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_aae0865e361dfeb23984d70409fdd9f39"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#aae0865e361dfeb23984d70409fdd9f39">gridfire::MultiscalePartitioningEngineView::buildConnectivityGraph</a></div><divclass="ttdeci">std::unordered_map< size_t, std::vector< size_t >> buildConnectivityGraph(const std::unordered_set< size_t >&fast_reaction_indices) const</div><divclass="ttdoc">Builds a connectivity graph from a set of fast reaction indices.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_abe76a46784b1ebc8ad67a9eec40d369a"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#abe76a46784b1ebc8ad67a9eec40d369a">gridfire::MultiscalePartitioningEngineView::generateStoichiometryMatrix</a></div><divclass="ttdeci">void generateStoichiometryMatrix() override</div><divclass="ttdoc">Generates the stoichiometry matrix for the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00242">engine_multiscale.cpp:242</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_ac961484383e86d9712a424728e068633"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#ac961484383e86d9712a424728e068633">gridfire::MultiscalePartitioningEngineView::getJacobianMatrixEntry</a></div><divclass="ttdeci">double getJacobianMatrixEntry(int i_full, int j_full) const override</div><divclass="ttdoc">Gets an entry from the previously generated Jacobian matrix.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00228">engine_multiscale.cpp:228</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_acb5fa7f03cd89b8c1b6b9ffdf3abb12e"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#acb5fa7f03cd89b8c1b6b9ffdf3abb12e">gridfire::MultiscalePartitioningEngineView::setNetworkReactions</a></div><divclass="ttdeci">void setNetworkReactions(const reaction::LogicalReactionSet &reactions) override</div><divclass="ttdoc">Sets the set of logical reactions in the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00290">engine_multiscale.cpp:290</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_acdf5ad8765290ea2b78170235aea391d"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#acdf5ad8765290ea2b78170235aea391d">gridfire::MultiscalePartitioningEngineView::generateJacobianMatrix</a></div><divclass="ttdeci">void generateJacobianMatrix(const std::vector< double >&Y_full, double T9, double rho) const override</div><divclass="ttdoc">Generates the Jacobian matrix for the current state.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00204">engine_multiscale.cpp:204</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_acff59a15abac30eee16e9fa7b355fb18"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#acff59a15abac30eee16e9fa7b355fb18">gridfire::MultiscalePartitioningEngineView::exportToDot</a></div><divclass="ttdeci">void exportToDot(const std::string &filename, const std::vector< double >&Y, const double T9, const double rho) const</div><divclass="ttdoc">Exports the network to a DOT file for visualization.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00558">engine_multiscale.cpp:558</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_ad4d29ee55f89384807616d1068797067"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#ad4d29ee55f89384807616d1068797067">gridfire::MultiscalePartitioningEngineView::partitionByTimescale</a></div><divclass="ttdeci">std::vector< std::vector< size_t >> partitionByTimescale(const std::vector< double >&Y_full, double T9, double rho) const</div><divclass="ttdoc">Partitions the network by timescale.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00850">engine_multiscale.cpp:850</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_ad751f2c1306895ee74a61f2071ca96eb"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#ad751f2c1306895ee74a61f2071ca96eb">gridfire::MultiscalePartitioningEngineView::getNetworkReactions</a></div><divclass="ttdeci">const reaction::LogicalReactionSet & getNetworkReactions() const override</div><divclass="ttdoc">Gets the set of logical reactions in the network.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00286">engine_multiscale.cpp:286</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_ae7847959fc5af2b83f5446dd73567b46"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#ae7847959fc5af2b83f5446dd73567b46">gridfire::MultiscalePartitioningEngineView::isStale</a></div><divclass="ttdeci">bool isStale(const NetIn &netIn) override</div><divclass="ttdoc">Checks if the engine's internal state is stale relative to the provided conditions.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l00390">engine_multiscale.cpp:390</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html_aec6126b5c4a397d090790d7b75f9f70f"><divclass="ttname"><ahref="classgridfire_1_1_multiscale_partitioning_engine_view.html#aec6126b5c4a397d090790d7b75f9f70f">gridfire::MultiscalePartitioningEngineView::m_dynamic_species</a></div><divclass="ttdeci">std::vector< fourdst::atomic::Species > m_dynamic_species</div><divclass="ttdoc">The simplified set of species presented to the solver (the "slow" species).</div><divclass="ttdef"><b>Definition</b><ahref="#l00922">engine_multiscale.h:922</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1reaction_1_1_reaction_html"><divclass="ttname"><ahref="classgridfire_1_1reaction_1_1_reaction.html">gridfire::reaction::Reaction</a></div><divclass="ttdoc">Represents a single nuclear reaction from a specific data source.</div><divclass="ttdef"><b>Definition</b><ahref="reaction_8h_source.html#l00072">reaction.h:72</a></div></div>
<divclass="ttc"id="aengine__abstract_8h_html"><divclass="ttname"><ahref="engine__abstract_8h.html">engine_abstract.h</a></div><divclass="ttdoc">Abstract interfaces for reaction network engines in GridFire.</div></div>
<divclass="ttc"id="aengine__view__abstract_8h_html"><divclass="ttname"><ahref="engine__view__abstract_8h.html">engine_view_abstract.h</a></div><divclass="ttdoc">Abstract interfaces for engine "views" in GridFire.</div></div>
<divclass="ttc"id="anamespacegridfire_1_1reaction_html_aa86f08712565f278adacc7cd2361eb31"><divclass="ttname"><ahref="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31">gridfire::reaction::LogicalReactionSet</a></div><divclass="ttdeci">TemplatedReactionSet< LogicalReaction > LogicalReactionSet</div><divclass="ttdoc">A set of logical reactions.</div><divclass="ttdef"><b>Definition</b><ahref="reaction_8h_source.html#l00563">reaction.h:563</a></div></div>
<divclass="ttc"id="anamespacegridfire_1_1screening_html_aa82aafbc4f8c28d0a75b60798e3a7d25"><divclass="ttname"><ahref="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a></div><divclass="ttdeci">ScreeningType</div><divclass="ttdoc">Enumerates the available plasma screening models.</div><divclass="ttdef"><b>Definition</b><ahref="screening__types_8h_source.html#l00015">screening_types.h:15</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html">gridfire::MultiscalePartitioningEngineView::CacheStats</a></div><divclass="ttdoc">Struct for tracking cache statistics.</div><divclass="ttdef"><b>Definition</b><ahref="#l00822">engine_multiscale.h:822</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_a0c3bd8d5918e344657227a09cd7e39a5"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#a0c3bd8d5918e344657227a09cd7e39a5">gridfire::MultiscalePartitioningEngineView::CacheStats::m_hit</a></div><divclass="ttdeci">size_t m_hit</div><divclass="ttdoc">Total number of cache hits.</div><divclass="ttdef"><b>Definition</b><ahref="#l00848">engine_multiscale.h:848</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_a5df4f2c27e9eaa781c972a8c9b595787"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#a5df4f2c27e9eaa781c972a8c9b595787">gridfire::MultiscalePartitioningEngineView::CacheStats::misses</a></div><divclass="ttdeci">size_t misses(const operators op=operators::All) const</div><divclass="ttdoc">Gets the number of misses for a specific operator or all operators.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01636">engine_multiscale.cpp:1636</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_a5eb642e161ffb5500ccc1e412849ee5e"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#a5eb642e161ffb5500ccc1e412849ee5e">gridfire::MultiscalePartitioningEngineView::CacheStats::hit</a></div><divclass="ttdeci">void hit(const operators op=operators::Other)</div><divclass="ttdoc">Increments the hit counter for a given operator.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01612">engine_multiscale.cpp:1612</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_a73ca615753553f4a85160bd9f166da5b"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#a73ca615753553f4a85160bd9f166da5b">gridfire::MultiscalePartitioningEngineView::CacheStats::m_miss</a></div><divclass="ttdeci">size_t m_miss</div><divclass="ttdoc">Total number of cache misses.</div><divclass="ttdef"><b>Definition</b><ahref="#l00852">engine_multiscale.h:852</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_aaf8b925a169a732c14f4451a33451f51"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#aaf8b925a169a732c14f4451a33451f51">gridfire::MultiscalePartitioningEngineView::CacheStats::hits</a></div><divclass="ttdeci">size_t hits(const operators op=operators::All) const</div><divclass="ttdoc">Gets the number of hits for a specific operator or all operators.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01629">engine_multiscale.cpp:1629</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_ac18229250c4c160aada96e19325faa29"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#ac18229250c4c160aada96e19325faa29">gridfire::MultiscalePartitioningEngineView::CacheStats::m_operatorHits</a></div><divclass="ttdeci">std::map< operators,size_t > m_operatorHits</div><divclass="ttdoc">Map from operators to the number of cache hits for that operator.</div><divclass="ttdef"><b>Definition</b><ahref="#l00857">engine_multiscale.h:857</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_ac55fb580dd4b9763cefe4612555b03f3"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#ac55fb580dd4b9763cefe4612555b03f3">gridfire::MultiscalePartitioningEngineView::CacheStats::miss</a></div><divclass="ttdeci">void miss(const operators op=operators::Other)</div><divclass="ttdoc">Increments the miss counter for a given operator.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01620">engine_multiscale.cpp:1620</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_afb930f4472f4bb713f0b606194762c6f"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#afb930f4472f4bb713f0b606194762c6f">gridfire::MultiscalePartitioningEngineView::CacheStats::operatorsNameMap</a></div><divclass="ttdeci">std::map< operators,std::string > operatorsNameMap</div><divclass="ttdoc">Map from operators to their string names for logging.</div><divclass="ttdef"><b>Definition</b><ahref="#l00836">engine_multiscale.h:836</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats_html_afc5299ebf09f9b208f65619012902b77"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_cache_stats.html#afc5299ebf09f9b208f65619012902b77">gridfire::MultiscalePartitioningEngineView::CacheStats::m_operatorMisses</a></div><divclass="ttdeci">std::map< operators,size_t > m_operatorMisses</div><divclass="ttdoc">Map from operators to the number of cache misses for that operator.</div><divclass="ttdef"><b>Definition</b><ahref="#l00869">engine_multiscale.h:869</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_a0adf1074b5e6ba448cedff7563c450d0"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#a0adf1074b5e6ba448cedff7563c450d0">gridfire::MultiscalePartitioningEngineView::EigenFunctor::inputs</a></div><divclass="ttdeci">int inputs() const</div><divclass="ttdoc">Gets the number of input values to the functor (size of the variable vector).</div><divclass="ttdef"><b>Definition</b><ahref="#l00797">engine_multiscale.h:797</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_a3bc901d2d8234d1f61e94d0fe0777f7d"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#a3bc901d2d8234d1f61e94d0fe0777f7d">gridfire::MultiscalePartitioningEngineView::EigenFunctor::m_Y_full_initial</a></div><divclass="ttdeci">const std::vector< double >& m_Y_full_initial</div><divclass="ttdoc">Initial abundances of all species in the full network.</div><divclass="ttdef"><b>Definition</b><ahref="#l00749">engine_multiscale.h:749</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_a4dc013f4fb9d93b38ef601741dbe4d4c"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#a4dc013f4fb9d93b38ef601741dbe4d4c">gridfire::MultiscalePartitioningEngineView::EigenFunctor::m_rho</a></div><divclass="ttdeci">const double m_rho</div><divclass="ttdoc">Density in g/cm^3.</div><divclass="ttdef"><b>Definition</b><ahref="#l00757">engine_multiscale.h:757</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_a4eb11e99dc2a7e038d815bf7c6bd0be8"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#a4eb11e99dc2a7e038d815bf7c6bd0be8">gridfire::MultiscalePartitioningEngineView::EigenFunctor::m_qse_solve_indices</a></div><divclass="ttdeci">const std::vector< size_t >& m_qse_solve_indices</div><divclass="ttdoc">Indices of the species to solve for in the QSE group.</div><divclass="ttdef"><b>Definition</b><ahref="#l00745">engine_multiscale.h:745</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_a6d13bb5294f5dae7e2eb1d26720f944e"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#a6d13bb5294f5dae7e2eb1d26720f944e">gridfire::MultiscalePartitioningEngineView::EigenFunctor::values</a></div><divclass="ttdeci">int values() const</div><divclass="ttdoc">Gets the number of output values from the functor (size of the residual vector).</div><divclass="ttdef"><b>Definition</b><ahref="#l00792">engine_multiscale.h:792</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_a7f65ed75e9dca9b6e1160ad297e07678"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#a7f65ed75e9dca9b6e1160ad297e07678">gridfire::MultiscalePartitioningEngineView::EigenFunctor::m_T9</a></div><divclass="ttdeci">const double m_T9</div><divclass="ttdoc">Temperature in units of 10^9 K.</div><divclass="ttdef"><b>Definition</b><ahref="#l00753">engine_multiscale.h:753</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_a8dd40205db7aef439b6f04289ca5dfd5"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#a8dd40205db7aef439b6f04289ca5dfd5">gridfire::MultiscalePartitioningEngineView::EigenFunctor::m_Y_scale</a></div><divclass="ttdeci">const Eigen::VectorXd & m_Y_scale</div><divclass="ttdoc">Scaling factors for the species abundances, used to improve solver stability.</div><divclass="ttdef"><b>Definition</b><ahref="#l00761">engine_multiscale.h:761</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_aa65aec7175a56a31887b8b8fca5434bc"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#aa65aec7175a56a31887b8b8fca5434bc">gridfire::MultiscalePartitioningEngineView::EigenFunctor::df</a></div><divclass="ttdeci">int df(const InputType &v_qse, JacobianType &J_qse) const</div><divclass="ttdoc">Evaluates the Jacobian of the functor, J_qse = d(f_qse)/d(v_qse).</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01525">engine_multiscale.cpp:1525</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor_html_af2acc70592e5545f9e8f0a33e10ffdc7"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html#af2acc70592e5545f9e8f0a33e10ffdc7">gridfire::MultiscalePartitioningEngineView::EigenFunctor::m_view</a></div><divclass="ttdeci">MultiscalePartitioningEngineView * m_view</div><divclass="ttdoc">Pointer to the MultiscalePartitioningEngineView instance.</div><divclass="ttdef"><b>Definition</b><ahref="#l00741">engine_multiscale.h:741</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html">gridfire::MultiscalePartitioningEngineView::QSEGroup</a></div><divclass="ttdoc">Struct representing a QSE group.</div><divclass="ttdef"><b>Definition</b><ahref="#l00677">engine_multiscale.h:677</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_a2d09ce96d0d7cfe8f0aeb01f22f07a06"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#a2d09ce96d0d7cfe8f0aeb01f22f07a06">gridfire::MultiscalePartitioningEngineView::QSEGroup::operator<</a></div><divclass="ttdeci">bool operator<(const QSEGroup &other) const</div><divclass="ttdoc">Less-than operator for QSEGroup, used for sorting.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01600">engine_multiscale.cpp:1600</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_a3840e7faa591b7c3006b27ae3df9e21e"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#a3840e7faa591b7c3006b27ae3df9e21e">gridfire::MultiscalePartitioningEngineView::QSEGroup::species_indices</a></div><divclass="ttdeci">std::set< size_t > species_indices</div><divclass="ttdoc">Indices of all species in this group.</div><divclass="ttdef"><b>Definition</b><ahref="#l00678">engine_multiscale.h:678</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_a66e6677638af72e4db75f5518dc867f9"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#a66e6677638af72e4db75f5518dc867f9">gridfire::MultiscalePartitioningEngineView::QSEGroup::mean_timescale</a></div><divclass="ttdeci">double mean_timescale</div><divclass="ttdoc">Mean timescale of the group.</div><divclass="ttdef"><b>Definition</b><ahref="#l00682">engine_multiscale.h:682</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_a77d5ebb3b85649bddab09e5ee7fac50a"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#a77d5ebb3b85649bddab09e5ee7fac50a">gridfire::MultiscalePartitioningEngineView::QSEGroup::operator></a></div><divclass="ttdeci">bool operator>(const QSEGroup &other) const</div><divclass="ttdoc">Greater-than operator for QSEGroup.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01604">engine_multiscale.cpp:1604</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_a82c2256254ca88e141672891e5228f88"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#a82c2256254ca88e141672891e5228f88">gridfire::MultiscalePartitioningEngineView::QSEGroup::operator==</a></div><divclass="ttdeci">bool operator==(const QSEGroup &other) const</div><divclass="ttdoc">Equality operator for QSEGroup.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01596">engine_multiscale.cpp:1596</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_a997efc7ef138efb0e60e60790fcce681"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#a997efc7ef138efb0e60e60790fcce681">gridfire::MultiscalePartitioningEngineView::QSEGroup::seed_indices</a></div><divclass="ttdeci">std::set< size_t > seed_indices</div><divclass="ttdoc">Indices of dynamic species in this group.</div><divclass="ttdef"><b>Definition</b><ahref="#l00681">engine_multiscale.h:681</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_ab11be6e7afeef1ac9e4314ad8345e0b0"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#ab11be6e7afeef1ac9e4314ad8345e0b0">gridfire::MultiscalePartitioningEngineView::QSEGroup::algebraic_indices</a></div><divclass="ttdeci">std::set< size_t > algebraic_indices</div><divclass="ttdoc">Indices of algebraic species in this group.</div><divclass="ttdef"><b>Definition</b><ahref="#l00680">engine_multiscale.h:680</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_ac81f994476d580a92686e7f84b726c2a"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#ac81f994476d580a92686e7f84b726c2a">gridfire::MultiscalePartitioningEngineView::QSEGroup::operator!=</a></div><divclass="ttdeci">bool operator!=(const QSEGroup &other) const</div><divclass="ttdoc">Inequality operator for QSEGroup.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01608">engine_multiscale.cpp:1608</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group_html_af8dc75a5e022510ec13da0be8c53aa06"><divclass="ttname"><ahref="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html#af8dc75a5e022510ec13da0be8c53aa06">gridfire::MultiscalePartitioningEngineView::QSEGroup::is_in_equilibrium</a></div><divclass="ttdeci">bool is_in_equilibrium</div><divclass="ttdoc">Flag set by flux analysis.</div><divclass="ttdef"><b>Definition</b><ahref="#l00679">engine_multiscale.h:679</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_priming_report_html"><divclass="ttname"><ahref="structgridfire_1_1_priming_report.html">gridfire::PrimingReport</a></div><divclass="ttdoc">Captures the result of a network priming operation.</div><divclass="ttdef"><b>Definition</b><ahref="reporting_8h_source.html#l00067">reporting.h:67</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_config_html"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_config.html">gridfire::QSECacheConfig</a></div><divclass="ttdoc">Configuration struct for the QSE cache.</div><divclass="ttdef"><b>Definition</b><ahref="#l00027">engine_multiscale.h:27</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_config_html_a31d3e8d1b83109524c94641ce06fa351"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_config.html#a31d3e8d1b83109524c94641ce06fa351">gridfire::QSECacheConfig::Yi_tol</a></div><divclass="ttdeci">double Yi_tol</div><divclass="ttdoc">Absolute tolerance to produce the same hash for species abundances.</div><divclass="ttdef"><b>Definition</b><ahref="#l00030">engine_multiscale.h:30</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_config_html_a57b7ca68463aa9b78007e5cf35ebf7ce"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_config.html#a57b7ca68463aa9b78007e5cf35ebf7ce">gridfire::QSECacheConfig::rho_tol</a></div><divclass="ttdeci">double rho_tol</div><divclass="ttdoc">Absolute tolerance to produce the same hash for rho.</div><divclass="ttdef"><b>Definition</b><ahref="#l00029">engine_multiscale.h:29</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_config_html_af4dca2b24aa364fbbf6e99eb26774f40"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_config.html#af4dca2b24aa364fbbf6e99eb26774f40">gridfire::QSECacheConfig::T9_tol</a></div><divclass="ttdeci">double T9_tol</div><divclass="ttdoc">Absolute tolerance to produce the same hash for T9.</div><divclass="ttdef"><b>Definition</b><ahref="#l00028">engine_multiscale.h:28</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_key_html"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_key.html">gridfire::QSECacheKey</a></div><divclass="ttdoc">Key struct for the QSE abundance cache.</div><divclass="ttdef"><b>Definition</b><ahref="#l00047">engine_multiscale.h:47</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_key_html_a99772155522bf6cbe08313565444a39d"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_key.html#a99772155522bf6cbe08313565444a39d">gridfire::QSECacheKey::hash</a></div><divclass="ttdeci">size_t hash() const</div><divclass="ttdoc">Computes the hash value for this key.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01567">engine_multiscale.cpp:1567</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_key_html_ab860b40d4ccb3c16a962d96bc767ff05"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_key.html#ab860b40d4ccb3c16a962d96bc767ff05">gridfire::QSECacheKey::m_hash</a></div><divclass="ttdeci">std::size_t m_hash</div><divclass="ttdoc">Precomputed hash value for this key.</div><divclass="ttdef"><b>Definition</b><ahref="#l00052">engine_multiscale.h:52</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_key_html_ac7e043ac0254936602c37a7e6a1391b3"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_key.html#ac7e043ac0254936602c37a7e6a1391b3">gridfire::QSECacheKey::bin</a></div><divclass="ttdeci">static long bin(double value, double tol)</div><divclass="ttdoc">Converts a value to a discrete bin based on a tolerance.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01588">engine_multiscale.cpp:1588</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_key_html_acfd92321fda5bc0ed1d2e803cbae6a81"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_key.html#acfd92321fda5bc0ed1d2e803cbae6a81">gridfire::QSECacheKey::operator==</a></div><divclass="ttdeci">bool operator==(const QSECacheKey &other) const</div><divclass="ttdoc">Equality operator for QSECacheKey.</div><divclass="ttdef"><b>Definition</b><ahref="engine__multiscale_8cpp_source.html#l01592">engine_multiscale.cpp:1592</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_q_s_e_cache_key_html_afa8f157d3dd3505276294815357b028a"><divclass="ttname"><ahref="structgridfire_1_1_q_s_e_cache_key.html#afa8f157d3dd3505276294815357b028a">gridfire::QSECacheKey::m_Y</a></div><divclass="ttdeci">std::vector< double > m_Y</div><divclass="ttdoc">Note that the ordering of Y must match the dynamic species indices in the view.</div><divclass="ttdef"><b>Definition</b><ahref="#l00050">engine_multiscale.h:50</a></div></div>
<divclass="ttc"id="astructstd_1_1hash_3_01gridfire_1_1_q_s_e_cache_key_01_4_html_aa947f9796cbee2c9473ba455f7e69ec3"><divclass="ttname"><ahref="structstd_1_1hash_3_01gridfire_1_1_q_s_e_cache_key_01_4.html#aa947f9796cbee2c9473ba455f7e69ec3">std::hash< gridfire::QSECacheKey >::operator()</a></div><divclass="ttdeci">size_t operator()(const gridfire::QSECacheKey &key) const noexcept</div><divclass="ttdoc">Computes the hash of a QSECacheKey for use in std::unordered_map.</div><divclass="ttdef"><b>Definition</b><ahref="#l00115">engine_multiscale.h:115</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<divid="nav-path"class="navpath"><!-- id is needed for treeview function! -->
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.13.2 </li>