<ahref="#pub-methods">Public Member Functions</a>|
<ahref="classgridfire_1_1_dynamic_engine-members.html">List of all members</a></div>
<divclass="headertitle"><divclass="title">gridfire::DynamicEngine Class Reference<spanclass="mlabels"><spanclass="mlabel abstract">abstract</span></span></div></div>
</div><!--header-->
<divclass="contents">
<p>Abstract class for engines supporting Jacobian and stoichiometry operations.
<areahref="classgridfire_1_1_engine.html"title="Abstract base class for a reaction network engine."alt="gridfire::Engine"shape="rect"coords="512,0,758,24"/>
<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:a29bdd4231c29c3a4e524ad6ca66a127d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Generate the Jacobian matrix for the current state. <br/></td></tr>
<trclass="memitem:a05d15ff35a6bc06a2fa7eda19838bd07"id="r_a05d15ff35a6bc06a2fa7eda19838bd07"><tdclass="memItemLeft"align="right"valign="top">virtual double </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="#a05d15ff35a6bc06a2fa7eda19838bd07">getJacobianMatrixEntry</a> (int i, int j) const =0</td></tr>
<trclass="memdesc:a05d15ff35a6bc06a2fa7eda19838bd07"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get an entry from the previously generated Jacobian matrix. <br/></td></tr>
<trclass="memdesc:aeae6d84ef74d88fd2cdf07b82e98a16f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Generate the stoichiometry matrix for the network. <br/></td></tr>
<trclass="memitem:afa108dd5227dbb1045e90d7b3bd8b84f"id="r_afa108dd5227dbb1045e90d7b3bd8b84f"><tdclass="memItemLeft"align="right"valign="top">virtual int </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="#afa108dd5227dbb1045e90d7b3bd8b84f">getStoichiometryMatrixEntry</a> (int speciesIndex, int reactionIndex) const =0</td></tr>
<trclass="memdesc:afa108dd5227dbb1045e90d7b3bd8b84f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get an entry from the stoichiometry matrix. <br/></td></tr>
<trclass="memdesc:a6633b1757c41dd9e1c397333f4f9e785"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Calculate the molar reaction flow for a given reaction. <br/></td></tr>
<trclass="memdesc:ad2a82099edbb374bbb2c9509ccdb1037"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the set of logical reactions in the network. <br/></td></tr>
<trclass="memdesc:a6772ac384b4c3d3e91712041e4aaa813"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Compute timescales for all species in the network. <br/></td></tr>
<trclass="memdesc:aa799ff785e7e79bf35b11efd55f6282a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Update the internal state of the engine. <br/></td></tr>
<trclass="memdesc:a3fb44b6f55563a2f590f31916528f2bd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the electron screening model. <br/></td></tr>
<trclass="memdesc:a7a203f8e0f3a6744ddc912dfbcfdbcc0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the current electron screening model. <br/></td></tr>
<trclass="memdesc:ad3d56a8b9161b9cc7f4da51f6bf7e8c9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the index of a species in the network. <br/></td></tr>
<trclass="memdesc:a55f1b7e5ebe2840e1d7c54665ca5411a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Map a <aclass="el"href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br/></td></tr>
<trclass="memdesc:a21c34f59c080a853fafa38a25175124e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Prime the engine with initial conditions. <br/></td></tr>
<trclass="memdesc:a04317b66ef14d519264bc30ee69f5bf9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the depth of the network. <br/></td></tr>
<trclass="memdesc:a4e2c8b896661b7a89beffe0066cb21cf"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Rebuild the network with a specified depth. <br/></td></tr>
<trclass="inherit_header pub_methods_classgridfire_1_1_engine"><tdcolspan="2"onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><imgsrc="closed.png"alt="-"/> Public Member Functions inherited from <aclass="el"href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
<trclass="memdesc:a020e1b493d6964cafdad08fde697ceb3 inherit pub_methods_classgridfire_1_1_engine"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the list of species in the network. <br/></td></tr>
<trclass="memdesc:a89f714d19b84a93a004a7afbb487a6cb inherit pub_methods_classgridfire_1_1_engine"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Calculate the right-hand side (dY/dt) and energy generation. <br/></td></tr>
<divclass="textblock"><p>Abstract class for engines supporting Jacobian and stoichiometry operations. </p>
<p>Extends <aclass="el"href="classgridfire_1_1_engine.html"title="Abstract base class for a reaction network engine.">Engine</a> with additional methods for:</p><ul>
<li>Generating and accessing the Jacobian matrix (for implicit solvers).</li>
<li>Generating and accessing the stoichiometry matrix.</li>
<li>Calculating molar reaction flows for individual reactions.</li>
<li>Accessing the set of logical reactions in the network.</li>
<li>Computing timescales for each species.</li>
</ul>
<p>Intended usage: Derive from this class to implement engines that support advanced solver features such as implicit integration, sensitivity analysis, QSE (Quasi-Steady-State Equilibrium) handling, and more. </p>
</div><h2class="groupheader">Member Function Documentation</h2>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a142725470f96cba3edb48a29f1264032">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a79eb9c108d694a27ec913ed0143aa044">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a6224f546ba66b1257506b1fc9f47195a">PyDynamicEngine</a>.</p>
<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>
<p>This method must compute and store the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state. The matrix can then be accessed via <aclass="el"href="#a05d15ff35a6bc06a2fa7eda19838bd07"title="Get an entry from the previously generated Jacobian matrix.">getJacobianMatrixEntry()</a>. </p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a03fc187d3d306b9058103b9522cbbaeb">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#ad25c722eaee1f28f8ed7b4d33a1f69ae">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#ad049a295e2bb0f3e97b76d5742875119">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#acdf5ad8765290ea2b78170235aea391d">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a5bd40c752db1badcd600797c9113121d">PyDynamicEngine</a>.</p>
<p>Reimplemented in <aclass="el"href="classgridfire_1_1_graph_engine.html#a9687eef88c97eeb7f8680acb230f8ac1">gridfire::GraphEngine</a>, and <aclass="el"href="class_py_dynamic_engine.html#aa0f1fd3f0c0185395193d1b6897d64c5">PyDynamicEngine</a>.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#ad07221be49ae1b5133c5b987dafac3b6">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#abe76a46784b1ebc8ad67a9eec40d369a">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a2066649ca11a869c054079ea12d8d0e9">PyDynamicEngine</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>The depth of the network, which may indicate the level of detail or complexity in the reaction network.</dd></dl>
<p>This method is intended to provide information about the network's structure, such as how many layers of reactions or species are present. It can be useful for diagnostics and understanding the network's complexity. </p>
<p>Reimplemented in <aclass="el"href="classgridfire_1_1_graph_engine.html#a166a5f4349580f9aa0b930afec73fcc4">gridfire::GraphEngine</a>, and <aclass="el"href="class_py_dynamic_engine.html#adba68716d832b6100e08d32fbc36f13c">PyDynamicEngine</a>.</p>
<p>The Jacobian must have been generated by <aclass="el"href="#a29bdd4231c29c3a4e524ad6ca66a127d"title="Generate the Jacobian matrix for the current state.">generateJacobianMatrix()</a> before calling this. </p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a273b175049f5ce7b9208e931ad139e1b">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#ac961484383e86d9712a424728e068633">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a1c888bbc0618f1ae02d9a53e45f3c159">PyDynamicEngine</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Reference to the <aclass="el"href="namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31"title="A set of logical reactions.">LogicalReactionSet</a> containing all reactions. </dd></dl>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#ae03b4f9afac03d4011a4d7cf0423535d">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#ad751f2c1306895ee74a61f2071ca96eb">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a5988cfba247631ba6c00795cafda9a38">PyDynamicEngine</a>.</p>
<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> screening_types.h:15</div></div>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a0ab1199f900a58f309c3c36532c9164f">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a3c657b82a0117118a4bb0ce7f624ae0c">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a697f2004e0d02c59e83c7890742d7c9a">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a7bfb4e6fec2f337a1dea69e3d4f1fc82">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#ab4cfdca5e15957c5cef75ffa6dedeee5">PyDynamicEngine</a>.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a522e78bce9ff062939572248d57f8cea">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a3d58e36ed8a6a0d82bb65e91090f7491">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#aef8f6bde24d27345067b71084330c7da">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#aa38c367ef3c74d012ccd10521cd5a727">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a020044829e0146427ed4830e5b02c4f3">PyDynamicEngine</a>.</p>
<p>Get the index of a species in the network. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">species</td><td>The species to look up.</td></tr>
</table>
</dd>
</dl>
<p>This method allows querying the index of a specific species in the engine's internal representation. It is useful for accessing species data efficiently. </p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a9055feb245524a5a9549ace935f059ff">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#abfee22688617ffe91c69be93049c89b3">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a914f6abc61805cddaebcb8f3cf470dda">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a91d32b7197fcb27ee697d5bfde960f3f">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a2ee1d745c1c21b9fcb652c96c42f1091">PyDynamicEngine</a>.</p>
<p>Compute timescales for all species in the network. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">Y</td><td>Vector of current abundances. </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>Map from Species to their characteristic timescales (s).</dd></dl>
<p>This method estimates the timescale for abundance change of each species, which can be used for timestep control, diagnostics, and reaction network culling. </p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a4e856d6d4d2fc220952bbb7e6b2f85d9">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#ac8daafabbc76f4b6811bede241a03d72">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a65f9f33cddb0bbd1da7c9d0cff23d581">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a560612347bbd5b7b380e990624d01105">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a02a4c86c9637a3c9c9ca8ddd82ecff22">PyDynamicEngine</a>.</p>
<p>Get an entry from the stoichiometry matrix. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">speciesIndex</td><td>Index of the species. </td></tr>
<tr><tdclass="paramname">reactionIndex</td><td>Index of the reaction. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>Stoichiometric coefficient for the species in the reaction.</dd></dl>
<p>The stoichiometry matrix must have been generated by <aclass="el"href="#aeae6d84ef74d88fd2cdf07b82e98a16f"title="Generate the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a>. </p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#afa2820971397114d788730cc33feefe2">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a510b920dea726aef859ac1f6d051807e">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#ab48ef6db18da20024aa563a91fa16f83">PyDynamicEngine</a>.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#ad268c9942655e5c9605148fe07718e88">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a7d9e738dd28efb4d6127de7379169c87">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#af04a9f8a629d6f6c58c477af0f1ab9e5">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#ae7847959fc5af2b83f5446dd73567b46">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a55bf19ed7534a312a36faf74753f7b14">PyDynamicEngine</a>.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a7d0237956bf3ec7230bc51d88e7f8019">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a72789c1c3379594b65b560da50192de2">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a27f3a928e1f6bbe7e847cffed6db729f">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#aada497e8df74a295fdf5df7d7cdf64e0">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#a61bb4b430fe740cfb2c24e5cc673e4ac">PyDynamicEngine</a>.</p>
<tr><tdclass="paramname">netIn</td><td>The input conditions for the network. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><aclass="el"href="structgridfire_1_1_priming_report.html"title="Captures the result of a network priming operation.">PrimingReport</a> containing information about the priming process.</dd></dl>
<p>This method is used to prepare the engine for calculations by setting up initial conditions, reactions, and species. It may involve compiling reaction rates, initializing internal data structures, and performing any necessary pre-computation. </p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a70005361262bc180d4417b608661e3c3">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a13033abd3b44904f98b58c93e22da460">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#ae7a371be61ab09b3fa4a93f05bd44e5e">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a05730ced13ac5331060ca011f0da6235">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#ac22a10412be6649bf379e6d61113c878">PyDynamicEngine</a>.</p>
<p>Rebuild the network with a specified depth. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">comp</td><td>The composition to rebuild the network with. </td></tr>
<tr><tdclass="paramname">depth</td><td>The desired depth of the network.</td></tr>
</table>
</dd>
</dl>
<p>This method is intended to allow dynamic adjustment of the network's depth, which may involve adding or removing species and reactions based on the specified depth. However, not all engines support this operation. </p>
<p>Reimplemented in <aclass="el"href="classgridfire_1_1_graph_engine.html#ad9d6c70ace5cbbf7f3aa7b31fce39490">gridfire::GraphEngine</a>, and <aclass="el"href="class_py_dynamic_engine.html#a3d30a9116825ab2c5c209bc2712126bc">PyDynamicEngine</a>.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a7b3a6b3ab0a52f0f84d2b142e74ea672">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a9736edfb7c9148b60de30d50c0d3530d">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a371ba0881d6903ddb2d586faa61805d0">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#acb5fa7f03cd89b8c1b6b9ffdf3abb12e">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#afd818c408c64d207e71b1a90426328d6">PyDynamicEngine</a>.</p>
<tr><tdclass="paramname">model</td><td>The type of screening model to use for reaction rate calculations.</td></tr>
</table>
</dd>
</dl>
<p>This method allows changing the screening model at runtime. Screening corrections account for the electrostatic shielding of nuclei by electrons, which affects reaction rates in dense stellar plasmas.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#abf2da57c83c3c4c635cb301f53088258">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a9bc768ca8ca59d442c0d05cb04e36d7c">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a1a0c0a0ade632eb10f0eecab828a059f">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#afa3abfd612033336a656f092721c14ac">PyDynamicEngine</a>.</p>
<tr><tdclass="paramname">netIn</td><td>A struct containing the current network input, such as temperature, density, and composition.</td></tr>
</table>
</dd>
</dl>
<p>This method is intended to be implemented by derived classes to update their internal state based on the provided network conditions. For example, an adaptive engine might use this to re-evaluate which reactions and species are active. For other engines that do not support manually updating, this method might do nothing.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#a2a7ecf985a326b4bea43e00cf9ee43dd">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#ae5762f395caea5381ec177507816b5ae">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_graph_engine.html#a5ac7cff23e70bd07ba7e510b753e2ab6">gridfire::GraphEngine</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a6bee75b5a6e508e6eebf83f0d48c50b8">gridfire::MultiscalePartitioningEngineView</a>, and <aclass="el"href="class_py_dynamic_engine.html#af8e6a8cd44f278535d7bcc9a896d6da8">PyDynamicEngine</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>