docs(docs): rebuilt

This commit is contained in:
2025-11-27 17:47:38 -05:00
parent ceff418999
commit 42c9d18063
220 changed files with 158249 additions and 99011 deletions

View File

@@ -3,18 +3,16 @@
<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="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>fourdst::libcomposition: libcomposition: A Modern C++ Library for Chemical Compositions</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="resize.js"></script>
<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>
@@ -29,7 +27,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">fourdst::libcomposition<span id="projectnumber">&#160;v2.0.1</span>
<div id="projectname">fourdst::libcomposition<span id="projectnumber">&#160;v2.2.1</span>
</div>
<div id="projectbrief">Robust atomic species information library</div>
</td>
@@ -38,24 +36,19 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;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&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
@@ -73,7 +66,7 @@ $(function() {
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('index.html',''); initResizable(true); });
$(document).ready(function(){initNavTree('index.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
@@ -108,7 +101,7 @@ Introduction</h1>
<h3><a class="anchor" id="autotoc_md10"></a>
Key Features</h3>
<ul>
<li><b>TypeSafe Species Representation</b>: Strongly typed isotopes (<code><a class="el" href="structfourdst_1_1atomic_1_1_species.html" title="Represents an atomic species (isotope) with its fundamental physical properties.">fourdst::atomic::Species</a></code>) generated from evaluated nuclear data (AME2020 / NUBASE2020).</li>
<li><b>TypeSafe Species Representation</b>: Strongly typed isotopes (<code><a class="el" href="structfourdst_1_1atomic_1_1Species.html" title="Represents an atomic species (isotope) with its fundamental physical properties.">fourdst::atomic::Species</a></code>) generated from evaluated nuclear data (AME2020 / NUBASE2020).</li>
<li><b>Molar Abundance Core</b>: Stores absolute molar abundances and derives all secondary quantities (mass / number fractions, mean particle mass, electron abundance) on demand, with internal caching.</li>
<li><b>Canonical Composition Support</b>: Direct computation of canonical (X: Hydrogen, Y: Helium, Z: Metals) mass fractions via <code>getCanonicalComposition()</code>.</li>
<li><b>Convenience Construction</b>: Helper utilities for constructing compositions from a vector or set of mass fractions (<code>buildCompositionFromMassFractions</code>).</li>
@@ -149,10 +142,10 @@ Usage</h1>
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespacefourdst_1_1composition.html">fourdst::composition</a>;</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Register symbols upon construction (no molar abundances yet -&gt; default 0.0)</span></div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1_composition.html">Composition</a> comp({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>, <span class="stringliteral">&quot;C-12&quot;</span>});</div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1Composition.html">Composition</a> comp({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>, <span class="stringliteral">&quot;C-12&quot;</span>});</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Set molar abundances (absolute counts; they need not sum to 1.0)</span></div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(<span class="stringliteral">&quot;H-1&quot;</span>, 10.0);</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(<span class="stringliteral">&quot;H-1&quot;</span>, 10.0);</div>
<div class="line"> comp.setMolarAbundance(<span class="stringliteral">&quot;He-4&quot;</span>, 3.0);</div>
<div class="line"> comp.setMolarAbundance(<span class="stringliteral">&quot;C-12&quot;</span>, 0.25);</div>
<div class="line"> </div>
@@ -165,8 +158,8 @@ Usage</h1>
<div class="line"> std::cout &lt;&lt; <span class="stringliteral">&quot;He-4 number fraction: &quot;</span> &lt;&lt; y_he4 &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> std::cout &lt;&lt; canon &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>; <span class="comment">// &lt;CanonicalComposition: X=..., Y=..., Z=...&gt;</span></div>
<div class="line">}</div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_composition_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1_composition.html">fourdst::composition::Composition</a></div><div class="ttdoc">Manages a collection of chemical species and their abundances.</div><div class="ttdef"><b>Definition</b> <a href="composition_8h_source.html#l00097">composition.h:97</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_composition_html_a262d7133035d4e6f45daa81827abf5e7"><div class="ttname"><a href="classfourdst_1_1composition_1_1_composition.html#a262d7133035d4e6f45daa81827abf5e7">fourdst::composition::Composition::setMolarAbundance</a></div><div class="ttdeci">void setMolarAbundance(const std::string &amp;symbol, const double &amp;molar_abundance)</div><div class="ttdoc">Sets the molar abundance for a given symbol.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00529">composition.cpp:529</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html">fourdst::composition::Composition</a></div><div class="ttdoc">Manages a collection of chemical species and their abundances.</div><div class="ttdef"><b>Definition</b> <a href="composition_8h_source.html#l00098">composition.h:98</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_a262d7133035d4e6f45daa81827abf5e7"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#a262d7133035d4e6f45daa81827abf5e7">fourdst::composition::Composition::setMolarAbundance</a></div><div class="ttdeci">void setMolarAbundance(const std::string &amp;symbol, const double &amp;molar_abundance)</div><div class="ttdoc">Sets the molar abundance for a given symbol.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00580">composition.cpp:580</a></div></div>
<div class="ttc" id="acomposition_8h_html"><div class="ttname"><a href="composition_8h.html">composition.h</a></div></div>
<div class="ttc" id="anamespacefourdst_1_1composition_html"><div class="ttname"><a href="namespacefourdst_1_1composition.html">fourdst::composition</a></div><div class="ttdoc">Utilities and types for representing and manipulating chemical compositions.</div></div>
</div><!-- fragment --><h4><a class="anchor" id="autotoc_md16"></a>
@@ -180,19 +173,16 @@ Usage</h1>
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">fourdst::atomic</a>;</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Build directly from species constants</span></div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1_composition.html">Composition</a> comp(std::vector&lt;Species&gt;{<a class="code hl_function" href="namespacefourdst_1_1atomic.html#a6766bc834fd656df51bdcf22f7d97877">H_1</a>, <a class="code hl_function" href="namespacefourdst_1_1atomic.html#ab665e3014e2a805624227350699f141a">He_4</a>, <a class="code hl_function" href="namespacefourdst_1_1atomic.html#af2588b97ce949e37c193d6a3e5cb84a0">O_16</a>});</div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1Composition.html">Composition</a> comp(std::vector&lt;Species&gt;{H_1, He_4, O_16});</div>
<div class="line"> </div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(<a class="code hl_function" href="namespacefourdst_1_1atomic.html#a6766bc834fd656df51bdcf22f7d97877">H_1</a>, 5.0);</div>
<div class="line"> comp.setMolarAbundance(<a class="code hl_function" href="namespacefourdst_1_1atomic.html#ab665e3014e2a805624227350699f141a">He_4</a>, 2.5);</div>
<div class="line"> comp.setMolarAbundance(<a class="code hl_function" href="namespacefourdst_1_1atomic.html#af2588b97ce949e37c193d6a3e5cb84a0">O_16</a>, 0.1);</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(H_1, 5.0);</div>
<div class="line"> comp.setMolarAbundance(He_4, 2.5);</div>
<div class="line"> comp.setMolarAbundance(O_16, 0.1);</div>
<div class="line"> </div>
<div class="line"> std::cout &lt;&lt; <span class="stringliteral">&quot;Mean particle mass: &quot;</span> &lt;&lt; comp.getMeanParticleMass() &lt;&lt; <span class="stringliteral">&quot; g/mol\n&quot;</span>;</div>
<div class="line"> std::cout &lt;&lt; <span class="stringliteral">&quot;Electron abundance (Ye): &quot;</span> &lt;&lt; comp.getElectronAbundance() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line">}</div>
<div class="ttc" id="anamespacefourdst_1_1atomic_html"><div class="ttname"><a href="namespacefourdst_1_1atomic.html">fourdst::atomic</a></div><div class="ttdoc">Contains canonical information about atomic species and elements used by 4D-STAR.</div></div>
<div class="ttc" id="anamespacefourdst_1_1atomic_html_a6766bc834fd656df51bdcf22f7d97877"><div class="ttname"><a href="namespacefourdst_1_1atomic.html#a6766bc834fd656df51bdcf22f7d97877">fourdst::atomic::H_1</a></div><div class="ttdeci">static const Species H_1(&quot;H-1&quot;, &quot;H&quot;, -1, 0, 1, 1, 0.0, &quot;B-&quot;, std::numeric_limits&lt; double &gt;::quiet_NaN(), std::numeric_limits&lt; double &gt;::infinity(), &quot;/2+*&quot;, &quot;S=99.9855 78&quot;, 1.007825031898, 1.4e-05)</div></div>
<div class="ttc" id="anamespacefourdst_1_1atomic_html_ab665e3014e2a805624227350699f141a"><div class="ttname"><a href="namespacefourdst_1_1atomic.html#ab665e3014e2a805624227350699f141a">fourdst::atomic::He_4</a></div><div class="ttdeci">static const Species He_4(&quot;He-4&quot;, &quot;He&quot;, 0, 2, 2, 4, 7073.9156, &quot;B-&quot;, -22898.274, std::numeric_limits&lt; double &gt;::infinity(), &quot;+&quot;, &quot;S=99.9998 2&quot;, 4.00260325413, 0.00016)</div></div>
<div class="ttc" id="anamespacefourdst_1_1atomic_html_af2588b97ce949e37c193d6a3e5cb84a0"><div class="ttname"><a href="namespacefourdst_1_1atomic.html#af2588b97ce949e37c193d6a3e5cb84a0">fourdst::atomic::O_16</a></div><div class="ttdeci">static const Species O_16(&quot;O-16&quot;, &quot;O&quot;, 0, 8, 8, 16, 7976.2072, &quot;B-&quot;, -15412.184, std::numeric_limits&lt; double &gt;::infinity(), &quot;+&quot;, &quot;S=99.757 11&quot;, 15.99491461926, 0.00032)</div></div>
<div class="ttc" id="aspecies_8h_html"><div class="ttname"><a href="species_8h.html">species.h</a></div></div>
</div><!-- fragment --><h4><a class="anchor" id="autotoc_md17"></a>
3. Building from Mass Fractions (Helper Utility)</h4>
@@ -205,13 +195,13 @@ Usage</h1>
<div class="line"> std::vector&lt;std::string&gt; symbols = {<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>, <span class="stringliteral">&quot;C-12&quot;</span>};</div>
<div class="line"> std::vector&lt;double&gt; mf = {0.70, 0.28, 0.02}; <span class="comment">// Must sum to ~1 within tolerance</span></div>
<div class="line"> </div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1_composition.html">Composition</a> comp = <a class="code hl_function" href="namespacefourdst_1_1composition.html#aa90b1ef07d607c0c829bedccf381cf54">buildCompositionFromMassFractions</a>(symbols, mf);</div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1Composition.html">Composition</a> comp = <a class="code hl_function" href="namespacefourdst_1_1composition.html#aa90b1ef07d607c0c829bedccf381cf54">buildCompositionFromMassFractions</a>(symbols, mf);</div>
<div class="line"> </div>
<div class="line"> <span class="keyword">auto</span> canon = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#aac5b214a3d1278e127422224cb9cee50">getCanonicalComposition</a>();</div>
<div class="line"> <span class="keyword">auto</span> canon = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#aac5b214a3d1278e127422224cb9cee50">getCanonicalComposition</a>();</div>
<div class="line"> std::cout &lt;&lt; canon &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line">}</div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_composition_html_aac5b214a3d1278e127422224cb9cee50"><div class="ttname"><a href="classfourdst_1_1composition_1_1_composition.html#aac5b214a3d1278e127422224cb9cee50">fourdst::composition::Composition::getCanonicalComposition</a></div><div class="ttdeci">CanonicalComposition getCanonicalComposition() const</div><div class="ttdoc">Compute the canonical composition (X, Y, Z) of the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00330">composition.cpp:330</a></div></div>
<div class="ttc" id="anamespacefourdst_1_1composition_html_aa90b1ef07d607c0c829bedccf381cf54"><div class="ttname"><a href="namespacefourdst_1_1composition.html#aa90b1ef07d607c0c829bedccf381cf54">fourdst::composition::buildCompositionFromMassFractions</a></div><div class="ttdeci">Composition buildCompositionFromMassFractions(const std::vector&lt; std::string &gt; &amp;symbols, const std::vector&lt; double &gt; &amp;massFractions)</div><div class="ttdoc">Build a Composition object from symbols and their corresponding mass fractions.</div><div class="ttdef"><b>Definition</b> <a href="utils_8cpp_source.html#l00074">utils.cpp:74</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_aac5b214a3d1278e127422224cb9cee50"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#aac5b214a3d1278e127422224cb9cee50">fourdst::composition::Composition::getCanonicalComposition</a></div><div class="ttdeci">CanonicalComposition getCanonicalComposition() const</div><div class="ttdoc">Compute the canonical composition (X, Y, Z) of the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00377">composition.cpp:377</a></div></div>
<div class="ttc" id="anamespacefourdst_1_1composition_html_aa90b1ef07d607c0c829bedccf381cf54"><div class="ttname"><a href="namespacefourdst_1_1composition.html#aa90b1ef07d607c0c829bedccf381cf54">fourdst::composition::buildCompositionFromMassFractions</a></div><div class="ttdeci">Composition buildCompositionFromMassFractions(const std::vector&lt; std::string &gt; &amp;symbols, const std::vector&lt; double &gt; &amp;massFractions)</div><div class="ttdoc">Build a Composition object from symbols and their corresponding mass fractions.</div><div class="ttdef"><b>Definition</b> <a href="utils_8cpp_source.html#l00084">utils.cpp:84</a></div></div>
<div class="ttc" id="autils_8h_html"><div class="ttname"><a href="utils_8h.html">utils.h</a></div></div>
</div><!-- fragment --><h4><a class="anchor" id="autotoc_md18"></a>
4. Iterating and Sorted Vector Interfaces</h4>
@@ -221,8 +211,8 @@ Usage</h1>
<div class="line"><span class="keywordtype">int</span> main() {</div>
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespacefourdst_1_1composition.html">fourdst::composition</a>;</div>
<div class="line"> </div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1_composition.html">Composition</a> comp({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;C-12&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>}); <span class="comment">// Internally sorted by mass (H &lt; He &lt; C)</span></div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>, <span class="stringliteral">&quot;C-12&quot;</span>}, {10.0, 3.0, 0.25});</div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1Composition.html">Composition</a> comp({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;C-12&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>}); <span class="comment">// Internally sorted by mass (H &lt; He &lt; C)</span></div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>, <span class="stringliteral">&quot;C-12&quot;</span>}, {10.0, 3.0, 0.25});</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Ordered iteration (lightest -&gt; heaviest)</span></div>
<div class="line"> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;[sp, y] : comp) {</div>
@@ -230,22 +220,30 @@ Usage</h1>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Vector access (index corresponds to ordering by atomic mass)</span></div>
<div class="line"> <span class="keyword">auto</span> molarVec = comp.getMolarAbundanceVector();</div>
<div class="line"> <span class="keyword">auto</span> massVec = comp.getMassFractionVector();</div>
<div class="line"> <span class="keyword">auto</span> molarVec = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#abcb391f5fca2b636127e48e681e4c3ee">getMolarAbundanceVector</a>();</div>
<div class="line"> <span class="keyword">auto</span> massVec = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#af4f44aaf8b7e0d63872a70b5e2131369">getMassFractionVector</a>();</div>
<div class="line"> </div>
<div class="line"> <span class="keywordtype">size_t</span> idx_he4 = comp.getSpeciesIndex(<span class="stringliteral">&quot;He-4&quot;</span>);</div>
<div class="line"> <span class="keywordtype">size_t</span> idx_he4 = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a0d94f62402bb90b5d12679faeaa8c5d7">getSpeciesIndex</a>(<span class="stringliteral">&quot;He-4&quot;</span>);</div>
<div class="line"> std::cout &lt;&lt; <span class="stringliteral">&quot;He-4 index: &quot;</span> &lt;&lt; idx_he4 &lt;&lt; <span class="stringliteral">&quot;, molar abundance at index: &quot;</span> &lt;&lt; molarVec[idx_he4] &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line">}</div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_a0d94f62402bb90b5d12679faeaa8c5d7"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#a0d94f62402bb90b5d12679faeaa8c5d7">fourdst::composition::Composition::getSpeciesIndex</a></div><div class="ttdeci">size_t getSpeciesIndex(const std::string &amp;symbol) const override</div><div class="ttdoc">get the index in the sorted vector representation for a given symbol</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00485">composition.cpp:485</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_abcb391f5fca2b636127e48e681e4c3ee"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#abcb391f5fca2b636127e48e681e4c3ee">fourdst::composition::Composition::getMolarAbundanceVector</a></div><div class="ttdeci">std::vector&lt; double &gt; getMolarAbundanceVector() const noexcept override</div><div class="ttdoc">Get a uniform vector representation of the molar abundances stored in the composition object sorted s...</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00463">composition.cpp:463</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_af4f44aaf8b7e0d63872a70b5e2131369"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#af4f44aaf8b7e0d63872a70b5e2131369">fourdst::composition::Composition::getMassFractionVector</a></div><div class="ttdeci">std::vector&lt; double &gt; getMassFractionVector() const noexcept override</div><div class="ttdoc">Get a uniform vector representation of the mass fraction stored in the composition object sorted such...</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00420">composition.cpp:420</a></div></div>
</div><!-- fragment --><h4><a class="anchor" id="autotoc_md19"></a>
5. Accessing Specific Derived Quantities</h4>
<div class="fragment"><div class="line"><span class="comment">// Assume &#39;comp&#39; is already populated.</span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">double</span> mf_c12 = comp.getMassFraction(<span class="stringliteral">&quot;C-12&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> nf_c12 = comp.getNumberFraction(<span class="stringliteral">&quot;C-12&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> mol_c12 = comp.getMolarAbundance(<span class="stringliteral">&quot;C-12&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> meanA = comp.getMeanParticleMass();</div>
<div class="line"><span class="keywordtype">double</span> Ye = comp.getElectronAbundance();</div>
<div class="line"><span class="keyword">auto</span> canon = comp.getCanonicalComposition();</div>
<div class="line"><span class="keywordtype">double</span> mf_c12 = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a9ea2b673341fdc67afeb0f0517a54c8c">getMassFraction</a>(<span class="stringliteral">&quot;C-12&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> nf_c12 = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a34f71d4d8f0297c576fd62fabd490305">getNumberFraction</a>(<span class="stringliteral">&quot;C-12&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> mol_c12 = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#add67a92d73e3a57a2bbdb52bc9ca3bfe">getMolarAbundance</a>(<span class="stringliteral">&quot;C-12&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> meanA = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#afbbb5e51ad5ae5c0fa6bc0094195aecd">getMeanParticleMass</a>();</div>
<div class="line"><span class="keywordtype">double</span> Ye = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a90fc71d1fe03017ee4c7a1cac69d24fb">getElectronAbundance</a>();</div>
<div class="line"><span class="keyword">auto</span> canon = comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#aac5b214a3d1278e127422224cb9cee50">getCanonicalComposition</a>();</div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_a34f71d4d8f0297c576fd62fabd490305"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#a34f71d4d8f0297c576fd62fabd490305">fourdst::composition::Composition::getNumberFraction</a></div><div class="ttdeci">double getNumberFraction(const std::string &amp;symbol) const override</div><div class="ttdoc">Gets the number fraction for a given symbol. See the overload for species-based lookup for more detai...</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00307">composition.cpp:307</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_a90fc71d1fe03017ee4c7a1cac69d24fb"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#a90fc71d1fe03017ee4c7a1cac69d24fb">fourdst::composition::Composition::getElectronAbundance</a></div><div class="ttdeci">double getElectronAbundance() const noexcept override</div><div class="ttdoc">Compute the electron abundance of the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00368">composition.cpp:368</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_a9ea2b673341fdc67afeb0f0517a54c8c"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#a9ea2b673341fdc67afeb0f0517a54c8c">fourdst::composition::Composition::getMassFraction</a></div><div class="ttdeci">std::unordered_map&lt; atomic::Species, double &gt; getMassFraction() const noexcept override</div><div class="ttdoc">Gets the mass fractions of all species in the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00298">composition.cpp:298</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_add67a92d73e3a57a2bbdb52bc9ca3bfe"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#add67a92d73e3a57a2bbdb52bc9ca3bfe">fourdst::composition::Composition::getMolarAbundance</a></div><div class="ttdeci">double getMolarAbundance(const std::string &amp;symbol) const override</div><div class="ttdoc">Gets the molar abundances of all species in the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00338">composition.cpp:338</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_afbbb5e51ad5ae5c0fa6bc0094195aecd"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#afbbb5e51ad5ae5c0fa6bc0094195aecd">fourdst::composition::Composition::getMeanParticleMass</a></div><div class="ttdeci">double getMeanParticleMass() const noexcept override</div><div class="ttdoc">Compute the mean particle mass of the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00358">composition.cpp:358</a></div></div>
</div><!-- fragment --><h4><a class="anchor" id="autotoc_md20"></a>
6. Exception Handling Examples</h4>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
@@ -256,43 +254,43 @@ Usage</h1>
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespacefourdst_1_1composition.html">fourdst::composition</a>;</div>
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespacefourdst_1_1composition_1_1exceptions.html">fourdst::composition::exceptions</a>;</div>
<div class="line"> </div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1_composition.html">Composition</a> comp;</div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1Composition.html">Composition</a> comp;</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">try</span> {</div>
<div class="line"> <span class="comment">// Unknown symbol (not in species database)</span></div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">registerSymbol</a>(<span class="stringliteral">&quot;Xx-999&quot;</span>);</div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error.html">UnknownSymbolError</a> &amp;e) {</div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught UnknownSymbolError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1_species_error.html#af0c63f7e05d0c65157b960c654d09b67">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">registerSymbol</a>(<span class="stringliteral">&quot;Xx-999&quot;</span>);</div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1UnknownSymbolError.html">UnknownSymbolError</a> &amp;e) {</div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught UnknownSymbolError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1SpeciesError.html#af0c63f7e05d0c65157b960c654d09b67">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">registerSymbol</a>(<span class="stringliteral">&quot;H-1&quot;</span>);</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">registerSymbol</a>(<span class="stringliteral">&quot;H-1&quot;</span>);</div>
<div class="line"> <span class="keywordflow">try</span> {</div>
<div class="line"> <span class="comment">// Unregistered symbol used in a setter</span></div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(<span class="stringliteral">&quot;He-4&quot;</span>, 1.0); <span class="comment">// He-4 not registered yet</span></div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error.html">UnregisteredSymbolError</a> &amp;e) {</div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught UnregisteredSymbolError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1_composition_error.html#ae44ceddb19da8a8cda7ee150b6826d08">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(<span class="stringliteral">&quot;He-4&quot;</span>, 1.0); <span class="comment">// He-4 not registered yet</span></div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1UnregisteredSymbolError.html">UnregisteredSymbolError</a> &amp;e) {</div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught UnregisteredSymbolError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1CompositionError.html#ae44ceddb19da8a8cda7ee150b6826d08">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">registerSymbol</a>(<span class="stringliteral">&quot;He-4&quot;</span>);</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">registerSymbol</a>(<span class="stringliteral">&quot;He-4&quot;</span>);</div>
<div class="line"> <span class="keywordflow">try</span> {</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1_composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(<span class="stringliteral">&quot;H-1&quot;</span>, -3.0);</div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error.html">InvalidCompositionError</a> &amp;e) { </div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught InvalidCompositionError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1_composition_error.html#ae44ceddb19da8a8cda7ee150b6826d08">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> comp.<a class="code hl_function" href="classfourdst_1_1composition_1_1Composition.html#a262d7133035d4e6f45daa81827abf5e7">setMolarAbundance</a>(<span class="stringliteral">&quot;H-1&quot;</span>, -3.0);</div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError.html">InvalidCompositionError</a> &amp;e) { </div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught InvalidCompositionError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1CompositionError.html#ae44ceddb19da8a8cda7ee150b6826d08">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Mass fraction construction validation</span></div>
<div class="line"> <span class="keywordflow">try</span> {</div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1_composition.html">Composition</a> bad = <a class="code hl_function" href="namespacefourdst_1_1composition.html#aa90b1ef07d607c0c829bedccf381cf54">buildCompositionFromMassFractions</a>({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>}, {0.6, 0.5}); <span class="comment">// sums to 1.1</span></div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error.html">InvalidCompositionError</a> &amp;e) {</div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught InvalidCompositionError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1_composition_error.html#ae44ceddb19da8a8cda7ee150b6826d08">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> <a class="code hl_class" href="classfourdst_1_1composition_1_1Composition.html">Composition</a> bad = <a class="code hl_function" href="namespacefourdst_1_1composition.html#aa90b1ef07d607c0c829bedccf381cf54">buildCompositionFromMassFractions</a>({<span class="stringliteral">&quot;H-1&quot;</span>, <span class="stringliteral">&quot;He-4&quot;</span>}, {0.6, 0.5}); <span class="comment">// sums to 1.1</span></div>
<div class="line"> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError.html">InvalidCompositionError</a> &amp;e) {</div>
<div class="line"> std::cerr &lt;&lt; <span class="stringliteral">&quot;Caught InvalidCompositionError: &quot;</span> &lt;&lt; e.<a class="code hl_function" href="classfourdst_1_1composition_1_1exceptions_1_1CompositionError.html#ae44ceddb19da8a8cda7ee150b6826d08">what</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_composition_html_a3ab4dcda0bfd1a35b169bcc57fe66725"><div class="ttname"><a href="classfourdst_1_1composition_1_1_composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">fourdst::composition::Composition::registerSymbol</a></div><div class="ttdeci">void registerSymbol(const std::string &amp;symbol)</div><div class="ttdoc">Registers a new symbol for inclusion in the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00178">composition.cpp:178</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1_composition_error_html_ae44ceddb19da8a8cda7ee150b6826d08"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1_composition_error.html#ae44ceddb19da8a8cda7ee150b6826d08">fourdst::composition::exceptions::CompositionError::what</a></div><div class="ttdeci">const char * what() const noexcept override</div><div class="ttdoc">Returns the error message.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00032">exceptions_composition.h:32</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error.html">fourdst::composition::exceptions::InvalidCompositionError</a></div><div class="ttdoc">Exception thrown when a composition is in an invalid or inconsistent state.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00041">exceptions_composition.h:41</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1_species_error_html_af0c63f7e05d0c65157b960c654d09b67"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1_species_error.html#af0c63f7e05d0c65157b960c654d09b67">fourdst::composition::exceptions::SpeciesError::what</a></div><div class="ttdeci">const char * what() const noexcept override</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00066">exceptions_composition.h:66</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error.html">fourdst::composition::exceptions::UnknownSymbolError</a></div><div class="ttdoc">Exception thrown when an unknown symbol is encountered.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00077">exceptions_composition.h:77</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error.html">fourdst::composition::exceptions::UnregisteredSymbolError</a></div><div class="ttdoc">Exception thrown when a symbol is used that has not been registered.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00051">exceptions_composition.h:51</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1Composition_html_a3ab4dcda0bfd1a35b169bcc57fe66725"><div class="ttname"><a href="classfourdst_1_1composition_1_1Composition.html#a3ab4dcda0bfd1a35b169bcc57fe66725">fourdst::composition::Composition::registerSymbol</a></div><div class="ttdeci">void registerSymbol(const std::string &amp;symbol)</div><div class="ttdoc">Registers a new symbol for inclusion in the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition_8cpp_source.html#l00225">composition.cpp:225</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1CompositionError_html_ae44ceddb19da8a8cda7ee150b6826d08"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1CompositionError.html#ae44ceddb19da8a8cda7ee150b6826d08">fourdst::composition::exceptions::CompositionError::what</a></div><div class="ttdeci">const char * what() const noexcept override</div><div class="ttdoc">Returns the error message.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00032">exceptions_composition.h:32</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError.html">fourdst::composition::exceptions::InvalidCompositionError</a></div><div class="ttdoc">Exception thrown when a composition is in an invalid or inconsistent state.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00041">exceptions_composition.h:41</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1SpeciesError_html_af0c63f7e05d0c65157b960c654d09b67"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1SpeciesError.html#af0c63f7e05d0c65157b960c654d09b67">fourdst::composition::exceptions::SpeciesError::what</a></div><div class="ttdeci">const char * what() const noexcept override</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00066">exceptions_composition.h:66</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1UnknownSymbolError_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1UnknownSymbolError.html">fourdst::composition::exceptions::UnknownSymbolError</a></div><div class="ttdoc">Exception thrown when an unknown symbol is encountered.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00077">exceptions_composition.h:77</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1exceptions_1_1UnregisteredSymbolError_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1exceptions_1_1UnregisteredSymbolError.html">fourdst::composition::exceptions::UnregisteredSymbolError</a></div><div class="ttdoc">Exception thrown when a symbol is used that has not been registered.</div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00051">exceptions_composition.h:51</a></div></div>
<div class="ttc" id="aexceptions__composition_8h_html"><div class="ttname"><a href="exceptions__composition_8h.html">exceptions_composition.h</a></div></div>
<div class="ttc" id="anamespacefourdst_1_1composition_1_1exceptions_html"><div class="ttname"><a href="namespacefourdst_1_1composition_1_1exceptions.html">fourdst::composition::exceptions</a></div><div class="ttdef"><b>Definition</b> <a href="exceptions__composition_8h_source.html#l00006">exceptions_composition.h:6</a></div></div>
</div><!-- fragment --><hr />
@@ -334,7 +332,7 @@ API Reference</h1>
<p>For a complete list of all classes, methods, and functions, see the <b>Namespaces</b> and <b>Classes</b> sections of this generated documentation.</p>
<ul>
<li>Namespace overview: <code><a class="el" href="namespacefourdst_1_1composition.html" title="Utilities and types for representing and manipulating chemical compositions.">fourdst::composition</a></code>, <code><a class="el" href="namespacefourdst_1_1atomic.html" title="Contains canonical information about atomic species and elements used by 4D-STAR.">fourdst::atomic</a></code></li>
<li>Core classes: <code><a class="el" href="classfourdst_1_1composition_1_1_composition.html" title="Manages a collection of chemical species and their abundances.">fourdst::composition::Composition</a></code>, <code>fourdst::composition::CompositionAbstract</code></li>
<li>Core classes: <code><a class="el" href="classfourdst_1_1composition_1_1Composition.html" title="Manages a collection of chemical species and their abundances.">fourdst::composition::Composition</a></code>, <code><a class="el" href="classfourdst_1_1composition_1_1CompositionAbstract.html" title="Abstract base class for chemical composition representations.">fourdst::composition::CompositionAbstract</a></code></li>
<li>Helper utilities: <code>buildCompositionFromMassFractions</code></li>
<li>Exception hierarchy: <code><a class="el" href="namespacefourdst_1_1composition_1_1exceptions.html">fourdst::composition::exceptions</a></code></li>
</ul>
@@ -351,13 +349,12 @@ Testing Overview</h1>
</ul>
<p>Use tolerances (e.g. 1e-121e-14) when comparing floatingpoint derived quantities in custom tests. </p>
</div></div><!-- PageDoc -->
<a href="doxygen_crawl.html"></a>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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>
<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.9.8 </li>
</ul>
</div>
</body>