<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="201,56,392,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="0,112,191,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="402,112,593,136"/>
<trclass="memdesc:a020e1b493d6964cafdad08fde697ceb3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the list of species in the network. <br/></td></tr>
<trclass="memdesc:ac8b56124b6b49cd1802addb74a9a47c2"><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><ahref="engine__abstract_8h_source.html#l00075">engine_abstract.h:75</a></div></div>
<pclass="definition">Definition at line <aclass="el"href="engine__abstract_8h_source.html#l00075">75</a> of file <aclass="el"href="engine__abstract_8h_source.html">engine_abstract.h</a>.</p>
<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#a7b276b7210be588263395bdb0497fc6d">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_file_defined_engine_view.html#a2c1d88b06568f9ea4c65e794d012ebfb">gridfire::FileDefinedEngineView</a>, and <aclass="el"href="classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf">gridfire::GraphEngine</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_file_defined_engine_view.html#a8bb583e039b49608272997ed2d3387fa">gridfire::FileDefinedEngineView</a>, and <aclass="el"href="classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767">gridfire::GraphEngine</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>