<ahref="#pub-methods">Public Member Functions</a>|
<ahref="classgridfire_1_1_engine-members.html">List of all members</a></div>
<divclass="headertitle"><divclass="title">gridfire::Engine Class Reference<spanclass="mlabels"><spanclass="mlabel abstract">abstract</span></span></div></div>
</div><!--header-->
<divclass="contents">
<p>Abstract base class for a reaction network engine.
<areahref="classgridfire_1_1_dynamic_engine.html"title="Abstract class for engines supporting Jacobian and stoichiometry operations."alt="gridfire::DynamicEngine"shape="rect"coords="512,56,758,80"/>
<areahref="classgridfire_1_1_adaptive_engine_view.html"title="An engine view that dynamically adapts the reaction network based on runtime conditions."alt="gridfire::AdaptiveEngineView"shape="rect"coords="256,112,502,136"/>
<areahref="classgridfire_1_1_graph_engine.html"title="A reaction network engine that uses a graph-based representation."alt="gridfire::GraphEngine"shape="rect"coords="768,112,1014,136"/>
<areahref="classgridfire_1_1_multiscale_partitioning_engine_view.html"title="An engine view that partitions the reaction network into multiple groups based on timescales."alt="gridfire::MultiscalePartitioningEngineView"shape="rect"coords="1024,112,1270,136"/>
<areahref="classgridfire_1_1_network_priming_engine_view.html"title="Provides a view of a DynamicEngine filtered to reactions involving a specified priming species."alt="gridfire::NetworkPrimingEngineView"shape="rect"coords="640,168,886,192"/>
<trclass="memdesc:a020e1b493d6964cafdad08fde697ceb3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the list of species in the network. <br/></td></tr>
<trclass="memdesc:a89f714d19b84a93a004a7afbb487a6cb"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Calculate the right-hand side (dY/dt) and energy generation. <br/></td></tr>
<divclass="textblock"><p>Abstract base class for a reaction network engine. </p>
<p>This class defines the minimal interface for a reaction network engine, which is responsible for evaluating the right-hand side (dY/dt) and energy generation for a given set of abundances, temperature, and density.</p>
<p>Intended usage: Derive from this class to implement a concrete engine for a specific network or integration method.</p>
<divclass="ttc"id="aclassgridfire_1_1_engine_html"><divclass="ttname"><ahref="classgridfire_1_1_engine.html">gridfire::Engine</a></div><divclass="ttdoc">Abstract base class for a reaction network engine.</div><divclass="ttdef"><b>Definition</b> engine_abstract.h:84</div></div>
</div><!-- fragment --></div><h2class="groupheader">Constructor & Destructor Documentation</h2>
<p>Calculate the right-hand side (dY/dt) and energy generation. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">Y</td><td>Vector of current abundances for all species. </td></tr>
<tr><tdclass="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
<tr><tdclass="paramname">rho</td><td>Density in g/cm^3. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><aclass="el"href="structgridfire_1_1_step_derivatives.html"title="Structure holding derivatives and energy generation for a network step.">StepDerivatives<double></a> containing dY/dt and energy generation rate.</dd></dl>
<p>This function must be implemented by derived classes to compute the time derivatives of all species and the specific nuclear energy generation rate for the current state. </p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#af703ad17ea65ffff4b75bf8ccc00e5d5">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a4b0d71367cb1d4c06bcd01251bbeb60d">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#aaed3743a52246b0f7bf03995e1c12081">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a716d7357e944e8394d8b8e0b5e7625eb">gridfire::MultiscalePartitioningEngineView</a>, <aclass="el"href="class_py_dynamic_engine.html#a5b7f0cfe327c634ec125303256de8b9a">PyDynamicEngine</a>, and <aclass="el"href="class_py_engine.html#a2f92602ecf210414b46838fc0a9ae26d">PyEngine</a>.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a1a55f9748c45af6f13e16a6b6ceaa211">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a696f74f5135bbd62169b6577f92fee80">gridfire::MultiscalePartitioningEngineView</a>, <aclass="el"href="class_py_dynamic_engine.html#afc745e7ab5da5d8b3cf916044515cd7d">PyDynamicEngine</a>, and <aclass="el"href="class_py_engine.html#a2d240423899e039c2ca688e96f8af1f2">PyEngine</a>.</p>
<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>