\doxysection{Composition\+Abstract Class Reference} \hypertarget{class_composition_abstract}{}\label{class_composition_abstract}\index{CompositionAbstract@{CompositionAbstract}} Abstract base class for chemical composition representations. {\ttfamily \#include $<$composition\+\_\+abstract.\+h$>$} Inheritance diagram for Composition\+Abstract\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=188pt]{class_composition_abstract__inherit__graph} \end{center} \end{figure} \doxysubsubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item virtual \mbox{\hyperlink{class_composition_abstract_aaae3d6215b7433cb9871664852a95d1b}{\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract}} ()=default \begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item virtual bool \mbox{\hyperlink{class_composition_abstract_af42050fabc3c888d77f0fc98f08bc80a}{contains}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const noexcept=0 \begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item virtual bool \mbox{\hyperlink{class_composition_abstract_aebd1997d8b3a59356f587c234b290796}{contains}} (const std\+::string \&symbol) const =0 \begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{class_composition_abstract_a230f58ef18a9816c1d13c287eaf3ba05}{size}} () const noexcept=0 \item virtual std\+::set$<$ std\+::string $>$ \mbox{\hyperlink{class_composition_abstract_a5a4362dc0d77659b75d528a0e884ed7b}{get\+Registered\+Symbols}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get all registered chemical symbols in the composition. \end{DoxyCompactList}\item virtual const std\+::set$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} $>$ \& \mbox{\hyperlink{class_composition_abstract_ae6e7152d69fc5f5a128f8cb2cfce1587}{get\+Registered\+Species}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get all registered atomic species in the composition. \end{DoxyCompactList}\item virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{class_composition_abstract_afb72c61da511b7963382804a0e87a54a}{get\+Mass\+Fraction}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get the mass fraction for all registered symbols. \end{DoxyCompactList}\item virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{class_composition_abstract_a506ef92e69f99ad02598c8d178df1c31}{get\+Number\+Fraction}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get the number fraction for all registered symbols. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_ae0044d30efddccacc9fe7c8e58003066}{get\+Mass\+Fraction}} (const std\+::string \&symbol) const =0 \begin{DoxyCompactList}\small\item\em Get the mass fraction for a given symbol. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_a401e8298ed93b7963624e8a17eb17b55}{get\+Mass\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0 \begin{DoxyCompactList}\small\item\em Get the mass fraction for a given species. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_ae6026b1335230c6dfbd897ec8dfda295}{get\+Number\+Fraction}} (const std\+::string \&symbol) const =0 \begin{DoxyCompactList}\small\item\em Get the number fraction for a given symbol. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_a27d1d91203adb736454aa9b9936fc8c3}{get\+Number\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0 \begin{DoxyCompactList}\small\item\em Get the number fraction for a given species. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_a71fb459bf4375af2fe33c8a7c0747ce0}{get\+Molar\+Abundance}} (const std\+::string \&symbol) const =0 \begin{DoxyCompactList}\small\item\em Get the molar abundance for a given symbol. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_a4cfc9e37370caae275c0f801b700e37b}{get\+Molar\+Abundance}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0 \begin{DoxyCompactList}\small\item\em Get the molar abundance for a given species. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_a85bf97a30ecadd0750bece4442f4deff}{get\+Mean\+Particle\+Mass}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get the mean particle mass of the composition. \end{DoxyCompactList}\item virtual double \mbox{\hyperlink{class_composition_abstract_a86b60205094ed72435ee84abf9498e21}{get\+Electron\+Abundance}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get the electron abundance of the composition. \end{DoxyCompactList}\item virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{class_composition_abstract_a82583ffa3c08297cda6c3957a6a7dbc6}{get\+Mass\+Fraction\+Vector}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get the mass fraction as a vector. \end{DoxyCompactList}\item virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{class_composition_abstract_a883ea47508557952b9f15432bf0be376}{get\+Number\+Fraction\+Vector}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get the number fraction as a vector. \end{DoxyCompactList}\item virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{class_composition_abstract_a1ad7a33d17db32b2c9ce0a30cd6628f9}{get\+Molar\+Abundance\+Vector}} () const noexcept=0 \begin{DoxyCompactList}\small\item\em Get the molar abundance as a vector. \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{class_composition_abstract_a1e5195debe590960aa064289733958ba}{get\+Species\+Index}} (const std\+::string \&symbol) const =0 \begin{DoxyCompactList}\small\item\em Get the index of a species by symbol. \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{class_composition_abstract_ab41311a8c20a9556d087a604da735767}{get\+Species\+Index}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0 \begin{DoxyCompactList}\small\item\em Get the index of a species. \end{DoxyCompactList}\item virtual \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \mbox{\hyperlink{class_composition_abstract_aaee3651c1672b2763181e966e4525ba6}{get\+Species\+At\+Index}} (size\+\_\+t index) const =0 \begin{DoxyCompactList}\small\item\em Get the species at a given index. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} Abstract base class for chemical composition representations. The purpose of this class is to define a standard interface for all composition types. Children of this class are responsible for implementing the setter methods, but any object that is a child of \doxylink{class_composition_abstract}{Composition\+Abstract} will always have these getter methods. This ensures that all derived composition classes provide a consistent API for querying composition properties, regardless of how the data is set or stored. \begin{DoxyParagraph}{Example} \begin{DoxyCode}{0} \DoxyCodeLine{\textcolor{keyword}{class\ }MyComposition\ :\ \textcolor{keyword}{public}\ CompositionAbstract\ \{} \DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ ...implement\ all\ pure\ virtual\ methods...}} \DoxyCodeLine{\};} \DoxyCodeLine{} \DoxyCodeLine{MyComposition\ comp;} \DoxyCodeLine{\textcolor{keywordflow}{if}\ (comp.hasSymbol(\textcolor{stringliteral}{"{}H"{}}))\ \{} \DoxyCodeLine{\ \ \ \ \textcolor{keywordtype}{double}\ mf\ =\ comp.getMassFraction(\textcolor{stringliteral}{"{}H"{}});} \DoxyCodeLine{\}} \DoxyCodeLine{std::set\ symbols\ =\ comp.getRegisteredSymbols();} \end{DoxyCode} \end{DoxyParagraph} Definition at line \mbox{\hyperlink{composition__abstract_8h_source_l00033}{33}} of file \mbox{\hyperlink{composition__abstract_8h_source}{composition\+\_\+abstract.\+h}}. \doxysubsection{Constructor \& Destructor Documentation} \Hypertarget{class_composition_abstract_aaae3d6215b7433cb9871664852a95d1b}\index{CompositionAbstract@{CompositionAbstract}!````~CompositionAbstract@{\texorpdfstring{$\sim$}{\string~}CompositionAbstract}} \index{````~CompositionAbstract@{\texorpdfstring{$\sim$}{\string~}CompositionAbstract}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}CompositionAbstract()}{\string~CompositionAbstract()}} {\footnotesize\ttfamily \label{class_composition_abstract_aaae3d6215b7433cb9871664852a95d1b} virtual Composition\+Abstract\+::\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [default]}} Virtual destructor. \doxysubsection{Member Function Documentation} \Hypertarget{class_composition_abstract_af42050fabc3c888d77f0fc98f08bc80a}\index{CompositionAbstract@{CompositionAbstract}!contains@{contains}} \index{contains@{contains}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily \label{class_composition_abstract_af42050fabc3c888d77f0fc98f08bc80a} virtual bool Composition\+Abstract\+::contains (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Check if the composition contains the given species. \begin{DoxyParams}{Parameters} {\em species} & The atomic species to check. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if the species is contained, false otherwise. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a194f715788e7921bd611579440de2ecd}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_aebd1997d8b3a59356f587c234b290796}\index{CompositionAbstract@{CompositionAbstract}!contains@{contains}} \index{contains@{contains}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily \label{class_composition_abstract_aebd1997d8b3a59356f587c234b290796} virtual bool Composition\+Abstract\+::contains (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Check if the composition contains the given species. \begin{DoxyParams}{Parameters} {\em symbol} & The symbol of the atomic species to check. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if the species is contained, false otherwise. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ac3bfb56a2587215a59894e76d4867ede}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a86b60205094ed72435ee84abf9498e21}\index{CompositionAbstract@{CompositionAbstract}!getElectronAbundance@{getElectronAbundance}} \index{getElectronAbundance@{getElectronAbundance}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getElectronAbundance()}{getElectronAbundance()}} {\footnotesize\ttfamily \label{class_composition_abstract_a86b60205094ed72435ee84abf9498e21} virtual double Composition\+Abstract\+::get\+Electron\+Abundance (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get the electron abundance of the composition. \begin{DoxyReturn}{Returns} The electron abundance. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a90fc71d1fe03017ee4c7a1cac69d24fb}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_afb72c61da511b7963382804a0e87a54a}\index{CompositionAbstract@{CompositionAbstract}!getMassFraction@{getMassFraction}} \index{getMassFraction@{getMassFraction}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily \label{class_composition_abstract_afb72c61da511b7963382804a0e87a54a} virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get the mass fraction for all registered symbols. \begin{DoxyReturn}{Returns} An unordered map from symbol to mass fraction. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a401e8298ed93b7963624e8a17eb17b55}\index{CompositionAbstract@{CompositionAbstract}!getMassFraction@{getMassFraction}} \index{getMassFraction@{getMassFraction}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily \label{class_composition_abstract_a401e8298ed93b7963624e8a17eb17b55} virtual double Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the mass fraction for a given species. \begin{DoxyParams}{Parameters} {\em species} & The atomic species. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The mass fraction for the species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae8fe4e7158f8317bf29b5cd0c65a9524}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_ae0044d30efddccacc9fe7c8e58003066}\index{CompositionAbstract@{CompositionAbstract}!getMassFraction@{getMassFraction}} \index{getMassFraction@{getMassFraction}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily \label{class_composition_abstract_ae0044d30efddccacc9fe7c8e58003066} virtual double Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the mass fraction for a given symbol. \begin{DoxyParams}{Parameters} {\em symbol} & The chemical symbol. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The mass fraction for the symbol. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae5d8d21632fca2b35b0898f2b205cd10}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a82583ffa3c08297cda6c3957a6a7dbc6}\index{CompositionAbstract@{CompositionAbstract}!getMassFractionVector@{getMassFractionVector}} \index{getMassFractionVector@{getMassFractionVector}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMassFractionVector()}{getMassFractionVector()}} {\footnotesize\ttfamily \label{class_composition_abstract_a82583ffa3c08297cda6c3957a6a7dbc6} virtual std\+::vector$<$ double $>$ Composition\+Abstract\+::get\+Mass\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get the mass fraction as a vector. \begin{DoxyReturn}{Returns} A vector of mass fractions for all species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_af4f44aaf8b7e0d63872a70b5e2131369}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a85bf97a30ecadd0750bece4442f4deff}\index{CompositionAbstract@{CompositionAbstract}!getMeanParticleMass@{getMeanParticleMass}} \index{getMeanParticleMass@{getMeanParticleMass}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMeanParticleMass()}{getMeanParticleMass()}} {\footnotesize\ttfamily \label{class_composition_abstract_a85bf97a30ecadd0750bece4442f4deff} virtual double Composition\+Abstract\+::get\+Mean\+Particle\+Mass (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get the mean particle mass of the composition. \begin{DoxyReturn}{Returns} The mean particle mass. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_afbbb5e51ad5ae5c0fa6bc0094195aecd}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a4cfc9e37370caae275c0f801b700e37b}\index{CompositionAbstract@{CompositionAbstract}!getMolarAbundance@{getMolarAbundance}} \index{getMolarAbundance@{getMolarAbundance}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily \label{class_composition_abstract_a4cfc9e37370caae275c0f801b700e37b} virtual double Composition\+Abstract\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the molar abundance for a given species. \begin{DoxyParams}{Parameters} {\em species} & The atomic species. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The molar abundance for the species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a78a43e9e77a9c1b0f27c50b9feb52449}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a71fb459bf4375af2fe33c8a7c0747ce0}\index{CompositionAbstract@{CompositionAbstract}!getMolarAbundance@{getMolarAbundance}} \index{getMolarAbundance@{getMolarAbundance}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily \label{class_composition_abstract_a71fb459bf4375af2fe33c8a7c0747ce0} virtual double Composition\+Abstract\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the molar abundance for a given symbol. \begin{DoxyParams}{Parameters} {\em symbol} & The chemical symbol. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The molar abundance for the symbol. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_add67a92d73e3a57a2bbdb52bc9ca3bfe}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a1ad7a33d17db32b2c9ce0a30cd6628f9}\index{CompositionAbstract@{CompositionAbstract}!getMolarAbundanceVector@{getMolarAbundanceVector}} \index{getMolarAbundanceVector@{getMolarAbundanceVector}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getMolarAbundanceVector()}{getMolarAbundanceVector()}} {\footnotesize\ttfamily \label{class_composition_abstract_a1ad7a33d17db32b2c9ce0a30cd6628f9} virtual std\+::vector$<$ double $>$ Composition\+Abstract\+::get\+Molar\+Abundance\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get the molar abundance as a vector. \begin{DoxyReturn}{Returns} A vector of molar abundances for all species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abcb391f5fca2b636127e48e681e4c3ee}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a506ef92e69f99ad02598c8d178df1c31}\index{CompositionAbstract@{CompositionAbstract}!getNumberFraction@{getNumberFraction}} \index{getNumberFraction@{getNumberFraction}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily \label{class_composition_abstract_a506ef92e69f99ad02598c8d178df1c31} virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get the number fraction for all registered symbols. \begin{DoxyReturn}{Returns} An unordered map from symbol to number fraction. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1f87ed64a1be9a6091c852131d24e476}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a27d1d91203adb736454aa9b9936fc8c3}\index{CompositionAbstract@{CompositionAbstract}!getNumberFraction@{getNumberFraction}} \index{getNumberFraction@{getNumberFraction}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily \label{class_composition_abstract_a27d1d91203adb736454aa9b9936fc8c3} virtual double Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the number fraction for a given species. \begin{DoxyParams}{Parameters} {\em species} & The atomic species. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The number fraction for the species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1aa79993925f16ba3c30a376aa39161b}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_ae6026b1335230c6dfbd897ec8dfda295}\index{CompositionAbstract@{CompositionAbstract}!getNumberFraction@{getNumberFraction}} \index{getNumberFraction@{getNumberFraction}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily \label{class_composition_abstract_ae6026b1335230c6dfbd897ec8dfda295} virtual double Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the number fraction for a given symbol. \begin{DoxyParams}{Parameters} {\em symbol} & The chemical symbol. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The number fraction for the symbol. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a34f71d4d8f0297c576fd62fabd490305}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a883ea47508557952b9f15432bf0be376}\index{CompositionAbstract@{CompositionAbstract}!getNumberFractionVector@{getNumberFractionVector}} \index{getNumberFractionVector@{getNumberFractionVector}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getNumberFractionVector()}{getNumberFractionVector()}} {\footnotesize\ttfamily \label{class_composition_abstract_a883ea47508557952b9f15432bf0be376} virtual std\+::vector$<$ double $>$ Composition\+Abstract\+::get\+Number\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get the number fraction as a vector. \begin{DoxyReturn}{Returns} A vector of number fractions for all species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f72972cf4d1ff422d0790080e11473}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_ae6e7152d69fc5f5a128f8cb2cfce1587}\index{CompositionAbstract@{CompositionAbstract}!getRegisteredSpecies@{getRegisteredSpecies}} \index{getRegisteredSpecies@{getRegisteredSpecies}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getRegisteredSpecies()}{getRegisteredSpecies()}} {\footnotesize\ttfamily \label{class_composition_abstract_ae6e7152d69fc5f5a128f8cb2cfce1587} virtual const std\+::set$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} $>$ \& Composition\+Abstract\+::get\+Registered\+Species (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get all registered atomic species in the composition. \begin{DoxyReturn}{Returns} A set of registered atomic species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a33db253ca50431b5166d43412ff18f71}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a5a4362dc0d77659b75d528a0e884ed7b}\index{CompositionAbstract@{CompositionAbstract}!getRegisteredSymbols@{getRegisteredSymbols}} \index{getRegisteredSymbols@{getRegisteredSymbols}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getRegisteredSymbols()}{getRegisteredSymbols()}} {\footnotesize\ttfamily \label{class_composition_abstract_a5a4362dc0d77659b75d528a0e884ed7b} virtual std\+::set$<$ std\+::string $>$ Composition\+Abstract\+::get\+Registered\+Symbols (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Get all registered chemical symbols in the composition. \begin{DoxyReturn}{Returns} A set of registered chemical symbols. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ae885c28580ae15be8c16614bef3b0e}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_aaee3651c1672b2763181e966e4525ba6}\index{CompositionAbstract@{CompositionAbstract}!getSpeciesAtIndex@{getSpeciesAtIndex}} \index{getSpeciesAtIndex@{getSpeciesAtIndex}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getSpeciesAtIndex()}{getSpeciesAtIndex()}} {\footnotesize\ttfamily \label{class_composition_abstract_aaee3651c1672b2763181e966e4525ba6} virtual \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} Composition\+Abstract\+::get\+Species\+At\+Index (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{index}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the species at a given index. \begin{DoxyParams}{Parameters} {\em index} & The index of the species. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The atomic species at the specified index. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f854ded38f5e6fcd157a74a57cbf0c}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_ab41311a8c20a9556d087a604da735767}\index{CompositionAbstract@{CompositionAbstract}!getSpeciesIndex@{getSpeciesIndex}} \index{getSpeciesIndex@{getSpeciesIndex}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily \label{class_composition_abstract_ab41311a8c20a9556d087a604da735767} virtual size\+\_\+t Composition\+Abstract\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the index of a species. \begin{DoxyParams}{Parameters} {\em species} & The atomic species. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The index of the species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3d220b42fa06d7d3a43944ee2b8f6a5f}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a1e5195debe590960aa064289733958ba}\index{CompositionAbstract@{CompositionAbstract}!getSpeciesIndex@{getSpeciesIndex}} \index{getSpeciesIndex@{getSpeciesIndex}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily \label{class_composition_abstract_a1e5195debe590960aa064289733958ba} virtual size\+\_\+t Composition\+Abstract\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}} Get the index of a species by symbol. \begin{DoxyParams}{Parameters} {\em symbol} & The chemical symbol. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The index of the species. \end{DoxyReturn} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a0d94f62402bb90b5d12679faeaa8c5d7}{fourdst\+::composition\+::\+Composition}}. \Hypertarget{class_composition_abstract_a230f58ef18a9816c1d13c287eaf3ba05}\index{CompositionAbstract@{CompositionAbstract}!size@{size}} \index{size@{size}!CompositionAbstract@{CompositionAbstract}} \doxysubsubsection{\texorpdfstring{size()}{size()}} {\footnotesize\ttfamily \label{class_composition_abstract_a230f58ef18a9816c1d13c287eaf3ba05} virtual size\+\_\+t Composition\+Abstract\+::size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}} Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9d177d36b728442bcbd8cb66712c7c75}{fourdst\+::composition\+::\+Composition}}. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item src/composition/include/fourdst/composition/\mbox{\hyperlink{composition__abstract_8h}{composition\+\_\+abstract.\+h}}\end{DoxyCompactItemize}