1150 lines
70 KiB
HTML
1150 lines
70 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>GridFire: gridfire::reaction::Reaction Class Reference</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<script type="text/javascript" src="clipboard.js"></script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="navtreedata.js"></script>
|
||
<script type="text/javascript" src="navtree.js"></script>
|
||
<script type="text/javascript" src="resize.js"></script>
|
||
<script type="text/javascript" src="cookie.js"></script>
|
||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||
<script type="text/javascript" src="search/search.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
||
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr id="projectrow">
|
||
<td id="projectalign">
|
||
<div id="projectname">GridFire<span id="projectnumber"> v0.7.0-alpha</span>
|
||
</div>
|
||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Generated by Doxygen 1.13.2 -->
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() { codefold.init(0); });
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() {
|
||
initMenu('',true,false,'search.php','Search',true);
|
||
$(function() { init_search(); });
|
||
});
|
||
/* @license-end */
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
</div><!-- top -->
|
||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
<div id="nav-tree">
|
||
<div id="nav-tree-contents">
|
||
<div id="nav-sync" class="sync"></div>
|
||
</div>
|
||
</div>
|
||
<div id="splitbar" style="-moz-user-select:none;"
|
||
class="ui-resizable-handle">
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function(){initNavTree('classgridfire_1_1reaction_1_1_reaction.html',''); initResizable(true); });
|
||
/* @license-end */
|
||
</script>
|
||
<div id="doc-content">
|
||
<!-- window showing the filter options -->
|
||
<div id="MSearchSelectWindow"
|
||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||
</div>
|
||
|
||
<!-- iframe showing the search results (closed by default) -->
|
||
<div id="MSearchResultsWindow">
|
||
<div id="MSearchResults">
|
||
<div class="SRPage">
|
||
<div id="SRIndex">
|
||
<div id="SRResults"></div>
|
||
<div class="SRStatus" id="Loading">Loading...</div>
|
||
<div class="SRStatus" id="Searching">Searching...</div>
|
||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="header">
|
||
<div class="summary">
|
||
<a href="#pub-methods">Public Member Functions</a> |
|
||
<a href="#friends">Friends</a> |
|
||
<a href="classgridfire_1_1reaction_1_1_reaction-members.html">List of all members</a> </div>
|
||
<div class="headertitle"><div class="title">gridfire::reaction::Reaction Class Reference<span class="mlabels"><span class="mlabel abstract">abstract</span></span></div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
|
||
<p>Represents a single nuclear reaction from a specific data source.
|
||
<a href="#details">More...</a></p>
|
||
|
||
<p><code>#include <reaction.h></code></p>
|
||
<div class="dynheader">
|
||
Inheritance diagram for gridfire::reaction::Reaction:</div>
|
||
<div class="dyncontent">
|
||
<div class="center">
|
||
<img src="classgridfire_1_1reaction_1_1_reaction.png" usemap="#gridfire::reaction::Reaction_map" alt=""/>
|
||
<map id="gridfire::reaction::Reaction_map" name="gridfire::reaction::Reaction_map">
|
||
<area href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html" title="Concrete Reaction representing a single weak process (beta±, e−/e+ capture)." alt="gridfire::rates::weak::WeakReaction" shape="rect" coords="0,56,243,80"/>
|
||
<area href="classgridfire_1_1reaction_1_1_reaclib_reaction.html" alt="gridfire::reaction::ReaclibReaction" shape="rect" coords="253,56,496,80"/>
|
||
<area href="classgridfire_1_1reaction_1_1_logical_reaclib_reaction.html" title="Represents a "logical" reaction that aggregates rates from multiple sources." alt="gridfire::reaction::LogicalReaclibReaction" shape="rect" coords="253,112,496,136"/>
|
||
</map>
|
||
</div></div>
|
||
<table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||
Public Member Functions</h2></td></tr>
|
||
<tr class="memitem:ab1860df84843be70f97469761e11ab6a" id="r_ab1860df84843be70f97469761e11ab6a"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1860df84843be70f97469761e11ab6a">~Reaction</a> ()=default</td></tr>
|
||
<tr class="memdesc:ab1860df84843be70f97469761e11ab6a"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor for correct polymorphic cleanup. <br /></td></tr>
|
||
<tr class="separator:ab1860df84843be70f97469761e11ab6a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a83c121480533593adfd68c4a67a649f1" id="r_a83c121480533593adfd68c4a67a649f1"><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a83c121480533593adfd68c4a67a649f1">calculate_rate</a> (double T9, double rho, double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const =0</td></tr>
|
||
<tr class="memdesc:a83c121480533593adfd68c4a67a649f1"><td class="mdescLeft"> </td><td class="mdescRight">Compute the temperature- and composition-dependent reaction rate. <br /></td></tr>
|
||
<tr class="separator:a83c121480533593adfd68c4a67a649f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af8303d67df61fc9e31ce054f0e8a3e14" id="r_af8303d67df61fc9e31ce054f0e8a3e14"><td class="memItemLeft" align="right" valign="top">virtual CppAD::AD< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#af8303d67df61fc9e31ce054f0e8a3e14">calculate_rate</a> (CppAD::AD< double > T9, CppAD::AD< double > rho, CppAD::AD< double > Ye, CppAD::AD< double > mue, const std::vector< CppAD::AD< double > > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const =0</td></tr>
|
||
<tr class="memdesc:af8303d67df61fc9e31ce054f0e8a3e14"><td class="mdescLeft"> </td><td class="mdescRight">AD-enabled reaction rate for algorithmic differentiation. <br /></td></tr>
|
||
<tr class="separator:af8303d67df61fc9e31ce054f0e8a3e14"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a94b92308b9619ec20c690e55157786ba" id="r_a94b92308b9619ec20c690e55157786ba"><td class="memItemLeft" align="right" valign="top">virtual std::string_view </td><td class="memItemRight" valign="bottom"><a class="el" href="#a94b92308b9619ec20c690e55157786ba">id</a> () const =0</td></tr>
|
||
<tr class="memdesc:a94b92308b9619ec20c690e55157786ba"><td class="mdescLeft"> </td><td class="mdescRight">A stable, unique identifier for this reaction instance. <br /></td></tr>
|
||
<tr class="separator:a94b92308b9619ec20c690e55157786ba"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac7b08c61cdc97268b9442afec4d08dad" id="r_ac7b08c61cdc97268b9442afec4d08dad"><td class="memItemLeft" align="right" valign="top">virtual const std::vector< fourdst::atomic::Species > & </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac7b08c61cdc97268b9442afec4d08dad">reactants</a> () const =0</td></tr>
|
||
<tr class="memdesc:ac7b08c61cdc97268b9442afec4d08dad"><td class="mdescLeft"> </td><td class="mdescRight">Ordered list of reactant species. <br /></td></tr>
|
||
<tr class="separator:ac7b08c61cdc97268b9442afec4d08dad"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a3d7451045d8df41ea98b5e419e0e5ab0" id="r_a3d7451045d8df41ea98b5e419e0e5ab0"><td class="memItemLeft" align="right" valign="top">virtual const std::vector< fourdst::atomic::Species > & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d7451045d8df41ea98b5e419e0e5ab0">products</a> () const =0</td></tr>
|
||
<tr class="memdesc:a3d7451045d8df41ea98b5e419e0e5ab0"><td class="mdescLeft"> </td><td class="mdescRight">Ordered list of product species. <br /></td></tr>
|
||
<tr class="separator:a3d7451045d8df41ea98b5e419e0e5ab0"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a768db057d358240d4825c21869af0792" id="r_a768db057d358240d4825c21869af0792"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a768db057d358240d4825c21869af0792">contains</a> (const fourdst::atomic::Species &species) const =0</td></tr>
|
||
<tr class="memdesc:a768db057d358240d4825c21869af0792"><td class="mdescLeft"> </td><td class="mdescRight">True if the species appears as a reactant or a product. <br /></td></tr>
|
||
<tr class="separator:a768db057d358240d4825c21869af0792"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab28bf4f9417ecabcc8350bae449fedd5" id="r_ab28bf4f9417ecabcc8350bae449fedd5"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab28bf4f9417ecabcc8350bae449fedd5">contains_reactant</a> (const fourdst::atomic::Species &species) const =0</td></tr>
|
||
<tr class="memdesc:ab28bf4f9417ecabcc8350bae449fedd5"><td class="mdescLeft"> </td><td class="mdescRight">True if the species appears among the reactants. <br /></td></tr>
|
||
<tr class="separator:ab28bf4f9417ecabcc8350bae449fedd5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a2708d2e8f42159df6605a5948b13c4c5" id="r_a2708d2e8f42159df6605a5948b13c4c5"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2708d2e8f42159df6605a5948b13c4c5">contains_product</a> (const fourdst::atomic::Species &species) const =0</td></tr>
|
||
<tr class="memdesc:a2708d2e8f42159df6605a5948b13c4c5"><td class="mdescLeft"> </td><td class="mdescRight">True if the species appears among the products. <br /></td></tr>
|
||
<tr class="separator:a2708d2e8f42159df6605a5948b13c4c5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a3906a668410e02239f9031b5fc580214" id="r_a3906a668410e02239f9031b5fc580214"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3906a668410e02239f9031b5fc580214">is_reverse</a> () const =0</td></tr>
|
||
<tr class="memdesc:a3906a668410e02239f9031b5fc580214"><td class="mdescLeft"> </td><td class="mdescRight">Whether this object represents a reverse (backward) rate. <br /></td></tr>
|
||
<tr class="separator:a3906a668410e02239f9031b5fc580214"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aa13cd9097229fcc99128d9286b8f17e6" id="r_aa13cd9097229fcc99128d9286b8f17e6"><td class="memItemLeft" align="right" valign="top">virtual std::unordered_set< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa13cd9097229fcc99128d9286b8f17e6">all_species</a> () const =0</td></tr>
|
||
<tr class="memdesc:aa13cd9097229fcc99128d9286b8f17e6"><td class="mdescLeft"> </td><td class="mdescRight">Set of all unique species appearing in the reaction. <br /></td></tr>
|
||
<tr class="separator:aa13cd9097229fcc99128d9286b8f17e6"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a82c14096308cdc9126ab6d9667febcd2" id="r_a82c14096308cdc9126ab6d9667febcd2"><td class="memItemLeft" align="right" valign="top">virtual std::unordered_set< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a82c14096308cdc9126ab6d9667febcd2">reactant_species</a> () const =0</td></tr>
|
||
<tr class="memdesc:a82c14096308cdc9126ab6d9667febcd2"><td class="mdescLeft"> </td><td class="mdescRight">Set of unique reactant species. <br /></td></tr>
|
||
<tr class="separator:a82c14096308cdc9126ab6d9667febcd2"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a0d16572ae2b664374d32ee6c4e22123a" id="r_a0d16572ae2b664374d32ee6c4e22123a"><td class="memItemLeft" align="right" valign="top">virtual std::unordered_set< fourdst::atomic::Species > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d16572ae2b664374d32ee6c4e22123a">product_species</a> () const =0</td></tr>
|
||
<tr class="memdesc:a0d16572ae2b664374d32ee6c4e22123a"><td class="mdescLeft"> </td><td class="mdescRight">Set of unique product species. <br /></td></tr>
|
||
<tr class="separator:a0d16572ae2b664374d32ee6c4e22123a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ae2a1b0395ac127c792a8049cd0bcc249" id="r_ae2a1b0395ac127c792a8049cd0bcc249"><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2a1b0395ac127c792a8049cd0bcc249">num_species</a> () const =0</td></tr>
|
||
<tr class="memdesc:ae2a1b0395ac127c792a8049cd0bcc249"><td class="mdescLeft"> </td><td class="mdescRight">Number of unique species involved in the reaction. <br /></td></tr>
|
||
<tr class="separator:ae2a1b0395ac127c792a8049cd0bcc249"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ad49f4cad024db72c966d949c75f1ce4d" id="r_ad49f4cad024db72c966d949c75f1ce4d"><td class="memItemLeft" align="right" valign="top">virtual std::unordered_map< fourdst::atomic::Species, int > </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad49f4cad024db72c966d949c75f1ce4d">stoichiometry</a> () const =0</td></tr>
|
||
<tr class="memdesc:ad49f4cad024db72c966d949c75f1ce4d"><td class="mdescLeft"> </td><td class="mdescRight">Full stoichiometry map for this reaction. <br /></td></tr>
|
||
<tr class="separator:ad49f4cad024db72c966d949c75f1ce4d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab7888b57507d6d27de6e5fcaea40fff5" id="r_ab7888b57507d6d27de6e5fcaea40fff5"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab7888b57507d6d27de6e5fcaea40fff5">stoichiometry</a> (const fourdst::atomic::Species &species) const =0</td></tr>
|
||
<tr class="memdesc:ab7888b57507d6d27de6e5fcaea40fff5"><td class="mdescLeft"> </td><td class="mdescRight">Stoichiometric coefficient for a particular species. <br /></td></tr>
|
||
<tr class="separator:ab7888b57507d6d27de6e5fcaea40fff5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a7ba8c18cd5445aa3499a6fd351183f7a" id="r_a7ba8c18cd5445aa3499a6fd351183f7a"><td class="memItemLeft" align="right" valign="top">virtual uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7ba8c18cd5445aa3499a6fd351183f7a">hash</a> (uint64_t seed) const =0</td></tr>
|
||
<tr class="memdesc:a7ba8c18cd5445aa3499a6fd351183f7a"><td class="mdescLeft"> </td><td class="mdescRight">Stable content-based hash for this reaction. <br /></td></tr>
|
||
<tr class="separator:a7ba8c18cd5445aa3499a6fd351183f7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a7e06936f9e8bb74e68eaa10e708e5d3c" id="r_a7e06936f9e8bb74e68eaa10e708e5d3c"><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e06936f9e8bb74e68eaa10e708e5d3c">qValue</a> () const =0</td></tr>
|
||
<tr class="memdesc:a7e06936f9e8bb74e68eaa10e708e5d3c"><td class="mdescLeft"> </td><td class="mdescRight">Q-value of the reaction (typically MeV), positive if exothermic. <br /></td></tr>
|
||
<tr class="separator:a7e06936f9e8bb74e68eaa10e708e5d3c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ae66b446c98add7e00a1d960f4e7c60dd" id="r_ae66b446c98add7e00a1d960f4e7c60dd"><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae66b446c98add7e00a1d960f4e7c60dd">calculate_energy_generation_rate</a> (const double T9, const double rho, const double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const</td></tr>
|
||
<tr class="memdesc:ae66b446c98add7e00a1d960f4e7c60dd"><td class="mdescLeft"> </td><td class="mdescRight">Convenience: energy generation rate from this reaction (double version). <br /></td></tr>
|
||
<tr class="separator:ae66b446c98add7e00a1d960f4e7c60dd"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a4282f85c34d6db1994c07e7a40f66d80" id="r_a4282f85c34d6db1994c07e7a40f66d80"><td class="memItemLeft" align="right" valign="top">virtual CppAD::AD< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4282f85c34d6db1994c07e7a40f66d80">calculate_energy_generation_rate</a> (const CppAD::AD< double > &T9, const CppAD::AD< double > &rho, const CppAD::AD< double > &Ye, const CppAD::AD< double > &mue, const std::vector< CppAD::AD< double > > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const</td></tr>
|
||
<tr class="memdesc:a4282f85c34d6db1994c07e7a40f66d80"><td class="mdescLeft"> </td><td class="mdescRight">Convenience: AD-enabled energy generation rate (AD version). <br /></td></tr>
|
||
<tr class="separator:a4282f85c34d6db1994c07e7a40f66d80"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aa2b615e764bb005e526ca9327319c735" id="r_aa2b615e764bb005e526ca9327319c735"><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa2b615e764bb005e526ca9327319c735">calculate_log_rate_partial_deriv_wrt_T9</a> (double T9, double rho, double Ye, double mue, const fourdst::composition::Composition &comp) const =0</td></tr>
|
||
<tr class="memdesc:aa2b615e764bb005e526ca9327319c735"><td class="mdescLeft"> </td><td class="mdescRight">Logarithmic partial derivative of the rate with respect to temperature. <br /></td></tr>
|
||
<tr class="separator:aa2b615e764bb005e526ca9327319c735"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a7f2590eee9f0dfb7b73cd92170a844b7" id="r_a7f2590eee9f0dfb7b73cd92170a844b7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire_1_1reaction.html#a026997f11e811fa7754ac9121c4ba74e">ReactionType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f2590eee9f0dfb7b73cd92170a844b7">type</a> () const =0</td></tr>
|
||
<tr class="memdesc:a7f2590eee9f0dfb7b73cd92170a844b7"><td class="mdescLeft"> </td><td class="mdescRight">Category of this reaction (e.g., REACLIB, WEAK, LOGICAL_REACLIB). <br /></td></tr>
|
||
<tr class="separator:a7f2590eee9f0dfb7b73cd92170a844b7"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab95ce7fb022a9432bdc77f14679221ee" id="r_ab95ce7fb022a9432bdc77f14679221ee"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr< <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab95ce7fb022a9432bdc77f14679221ee">clone</a> () const =0</td></tr>
|
||
<tr class="memdesc:ab95ce7fb022a9432bdc77f14679221ee"><td class="mdescLeft"> </td><td class="mdescRight">Polymorphic deep copy. <br /></td></tr>
|
||
<tr class="separator:ab95ce7fb022a9432bdc77f14679221ee"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table><table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
|
||
Friends</h2></td></tr>
|
||
<tr class="memitem:a2b05ab608187216fc751bd2e42e8b7d8" id="r_a2b05ab608187216fc751bd2e42e8b7d8"><td class="memItemLeft" align="right" valign="top">std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2b05ab608187216fc751bd2e42e8b7d8">operator<<</a> (std::ostream &os, const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a> &r)</td></tr>
|
||
<tr class="separator:a2b05ab608187216fc751bd2e42e8b7d8"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table>
|
||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||
<div class="textblock"><p>Represents a single nuclear reaction from a specific data source. </p>
|
||
<p>This class encapsulates all properties of a single nuclear reaction as defined in formats like REACLIB, including reactants, products, Q-value, and rate coefficients from a particular evaluation (source).</p>
|
||
<p>Example: </p><div class="fragment"><div class="line"><span class="comment">// Assuming species and rate coefficients are defined</span></div>
|
||
<div class="line"><a class="code hl_class" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a> p_gamma_d(</div>
|
||
<div class="line"> <span class="stringliteral">"H_1_H_1_to_H_2"</span>, <span class="stringliteral">"p(p,g)d"</span>, 1, {H_1, H_1}, {H_2}, 5.493, <span class="stringliteral">"st08"</span>, rate_coeffs</div>
|
||
<div class="line">);</div>
|
||
<div class="line"><span class="keywordtype">double</span> rate = p_gamma_d.<a class="code hl_function" href="#a83c121480533593adfd68c4a67a649f1">calculate_rate</a>(0.1); <span class="comment">// T9 = 0.1</span></div>
|
||
<div class="ttc" id="aclassgridfire_1_1reaction_1_1_reaction_html"><div class="ttname"><a href="classgridfire_1_1reaction_1_1_reaction.html">gridfire::reaction::Reaction</a></div><div class="ttdoc">Represents a single nuclear reaction from a specific data source.</div><div class="ttdef"><b>Definition</b> reaction.h:92</div></div>
|
||
<div class="ttc" id="aclassgridfire_1_1reaction_1_1_reaction_html_a83c121480533593adfd68c4a67a649f1"><div class="ttname"><a href="#a83c121480533593adfd68c4a67a649f1">gridfire::reaction::Reaction::calculate_rate</a></div><div class="ttdeci">virtual double calculate_rate(double T9, double rho, double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const =0</div><div class="ttdoc">Compute the temperature- and composition-dependent reaction rate.</div></div>
|
||
</div><!-- fragment --> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||
<a id="ab1860df84843be70f97469761e11ab6a" name="ab1860df84843be70f97469761e11ab6a"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ab1860df84843be70f97469761e11ab6a">◆ </a></span>~Reaction()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual gridfire::reaction::Reaction::~Reaction </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel virtual">virtual</span><span class="mlabel default">default</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Virtual destructor for correct polymorphic cleanup. </p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Member Function Documentation</h2>
|
||
<a id="aa13cd9097229fcc99128d9286b8f17e6" name="aa13cd9097229fcc99128d9286b8f17e6"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aa13cd9097229fcc99128d9286b8f17e6">◆ </a></span>all_species()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::all_species </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Set of all unique species appearing in the reaction. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Unordered set of all reactants and products (no duplicates). </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a6e567323ca019eadcbb9dbb814ebeb0b">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a445777acbbee2032d83a256181a90e3c">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a4282f85c34d6db1994c07e7a40f66d80" name="a4282f85c34d6db1994c07e7a40f66d80"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a4282f85c34d6db1994c07e7a40f66d80">◆ </a></span>calculate_energy_generation_rate() <span class="overload">[1/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual CppAD::AD< double > gridfire::reaction::Reaction::calculate_energy_generation_rate </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const CppAD::AD< double > &</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const CppAD::AD< double > &</td> <td class="paramname"><span class="paramname"><em>rho</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const CppAD::AD< double > &</td> <td class="paramname"><span class="paramname"><em>Ye</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const CppAD::AD< double > &</td> <td class="paramname"><span class="paramname"><em>mue</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::vector< CppAD::AD< double > > &</td> <td class="paramname"><span class="paramname"><em>Y</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::unordered_map< size_t, fourdst::atomic::Species > &</td> <td class="paramname"><span class="paramname"><em>index_to_species_map</em></span> ) const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel nodiscard">nodiscard</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Convenience: AD-enabled energy generation rate (AD version). </p>
|
||
<p>Default implementation multiplies the AD rate by the reaction Q-value. Electron quantities (Ye, mue) are ignored in this default, so override if they contribute.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">T9</td><td>Temperature in GK as CppAD::AD<double>. </td></tr>
|
||
<tr><td class="paramname">rho</td><td>Mass density as CppAD::AD<double>. </td></tr>
|
||
<tr><td class="paramname">Ye</td><td>Electron fraction as CppAD::AD<double> (ignored by default). </td></tr>
|
||
<tr><td class="paramname">mue</td><td>Electron chemical potential as CppAD::AD<double> (ignored by default). </td></tr>
|
||
<tr><td class="paramname">Y</td><td>Composition vector as CppAD::AD<double> values. </td></tr>
|
||
<tr><td class="paramname">index_to_species_map</td><td>Mapping from state-vector index to Species. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Energy generation rate as CppAD::AD<double>. </dd></dl>
|
||
|
||
<p>Reimplemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#af515e3587a1050c4bc59657696be5f9b">gridfire::rates::weak::WeakReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ae66b446c98add7e00a1d960f4e7c60dd" name="ae66b446c98add7e00a1d960f4e7c60dd"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ae66b446c98add7e00a1d960f4e7c60dd">◆ </a></span>calculate_energy_generation_rate() <span class="overload">[2/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual double gridfire::reaction::Reaction::calculate_energy_generation_rate </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>rho</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const double</td> <td class="paramname"><span class="paramname"><em>Ye</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>mue</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::vector< double > &</td> <td class="paramname"><span class="paramname"><em>Y</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::unordered_map< size_t, fourdst::atomic::Species > &</td> <td class="paramname"><span class="paramname"><em>index_to_species_map</em></span> ) const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel nodiscard">nodiscard</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Convenience: energy generation rate from this reaction (double version). </p>
|
||
<p>Default implementation multiplies the scalar rate by the reaction Q-value. Electron quantities (Ye, mue) are ignored in this default, so override in derived classes if needed. Sign convention follows <a class="el" href="#a7e06936f9e8bb74e68eaa10e708e5d3c" title="Q-value of the reaction (typically MeV), positive if exothermic.">qValue()</a>.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">T9</td><td>Temperature in GK (10^9 K). </td></tr>
|
||
<tr><td class="paramname">rho</td><td>Mass density (g cm^-3). </td></tr>
|
||
<tr><td class="paramname">Ye</td><td>Electron fraction (ignored by default implementation). </td></tr>
|
||
<tr><td class="paramname">mue</td><td>Electron chemical potential (ignored by default implementation). </td></tr>
|
||
<tr><td class="paramname">Y</td><td>Composition vector. </td></tr>
|
||
<tr><td class="paramname">index_to_species_map</td><td>Mapping from state-vector index to Species. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Energy generation rate, typically rate * <a class="el" href="#a7e06936f9e8bb74e68eaa10e708e5d3c" title="Q-value of the reaction (typically MeV), positive if exothermic.">qValue()</a>. </dd></dl>
|
||
|
||
<p>Reimplemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a091d6d4aa59f788c97f9b5481f46f1b5">gridfire::rates::weak::WeakReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aa2b615e764bb005e526ca9327319c735" name="aa2b615e764bb005e526ca9327319c735"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aa2b615e764bb005e526ca9327319c735">◆ </a></span>calculate_log_rate_partial_deriv_wrt_T9()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual double gridfire::reaction::Reaction::calculate_log_rate_partial_deriv_wrt_T9 </td>
|
||
<td>(</td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>Ye</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>mue</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const fourdst::composition::Composition &</td> <td class="paramname"><span class="paramname"><em>comp</em></span> ) const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Logarithmic partial derivative of the rate with respect to temperature. </p>
|
||
<p>Implementations return d(ln rate)/d(ln T9) or an equivalent measure (as documented by the concrete class), evaluated at the provided state.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">T9</td><td>Temperature in GK (10^9 K). </td></tr>
|
||
<tr><td class="paramname">rho</td><td>Mass density (g cm^-3). </td></tr>
|
||
<tr><td class="paramname">Ye</td><td>Electron fraction. </td></tr>
|
||
<tr><td class="paramname">mue</td><td>Electron chemical potential. </td></tr>
|
||
<tr><td class="paramname">comp</td><td>Composition object providing composition in a convenient form. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>The logarithmic temperature derivative of the rate. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#ac2d5366d4b5766413db34558dbce3cb3">gridfire::rates::weak::WeakReaction</a>, <a class="el" href="classgridfire_1_1reaction_1_1_logical_reaclib_reaction.html#a9b1363314159eaf9c56aaa233f5eebd6">gridfire::reaction::LogicalReaclibReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#ada6ec1ae05b9a92b58e6a4ecdf5a1656">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="af8303d67df61fc9e31ce054f0e8a3e14" name="af8303d67df61fc9e31ce054f0e8a3e14"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#af8303d67df61fc9e31ce054f0e8a3e14">◆ </a></span>calculate_rate() <span class="overload">[1/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual CppAD::AD< double > gridfire::reaction::Reaction::calculate_rate </td>
|
||
<td>(</td>
|
||
<td class="paramtype">CppAD::AD< double ></td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">CppAD::AD< double ></td> <td class="paramname"><span class="paramname"><em>rho</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">CppAD::AD< double ></td> <td class="paramname"><span class="paramname"><em>Ye</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">CppAD::AD< double ></td> <td class="paramname"><span class="paramname"><em>mue</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::vector< CppAD::AD< double > > &</td> <td class="paramname"><span class="paramname"><em>Y</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::unordered_map< size_t, fourdst::atomic::Species > &</td> <td class="paramname"><span class="paramname"><em>index_to_species_map</em></span> ) const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>AD-enabled reaction rate for algorithmic differentiation. </p>
|
||
<p>This overload mirrors calculate_rate(double, ...) but operates on CppAD types to enable derivative calculations w.r.t. its inputs.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">T9</td><td>Temperature in GK as CppAD::AD<double>. </td></tr>
|
||
<tr><td class="paramname">rho</td><td>Mass density as CppAD::AD<double>. </td></tr>
|
||
<tr><td class="paramname">Ye</td><td>Electron fraction as CppAD::AD<double>. </td></tr>
|
||
<tr><td class="paramname">mue</td><td>Electron chemical potential as CppAD::AD<double>. </td></tr>
|
||
<tr><td class="paramname">Y</td><td>Composition vector as CppAD::AD<double> values. </td></tr>
|
||
<tr><td class="paramname">index_to_species_map</td><td>Mapping from state-vector index to Species, used to interpret Y. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>The reaction rate as a CppAD::AD<double> value. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a90ca346e2321516656b83d863416671e">gridfire::rates::weak::WeakReaction</a>, <a class="el" href="classgridfire_1_1reaction_1_1_logical_reaclib_reaction.html#ab5bdbe13239f1180f32fb0a14a60d0a9">gridfire::reaction::LogicalReaclibReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#afec5ccf7a8fb1ba56c8cc852ce858c5e">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a83c121480533593adfd68c4a67a649f1" name="a83c121480533593adfd68c4a67a649f1"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a83c121480533593adfd68c4a67a649f1">◆ </a></span>calculate_rate() <span class="overload">[2/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual double gridfire::reaction::Reaction::calculate_rate </td>
|
||
<td>(</td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>T9</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>rho</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>Ye</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">double</td> <td class="paramname"><span class="paramname"><em>mue</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::vector< double > &</td> <td class="paramname"><span class="paramname"><em>Y</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const std::unordered_map< size_t, fourdst::atomic::Species > &</td> <td class="paramname"><span class="paramname"><em>index_to_species_map</em></span> ) const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Compute the temperature- and composition-dependent reaction rate. </p>
|
||
<p>This is the primary interface used by the network to obtain the rate of a single reaction at the given thermodynamic state and composition. The exact units and normalization are defined by the concrete implementation (e.g., REACLIB typically provides NA<sigma v> with units depending on the reaction order). Implementations may use density/electron properties for weak processes or screening, and the composition vector for multi-body reactions.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">T9</td><td>Temperature in GK (10^9 K). </td></tr>
|
||
<tr><td class="paramname">rho</td><td>Mass density (g cm^-3). May be unused for some reaction types. </td></tr>
|
||
<tr><td class="paramname">Ye</td><td>Electron fraction. May be unused depending on the reaction type. </td></tr>
|
||
<tr><td class="paramname">mue</td><td>Electron chemical potential. May be unused depending on the reaction type. </td></tr>
|
||
<tr><td class="paramname">Y</td><td>Composition vector (molar abundances or number fractions) indexed consistently with index_to_species_map. </td></tr>
|
||
<tr><td class="paramname">index_to_species_map</td><td>Mapping from state-vector index to Species, used to interpret Y. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>The reaction rate for the forward direction, with units/normalization defined by the specific model (implementation must document its convention). </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a05df0657efed55eb4262c7834d81400a">gridfire::rates::weak::WeakReaction</a>, <a class="el" href="classgridfire_1_1reaction_1_1_logical_reaclib_reaction.html#ac21a726884930e6a00792e7c3eb43f42">gridfire::reaction::LogicalReaclibReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#acd16b1daf13456b3523362a37b1bf9b0">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ab95ce7fb022a9432bdc77f14679221ee" name="ab95ce7fb022a9432bdc77f14679221ee"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ab95ce7fb022a9432bdc77f14679221ee">◆ </a></span>clone()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual std::unique_ptr< <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a> > gridfire::reaction::Reaction::clone </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Polymorphic deep copy. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>A std::unique_ptr owning a new <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html" title="Represents a single nuclear reaction from a specific data source.">Reaction</a> equal to this one. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#ac10e1451d20876f6eab199e127f213c7">gridfire::rates::weak::WeakReaction</a>, <a class="el" href="classgridfire_1_1reaction_1_1_logical_reaclib_reaction.html#ad113b9cb64c449f9449c4cce4fa64076">gridfire::reaction::LogicalReaclibReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a54fde02e7010e806136f976ab64b1740">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a768db057d358240d4825c21869af0792" name="a768db057d358240d4825c21869af0792"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a768db057d358240d4825c21869af0792">◆ </a></span>contains()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual bool gridfire::reaction::Reaction::contains </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const fourdst::atomic::Species &</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>True if the species appears as a reactant or a product. </p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">species</td><td>Species to test. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Whether the species participates in the reaction (either side). </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a745b161968f37873b5d40fe6bf9d2118">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a171b690e1abaf23f11a94c39e9f8c944">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a2708d2e8f42159df6605a5948b13c4c5" name="a2708d2e8f42159df6605a5948b13c4c5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a2708d2e8f42159df6605a5948b13c4c5">◆ </a></span>contains_product()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual bool gridfire::reaction::Reaction::contains_product </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const fourdst::atomic::Species &</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>True if the species appears among the products. </p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">species</td><td>Species to test. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Whether the species is a product. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a957b5bfe70e536290ef677a7c5b6643f">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a4e4811436d09afaa4a14c51d9af71f88">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ab28bf4f9417ecabcc8350bae449fedd5" name="ab28bf4f9417ecabcc8350bae449fedd5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ab28bf4f9417ecabcc8350bae449fedd5">◆ </a></span>contains_reactant()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual bool gridfire::reaction::Reaction::contains_reactant </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const fourdst::atomic::Species &</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>True if the species appears among the reactants. </p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">species</td><td>Species to test. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Whether the species is a reactant. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a98095e6536d9a6434c5955f4c169d505">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a65a12e5f6180873866cfaaf130fd1156">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a7ba8c18cd5445aa3499a6fd351183f7a" name="a7ba8c18cd5445aa3499a6fd351183f7a"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a7ba8c18cd5445aa3499a6fd351183f7a">◆ </a></span>hash()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual uint64_t gridfire::reaction::Reaction::hash </td>
|
||
<td>(</td>
|
||
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>seed</em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Stable content-based hash for this reaction. </p>
|
||
<p>Intended for use in caches, sets, and order-independent hashing of <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html" title="Represents a single nuclear reaction from a specific data source.">Reaction</a> collections. Implementations should produce the same value across processes for the same content and seed. </p><dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">seed</td><td>Seed value to initialize/mix into the hash. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>64-bit hash value. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#ad2ba6b584cb2df7c15633fca81ce6af1">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a661dd461e51c37133f7f9931389fd3cc">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a94b92308b9619ec20c690e55157786ba" name="a94b92308b9619ec20c690e55157786ba"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a94b92308b9619ec20c690e55157786ba">◆ </a></span>id()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual std::string_view gridfire::reaction::Reaction::id </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>A stable, unique identifier for this reaction instance. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>String view of the reaction ID (stable across runs and suitable for lookups). </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#ad01a15d95878c9edbf57cd9045c4413b">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a06312f834439ccf93012dea53cab47ce">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a3906a668410e02239f9031b5fc580214" name="a3906a668410e02239f9031b5fc580214"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a3906a668410e02239f9031b5fc580214">◆ </a></span>is_reverse()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual bool gridfire::reaction::Reaction::is_reverse </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Whether this object represents a reverse (backward) rate. </p>
|
||
<p>Implementations may pair forward/reverse rates for detailed balance. This flag indicates that the parameterization corresponds to the reverse direction. </p><dl class="section return"><dt>Returns</dt><dd>True for a reverse rate, false for a forward rate. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a90b62d922d91832859516450cf8e3876">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a181b2c75af1f2701c43594c5bb2bac2d">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ae2a1b0395ac127c792a8049cd0bcc249" name="ae2a1b0395ac127c792a8049cd0bcc249"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ae2a1b0395ac127c792a8049cd0bcc249">◆ </a></span>num_species()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual size_t gridfire::reaction::Reaction::num_species </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Number of unique species involved in the reaction. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Count of distinct species across reactants and products. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a1210917ca1727ea474bb606cf8279edb">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a9205126955ad38f56e8aca3112bc150a">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a0d16572ae2b664374d32ee6c4e22123a" name="a0d16572ae2b664374d32ee6c4e22123a"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a0d16572ae2b664374d32ee6c4e22123a">◆ </a></span>product_species()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::product_species </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Set of unique product species. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Unordered set of product species (no duplicates). </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a5c60feacb0ac48b35323d9f688315316">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a67c8fa4d5929c7a8cbca9b3d9dd2b704">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a3d7451045d8df41ea98b5e419e0e5ab0" name="a3d7451045d8df41ea98b5e419e0e5ab0"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a3d7451045d8df41ea98b5e419e0e5ab0">◆ </a></span>products()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual const std::vector< fourdst::atomic::Species > & gridfire::reaction::Reaction::products </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Ordered list of product species. </p>
|
||
<p>Multiplicity is represented by duplicates if applicable. </p><dl class="section return"><dt>Returns</dt><dd>Const reference to the vector of products. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#aed0ea28ed3ba96a9f86aa9db947ec01c">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a5f563b99bb550d5bafa2a989502de019">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a7e06936f9e8bb74e68eaa10e708e5d3c" name="a7e06936f9e8bb74e68eaa10e708e5d3c"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a7e06936f9e8bb74e68eaa10e708e5d3c">◆ </a></span>qValue()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual double gridfire::reaction::Reaction::qValue </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Q-value of the reaction (typically MeV), positive if exothermic. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classgridfire_1_1reaction_1_1_reaction.html" title="Represents a single nuclear reaction from a specific data source.">Reaction</a> Q-value used for energy accounting. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#afedb724bf9f1c8fc91d853f2bedb10cb">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#ae47931948f12816eb890c0db4fff4d68">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a82c14096308cdc9126ab6d9667febcd2" name="a82c14096308cdc9126ab6d9667febcd2"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a82c14096308cdc9126ab6d9667febcd2">◆ </a></span>reactant_species()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::reactant_species </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Set of unique reactant species. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Unordered set of reactant species (no duplicates). </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#aae06ff559026e3ce242a42cdd888c5a0">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#ad85ca288289b25d482cbb8e3ff270028">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ac7b08c61cdc97268b9442afec4d08dad" name="ac7b08c61cdc97268b9442afec4d08dad"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ac7b08c61cdc97268b9442afec4d08dad">◆ </a></span>reactants()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual const std::vector< fourdst::atomic::Species > & gridfire::reaction::Reaction::reactants </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Ordered list of reactant species. </p>
|
||
<p>Multiplicity is represented by duplicates, e.g., (p, p) would list H1 twice. </p><dl class="section return"><dt>Returns</dt><dd>Const reference to the vector of reactants. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a1362d46630f30203027093e35883d1b1">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#ad095aba46860fec0e68386bf04f7f142">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ad49f4cad024db72c966d949c75f1ce4d" name="ad49f4cad024db72c966d949c75f1ce4d"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ad49f4cad024db72c966d949c75f1ce4d">◆ </a></span>stoichiometry() <span class="overload">[1/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual std::unordered_map< fourdst::atomic::Species, int > gridfire::reaction::Reaction::stoichiometry </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Full stoichiometry map for this reaction. </p>
|
||
<p>Coefficients are negative for reactants and positive for products; multiplicity is reflected in the magnitude (e.g., 2H -> He gives H: -2, He: +1). </p><dl class="section return"><dt>Returns</dt><dd>Map from Species to integer stoichiometric coefficient. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a8bf7dc26d9f1375625df99bceba08a44">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a0f629cbfe95dc5643b5e3724be0db2f9">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ab7888b57507d6d27de6e5fcaea40fff5" name="ab7888b57507d6d27de6e5fcaea40fff5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ab7888b57507d6d27de6e5fcaea40fff5">◆ </a></span>stoichiometry() <span class="overload">[2/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual int gridfire::reaction::Reaction::stoichiometry </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const fourdst::atomic::Species &</td> <td class="paramname"><span class="paramname"><em>species</em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Stoichiometric coefficient for a particular species. </p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">species</td><td>Species for which to query the coefficient. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Negative for reactants, positive for products, zero if absent. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a1f4acfdb39bb861aaee9f3f28cfc406e">gridfire::rates::weak::WeakReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a57b2695d152360a6ba08776cc760e3a1">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a7f2590eee9f0dfb7b73cd92170a844b7" name="a7f2590eee9f0dfb7b73cd92170a844b7"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a7f2590eee9f0dfb7b73cd92170a844b7">◆ </a></span>type()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual <a class="el" href="namespacegridfire_1_1reaction.html#a026997f11e811fa7754ac9121c4ba74e">ReactionType</a> gridfire::reaction::Reaction::type </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel nodiscard">nodiscard</span><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Category of this reaction (e.g., REACLIB, WEAK, LOGICAL_REACLIB). </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Enumerated reaction type for runtime dispatch and filtering. </dd></dl>
|
||
|
||
<p>Implemented in <a class="el" href="classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#aade329265a26bdc005c0793ba7a36ab2">gridfire::rates::weak::WeakReaction</a>, <a class="el" href="classgridfire_1_1reaction_1_1_logical_reaclib_reaction.html#acbfa2d4e23dff6641be21cc1e754be15">gridfire::reaction::LogicalReaclibReaction</a>, and <a class="el" href="classgridfire_1_1reaction_1_1_reaclib_reaction.html#a3c0fbdd07f9a837bd031c5bdc58e0e8f">gridfire::reaction::ReaclibReaction</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Friends And Related Symbol Documentation</h2>
|
||
<a id="a2b05ab608187216fc751bd2e42e8b7d8" name="a2b05ab608187216fc751bd2e42e8b7d8"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a2b05ab608187216fc751bd2e42e8b7d8">◆ </a></span>operator<<</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">std::ostream & operator<< </td>
|
||
<td>(</td>
|
||
<td class="paramtype">std::ostream &</td> <td class="paramname"><span class="paramname"><em>os</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a> &</td> <td class="paramname"><span class="paramname"><em>r</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel friend">friend</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
</div>
|
||
</div>
|
||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||
<li>src/include/gridfire/reaction/<a class="el" href="reaction_8h.html">reaction.h</a></li>
|
||
</ul>
|
||
</div><!-- contents -->
|
||
</div><!-- doc-content -->
|
||
<!-- start footer part -->
|
||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||
<ul>
|
||
<li class="navelem"><a class="el" href="namespacegridfire.html">gridfire</a></li><li class="navelem"><a class="el" href="namespacegridfire_1_1reaction.html">reaction</a></li><li class="navelem"><a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a></li>
|
||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
||
</ul>
|
||
</div>
|
||
</body>
|
||
</html>
|