2025-07-01 07:24:18 -04:00
<!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" >
2025-11-25 14:31:59 -05:00
< div id = "projectname" > GridFire< span id = "projectnumber" >   v0.7.0_rc1< / span >
2025-07-01 07:24:18 -04:00
< / 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 > |
2025-07-01 11:40:51 -04:00
< a href = "#friends" > Friends< / a > |
2025-07-01 07:24:18 -04:00
< a href = "classgridfire_1_1reaction_1_1_reaction-members.html" > List of all members< / a > < / div >
2025-10-08 11:17:09 -04:00
< div class = "headertitle" > < div class = "title" > gridfire::reaction::Reaction Class Reference< span class = "mlabels" > < span class = "mlabel abstract" > abstract< / span > < / span > < / div > < / div >
2025-07-01 07:24:18 -04:00
< / div > <!-- header -->
< div class = "contents" >
< p > Represents a single nuclear reaction from a specific data source.
< a href = "#details" > More...< / a > < / p >
2025-07-31 10:54:31 -04:00
< p > < code > #include < reaction.h> < / code > < / p >
2025-07-01 07:24:18 -04:00
< div class = "dynheader" >
Inheritance diagram for gridfire::reaction::Reaction:< / div >
< div class = "dyncontent" >
2025-11-06 09:16:40 -05:00
< div class = "center" > < iframe scrolling = "no" frameborder = "0" src = "classgridfire_1_1reaction_1_1_reaction__inherit__graph.svg" width = "318" height = "230" > < p > < b > This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.< / b > < / p > < / iframe > < / div >
< center > < span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend< / a > ]< / span > < / center > < / div >
2025-07-01 07:24:18 -04:00
< 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 >
2025-10-08 11:17:09 -04:00
< tr class = "memdesc:ab1860df84843be70f97469761e11ab6a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Virtual destructor for correct polymorphic cleanup. < br / > < / td > < / tr >
2025-07-01 07:24:18 -04:00
< tr class = "separator:ab1860df84843be70f97469761e11ab6a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-11-24 09:08:28 -05:00
< tr class = "memitem:a036773e4dc917facbf2308dbbe853633" id = "r_a036773e4dc917facbf2308dbbe853633" > < td class = "memItemLeft" align = "right" valign = "top" > virtual size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a036773e4dc917facbf2308dbbe853633" > countReactantOccurrences< / a > (const fourdst::atomic::Species & species) const =0< / td > < / tr >
< tr class = "separator:a036773e4dc917facbf2308dbbe853633" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a62fc82b29bacc10cfbceaa1571b14525" id = "r_a62fc82b29bacc10cfbceaa1571b14525" > < td class = "memItemLeft" align = "right" valign = "top" > virtual size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a62fc82b29bacc10cfbceaa1571b14525" > countProductOccurrences< / a > (const fourdst::atomic::Species & species) const =0< / td > < / tr >
< tr class = "separator:a62fc82b29bacc10cfbceaa1571b14525" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-11-05 18:38:07 -05:00
< tr class = "memitem:a6c51c30a0eec2f00c7d1f1c0be44cb0b" id = "r_a6c51c30a0eec2f00c7d1f1c0be44cb0b" > < td class = "memItemLeft" align = "right" valign = "top" > virtual std::optional< std::vector< < a class = "el" href = "structgridfire_1_1reaction_1_1_rate_coefficient_set.html" > RateCoefficientSet< / a > > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a6c51c30a0eec2f00c7d1f1c0be44cb0b" > getRateCoefficients< / a > () const =0< / td > < / tr >
< tr class = "separator:a6c51c30a0eec2f00c7d1f1c0be44cb0b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2025-07-01 11:40:51 -04:00
< / 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 >
2025-07-01 07:24:18 -04:00
< / 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 >
2025-10-08 11:17:09 -04:00
< div class = "line" > < a class = "code hl_class" href = "classgridfire_1_1reaction_1_1_reaction.html" > Reaction< / a > p_gamma_d(< / div >
2025-07-01 07:24:18 -04:00
< 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 >
2025-10-08 11:17:09 -04:00
< 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 >
2025-11-24 09:08:28 -05:00
< 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:91< / div > < / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-31 10:54:31 -04:00
< / div > <!-- fragment --> < / div > < h2 class = "groupheader" > Constructor & Destructor Documentation< / h2 >
2025-07-01 07:24:18 -04:00
< 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" >
2025-10-08 11:17:09 -04:00
< p > Virtual destructor for correct polymorphic cleanup. < / p >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
< h2 class = "groupheader" > Member Function Documentation< / h2 >
2025-10-08 11:17:09 -04:00
< a id = "aa13cd9097229fcc99128d9286b8f17e6" name = "aa13cd9097229fcc99128d9286b8f17e6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa13cd9097229fcc99128d9286b8f17e6" > ◆   < / a > < / span > all_species()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::all_species < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
2025-07-24 11:10:45 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-24 11:10:45 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual CppAD::AD< double > gridfire::reaction::Reaction::calculate_energy_generation_rate < / td >
2025-07-24 11:10:45 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< td class = "paramtype" > const CppAD::AD< double > & < / td > < td class = "paramname" > < span class = "paramname" > < em > T9< / em > < / span > , < / td >
2025-07-24 11:10:45 -04:00
< / tr >
2025-07-01 07:24:18 -04:00
< tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel inline" > inline< / span > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel virtual" > virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< dl class = "section return" > < dt > Returns< / dt > < dd > Energy generation rate as CppAD::AD< double> . < / dd > < / dl >
2025-07-01 07:24:18 -04:00
2025-10-08 11:17:09 -04:00
< p > Reimplemented in < a class = "el" href = "classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#af515e3587a1050c4bc59657696be5f9b" > gridfire::rates::weak::WeakReaction< / a > .< / p >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual double gridfire::reaction::Reaction::calculate_energy_generation_rate < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel inline" > inline< / span > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel virtual" > virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
2025-10-08 11:17:09 -04:00
< p > Reimplemented in < a class = "el" href = "classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a091d6d4aa59f788c97f9b5481f46f1b5" > gridfire::rates::weak::WeakReaction< / a > .< / p >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual double gridfire::reaction::Reaction::calculate_log_rate_partial_deriv_wrt_T9 < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< td class = "paramtype" > double< / td > < td class = "paramname" > < span class = "paramname" > < em > T9< / em > < / span > , < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > double< / td > < td class = "paramname" > < span class = "paramname" > < em > rho< / em > < / span > , < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual CppAD::AD< double > gridfire::reaction::Reaction::calculate_rate < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual double gridfire::reaction::Reaction::calculate_rate < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "ab95ce7fb022a9432bdc77f14679221ee" name = "ab95ce7fb022a9432bdc77f14679221ee" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab95ce7fb022a9432bdc77f14679221ee" > ◆   < / a > < / span > clone()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a768db057d358240d4825c21869af0792" name = "a768db057d358240d4825c21869af0792" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a768db057d358240d4825c21869af0792" > ◆   < / a > < / span > contains()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual bool gridfire::reaction::Reaction::contains < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< td class = "paramtype" > const fourdst::atomic::Species & < / td > < td class = "paramname" > < span class = "paramname" > < em > species< / em > < / span > < / td > < td > )< / td >
2025-07-01 07:24:18 -04:00
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< p > True if the species appears as a reactant or a product. < / p >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< tr > < td class = "paramname" > species< / td > < td > Species to test. < / td > < / tr >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< dl class = "section return" > < dt > Returns< / dt > < dd > Whether the species participates in the reaction (either side). < / dd > < / dl >
2025-07-01 07:24:18 -04:00
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a2708d2e8f42159df6605a5948b13c4c5" name = "a2708d2e8f42159df6605a5948b13c4c5" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a2708d2e8f42159df6605a5948b13c4c5" > ◆   < / a > < / span > contains_product()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual bool gridfire::reaction::Reaction::contains_product < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< td class = "paramtype" > const fourdst::atomic::Species & < / td > < td class = "paramname" > < span class = "paramname" > < em > species< / em > < / span > < / td > < td > )< / td >
2025-07-01 07:24:18 -04:00
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "ab28bf4f9417ecabcc8350bae449fedd5" name = "ab28bf4f9417ecabcc8350bae449fedd5" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab28bf4f9417ecabcc8350bae449fedd5" > ◆   < / a > < / span > contains_reactant()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual bool gridfire::reaction::Reaction::contains_reactant < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< td class = "paramtype" > const fourdst::atomic::Species & < / td > < td class = "paramname" > < span class = "paramname" > < em > species< / em > < / span > < / td > < td > )< / td >
2025-07-01 07:24:18 -04:00
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< p > True if the species appears among the reactants. < / p >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< tr > < td class = "paramname" > species< / td > < td > Species to test. < / td > < / tr >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
2025-11-24 09:08:28 -05:00
< / div >
< / div >
< a id = "a62fc82b29bacc10cfbceaa1571b14525" name = "a62fc82b29bacc10cfbceaa1571b14525" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a62fc82b29bacc10cfbceaa1571b14525" > ◆   < / a > < / span > countProductOccurrences()< / 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::countProductOccurrences < / 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 > Implemented in < a class = "el" href = "classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#aeba08ed8204fc4999dc0324076d67d2a" > gridfire::rates::weak::WeakReaction< / a > , and < a class = "el" href = "classgridfire_1_1reaction_1_1_reaclib_reaction.html#abe3ab72b2577cbe0f87436b063ce812c" > gridfire::reaction::ReaclibReaction< / a > .< / p >
< / div >
< / div >
< a id = "a036773e4dc917facbf2308dbbe853633" name = "a036773e4dc917facbf2308dbbe853633" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a036773e4dc917facbf2308dbbe853633" > ◆   < / a > < / span > countReactantOccurrences()< / 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::countReactantOccurrences < / 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 > Implemented in < a class = "el" href = "classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#acfc3740ed0aa72986b2c1bc2666974d6" > gridfire::rates::weak::WeakReaction< / a > , and < a class = "el" href = "classgridfire_1_1reaction_1_1_reaclib_reaction.html#a79928f9c52822202b3156bd145e35ad8" > gridfire::reaction::ReaclibReaction< / a > .< / p >
2025-11-05 18:38:07 -05:00
< / div >
< / div >
< a id = "a6c51c30a0eec2f00c7d1f1c0be44cb0b" name = "a6c51c30a0eec2f00c7d1f1c0be44cb0b" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a6c51c30a0eec2f00c7d1f1c0be44cb0b" > ◆   < / a > < / span > getRateCoefficients()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual std::optional< std::vector< < a class = "el" href = "structgridfire_1_1reaction_1_1_rate_coefficient_set.html" > RateCoefficientSet< / a > > > gridfire::reaction::Reaction::getRateCoefficients < / 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" >
2025-11-24 09:08:28 -05:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-11-05 18:38:07 -05:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Implemented in < a class = "el" href = "classgridfire_1_1rates_1_1weak_1_1_weak_reaction.html#a768eed406cc08057ed09e5daf5494650" > gridfire::rates::weak::WeakReaction< / a > , < a class = "el" href = "classgridfire_1_1reaction_1_1_logical_reaclib_reaction.html#adfef828853172ca573395160e2ce9c49" > gridfire::reaction::LogicalReaclibReaction< / a > , and < a class = "el" href = "classgridfire_1_1reaction_1_1_reaclib_reaction.html#aefd0436ae72880358214d5b79c9c79eb" > gridfire::reaction::ReaclibReaction< / a > .< / p >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a7ba8c18cd5445aa3499a6fd351183f7a" name = "a7ba8c18cd5445aa3499a6fd351183f7a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7ba8c18cd5445aa3499a6fd351183f7a" > ◆   < / a > < / span > hash()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual uint64_t gridfire::reaction::Reaction::hash < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
2025-10-08 11:17:09 -04:00
< td class = "paramtype" > uint64_t< / td > < td class = "paramname" > < span class = "paramname" > < em > seed< / em > < / span > < / td > < td > )< / td >
2025-07-01 07:24:18 -04:00
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< table class = "params" >
2025-10-08 11:17:09 -04:00
< tr > < td class = "paramname" > seed< / td > < td > Seed value to initialize/mix into the hash. < / td > < / tr >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a94b92308b9619ec20c690e55157786ba" name = "a94b92308b9619ec20c690e55157786ba" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a94b92308b9619ec20c690e55157786ba" > ◆   < / a > < / span > id()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual std::string_view gridfire::reaction::Reaction::id < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a3906a668410e02239f9031b5fc580214" name = "a3906a668410e02239f9031b5fc580214" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a3906a668410e02239f9031b5fc580214" > ◆   < / a > < / span > is_reverse()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual bool gridfire::reaction::Reaction::is_reverse < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "ae2a1b0395ac127c792a8049cd0bcc249" name = "ae2a1b0395ac127c792a8049cd0bcc249" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae2a1b0395ac127c792a8049cd0bcc249" > ◆   < / a > < / span > num_species()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual size_t gridfire::reaction::Reaction::num_species < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a0d16572ae2b664374d32ee6c4e22123a" name = "a0d16572ae2b664374d32ee6c4e22123a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a0d16572ae2b664374d32ee6c4e22123a" > ◆   < / a > < / span > product_species()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::product_species < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a3d7451045d8df41ea98b5e419e0e5ab0" name = "a3d7451045d8df41ea98b5e419e0e5ab0" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a3d7451045d8df41ea98b5e419e0e5ab0" > ◆   < / a > < / span > products()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual const std::vector< fourdst::atomic::Species > & gridfire::reaction::Reaction::products < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a7e06936f9e8bb74e68eaa10e708e5d3c" name = "a7e06936f9e8bb74e68eaa10e708e5d3c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7e06936f9e8bb74e68eaa10e708e5d3c" > ◆   < / a > < / span > qValue()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual double gridfire::reaction::Reaction::qValue < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a82c14096308cdc9126ab6d9667febcd2" name = "a82c14096308cdc9126ab6d9667febcd2" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a82c14096308cdc9126ab6d9667febcd2" > ◆   < / a > < / span > reactant_species()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::reactant_species < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "ac7b08c61cdc97268b9442afec4d08dad" name = "ac7b08c61cdc97268b9442afec4d08dad" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac7b08c61cdc97268b9442afec4d08dad" > ◆   < / a > < / span > reactants()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual const std::vector< fourdst::atomic::Species > & gridfire::reaction::Reaction::reactants < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual std::unordered_map< fourdst::atomic::Species, int > gridfire::reaction::Reaction::stoichiometry < / td >
2025-07-01 07:24:18 -04:00
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< td class = "memname" > virtual int gridfire::reaction::Reaction::stoichiometry < / td >
2025-07-01 07:24:18 -04:00
< 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" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< p > Stoichiometric coefficient for a particular species. < / p >
2025-07-01 07:24:18 -04:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2025-10-08 11:17:09 -04:00
< tr > < td class = "paramname" > species< / td > < td > Species for which to query the coefficient. < / td > < / tr >
2025-07-01 07:24:18 -04:00
< / table >
< / dd >
< / dl >
2025-10-08 11:17:09 -04:00
< dl class = "section return" > < dt > Returns< / dt > < dd > Negative for reactants, positive for products, zero if absent. < / dd > < / dl >
2025-07-01 07:24:18 -04:00
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< a id = "a7f2590eee9f0dfb7b73cd92170a844b7" name = "a7f2590eee9f0dfb7b73cd92170a844b7" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7f2590eee9f0dfb7b73cd92170a844b7" > ◆   < / a > < / span > type()< / h2 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel nodiscard" > nodiscard< / span > < span class = "mlabel pure-virtual" > pure virtual< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< tr >
2025-10-08 11:17:09 -04:00
< 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 >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
2025-10-08 11:17:09 -04:00
< span class = "mlabels" > < span class = "mlabel friend" > friend< / span > < / span > < / td >
2025-07-01 07:24:18 -04:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2025-10-08 11:17:09 -04:00
< hr / > The documentation for this class was generated from the following file:< ul >
2025-07-31 10:54:31 -04:00
< li > src/include/gridfire/reaction/< a class = "el" href = "reaction_8h.html" > reaction.h< / a > < / li >
2025-07-01 07:24:18 -04:00
< / 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 >