<ahref="engine__abstract_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="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="#l00121">engine_abstract.h:121</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_a05d15ff35a6bc06a2fa7eda19838bd07"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07">gridfire::DynamicEngine::getJacobianMatrixEntry</a></div><divclass="ttdeci">virtual double getJacobianMatrixEntry(int i, int j) const =0</div><divclass="ttdoc">Get an entry from the previously generated Jacobian matrix.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_a0a2fb3435ee3271ab9c806f225c61a7f"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f">gridfire::DynamicEngine::generateJacobianMatrix</a></div><divclass="ttdeci">virtual void generateJacobianMatrix(const std::vector< double >&Y, double T9, double rho)=0</div><divclass="ttdoc">Generate the Jacobian matrix for the current state.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_a3fb44b6f55563a2f590f31916528f2bd"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd">gridfire::DynamicEngine::setScreeningModel</a></div><divclass="ttdeci">virtual void setScreeningModel(screening::ScreeningType model)=0</div><divclass="ttdoc">Set the electron screening model.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_a5d8ba98b230d2849035ee2507728fa15"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15">gridfire::DynamicEngine::getSpeciesTimescales</a></div><divclass="ttdeci">virtual std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double >&Y, double T9, double rho) const =0</div><divclass="ttdoc">Compute timescales for all species in the network.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_a6633b1757c41dd9e1c397333f4f9e785"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785">gridfire::DynamicEngine::calculateMolarReactionFlow</a></div><divclass="ttdeci">virtual double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double >&Y, double T9, double rho) const =0</div><divclass="ttdoc">Calculate the molar reaction flow for a given reaction.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_a7a203f8e0f3a6744ddc912dfbcfdbcc0"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0">gridfire::DynamicEngine::getScreeningModel</a></div><divclass="ttdeci">virtual screening::ScreeningType getScreeningModel() const =0</div><divclass="ttdoc">Get the current electron screening model.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_acd500e1cd788df1dc105d28a20dc5f4f"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#acd500e1cd788df1dc105d28a20dc5f4f">gridfire::DynamicEngine::update</a></div><divclass="ttdeci">virtual void update(const NetIn &netIn)=0</div><divclass="ttdoc">Update the internal state of the engine.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_ad2a82099edbb374bbb2c9509ccdb1037"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037">gridfire::DynamicEngine::getNetworkReactions</a></div><divclass="ttdeci">virtual const reaction::LogicalReactionSet & getNetworkReactions() const =0</div><divclass="ttdoc">Get the set of logical reactions in the network.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_aeae6d84ef74d88fd2cdf07b82e98a16f"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f">gridfire::DynamicEngine::generateStoichiometryMatrix</a></div><divclass="ttdeci">virtual void generateStoichiometryMatrix()=0</div><divclass="ttdoc">Generate the stoichiometry matrix for the network.</div></div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html_afa108dd5227dbb1045e90d7b3bd8b84f"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f">gridfire::DynamicEngine::getStoichiometryMatrixEntry</a></div><divclass="ttdeci">virtual int getStoichiometryMatrixEntry(int speciesIndex, int reactionIndex) const =0</div><divclass="ttdoc">Get an entry from the stoichiometry matrix.</div></div>
<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="#l00075">engine_abstract.h:75</a></div></div>
<divclass="ttc"id="aclassgridfire_1_1_engine_html_a020e1b493d6964cafdad08fde697ceb3"><divclass="ttname"><ahref="classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3">gridfire::Engine::getNetworkSpecies</a></div><divclass="ttdeci">virtual const std::vector< fourdst::atomic::Species >& getNetworkSpecies() const =0</div><divclass="ttdoc">Get the list of species in the network.</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="aconceptgridfire_1_1_is_arithmetic_or_a_d_html"><divclass="ttname"><ahref="conceptgridfire_1_1_is_arithmetic_or_a_d.html">gridfire::IsArithmeticOrAD</a></div><divclass="ttdoc">Concept for types allowed in engine calculations.</div><divclass="ttdef"><b>Definition</b><ahref="#l00033">engine_abstract.h:33</a></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#l00557">reaction.h:557</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="areaction_8h_html"><divclass="ttname"><ahref="reaction_8h.html">reaction.h</a></div><divclass="ttdoc">Defines classes for representing and managing nuclear reactions.</div></div>
<divclass="ttc"id="astructgridfire_1_1_step_derivatives_html"><divclass="ttname"><ahref="structgridfire_1_1_step_derivatives.html">gridfire::StepDerivatives</a></div><divclass="ttdoc">Structure holding derivatives and energy generation for a network step.</div><divclass="ttdef"><b>Definition</b><ahref="#l00053">engine_abstract.h:53</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_step_derivatives_html_ab4aeb41be952c7b5844e1ee81fef9008"><divclass="ttname"><ahref="structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008">gridfire::StepDerivatives::nuclearEnergyGenerationRate</a></div><divclass="ttdeci">T nuclearEnergyGenerationRate</div><divclass="ttdoc">Specific energy generation rate (e.g., erg/g/s).</div><divclass="ttdef"><b>Definition</b><ahref="#l00055">engine_abstract.h:55</a></div></div>
<divclass="ttc"id="astructgridfire_1_1_step_derivatives_html_ae0de268b86c2404379409c4feae0b34d"><divclass="ttname"><ahref="structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d">gridfire::StepDerivatives::dydt</a></div><divclass="ttdeci">std::vector< T > dydt</div><divclass="ttdoc">Derivatives of abundances (dY/dt for each species).</div><divclass="ttdef"><b>Definition</b><ahref="#l00054">engine_abstract.h:54</a></div></div>
<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>