docs(docs): rebuilt
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
\chapter{libcomposition\+: A Modern C++ Library for Chemical Compositions}
|
||||
\hypertarget{index}{}\label{index}\index{libcomposition: A Modern C++ Library for Chemical Compositions@{libcomposition: A Modern C++ Library for Chemical Compositions}}
|
||||
\hypertarget{index_intro_sec}{}\doxysection{\texorpdfstring{Introduction}{Introduction}}\label{index_intro_sec}
|
||||
{\ttfamily libcomposition} is a modern C++23 library designed for the creation, manipulation, and analysis of chemical compositions, with a focus on astrophysical applications. It provides a robust and user-\/friendly interface for handling material compositions defined by mass or number fractions.\hypertarget{index_autotoc_md0}{}\doxysubsubsection{\texorpdfstring{Key Features}{Key Features}}\label{index_autotoc_md0}
|
||||
{\ttfamily libcomposition} is a modern C++23 library designed for the creation, manipulation, and analysis of chemical compositions, with a focus on astrophysical applications. It provides a robust and user-\/friendly interface for handling material compositions defined by mass or number fractions.\hypertarget{index_autotoc_md10}{}\doxysubsubsection{\texorpdfstring{Key Features}{Key Features}}\label{index_autotoc_md10}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\bfseries{Dual-\/\+Mode Operation}}\+: Natively supports compositions defined by {\bfseries{mass fraction}} or {\bfseries{number fraction}}.
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{index_install_sec}{}\doxysection{\texorpdfstring{Installation}{Installation}}\label{index_install_sec}
|
||||
{\ttfamily libcomposition} uses the Meson build system. A C++23 compatible compiler is required.\hypertarget{index_autotoc_md2}{}\doxysubsubsection{\texorpdfstring{Build Steps}{Build Steps}}\label{index_autotoc_md2}
|
||||
{\ttfamily libcomposition} uses the Meson build system. A C++23 compatible compiler is required.\hypertarget{index_autotoc_md12}{}\doxysubsubsection{\texorpdfstring{Build Steps}{Build Steps}}\label{index_autotoc_md12}
|
||||
{\bfseries{Setup the build directory\+:}}
|
||||
|
||||
The first step is to use meson to set up an out of source build. Note that this means that you can have multiple builds configured and cleanly seperated!
|
||||
@@ -45,7 +45,7 @@ This will also install a pkg-\/config file!
|
||||
\DoxyCodeLine{sudo\ meson\ install\ -\/C\ builddir}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{index_autotoc_md3}{}\doxysubsubsection{\texorpdfstring{Build Options}{Build Options}}\label{index_autotoc_md3}
|
||||
\hypertarget{index_autotoc_md13}{}\doxysubsubsection{\texorpdfstring{Build Options}{Build Options}}\label{index_autotoc_md13}
|
||||
You can enable the generation of a {\ttfamily pkg-\/config} file during the setup step, which simplifies linking the library in other projects. by default this is true; it can be useful to disable this when using some build system orgestrator (such as meson-\/python).
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ You can enable the generation of a {\ttfamily pkg-\/config} file during the setu
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{index_usage_sec}{}\doxysection{\texorpdfstring{Usage}{Usage}}\label{index_usage_sec}
|
||||
\hypertarget{index_autotoc_md5}{}\doxysubsubsection{\texorpdfstring{Linking with pkg-\/config}{Linking with pkg-\/config}}\label{index_autotoc_md5}
|
||||
\hypertarget{index_autotoc_md15}{}\doxysubsubsection{\texorpdfstring{Linking with pkg-\/config}{Linking with pkg-\/config}}\label{index_autotoc_md15}
|
||||
If you installed {\ttfamily libcomposition} with the {\ttfamily pkg-\/config} option enabled, you can get the necessary compiler and linker flags easily\+:
|
||||
|
||||
|
||||
@@ -77,8 +77,8 @@ If you installed {\ttfamily libcomposition} with the {\ttfamily pkg-\/config} op
|
||||
\DoxyCodeLine{g++\ my\_app.cpp\ \$(pkg-\/config\ -\/-\/cflags\ -\/-\/libs\ fourdst\_composition)\ -\/o\ my\_app}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{index_autotoc_md6}{}\doxysubsubsection{\texorpdfstring{C++ Usage Examples}{C++ Usage Examples}}\label{index_autotoc_md6}
|
||||
\hypertarget{index_autotoc_md7}{}\doxysubsubsubsection{\texorpdfstring{1. Basic Mass Fraction Composition}{1. Basic Mass Fraction Composition}}\label{index_autotoc_md7}
|
||||
\hypertarget{index_autotoc_md16}{}\doxysubsubsection{\texorpdfstring{C++ Usage Examples}{C++ Usage Examples}}\label{index_autotoc_md16}
|
||||
\hypertarget{index_autotoc_md17}{}\doxysubsubsubsection{\texorpdfstring{1. Basic Mass Fraction Composition}{1. Basic Mass Fraction Composition}}\label{index_autotoc_md17}
|
||||
The most common use case is defining a composition by mass fractions (X, Y, Z).
|
||||
|
||||
|
||||
@@ -91,18 +91,18 @@ The most common use case is defining a composition by mass fractions (X, Y, Z).
|
||||
\DoxyCodeLine{\ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst::composition::Composition}}\ comp;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ 2.\ Register\ the\ symbols\ you\ want\ to\ use}}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1bc2e64f87c12befdc2bc767e7405661}{registerSymbol}}(\textcolor{stringliteral}{"{}H-\/1"{}});}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1bc2e64f87c12befdc2bc767e7405661}{registerSymbol}}(\textcolor{stringliteral}{"{}He-\/4"{}});}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{stringliteral}{"{}H-\/1"{}});}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{stringliteral}{"{}He-\/4"{}});}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ 3.\ Set\ their\ mass\ fractions}}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a493224656aa3ade68389250720ef09af}{setMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}},\ 0.75);}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a493224656aa3ade68389250720ef09af}{setMassFraction}}(\textcolor{stringliteral}{"{}He-\/4"{}},\ 0.25);}
|
||||
\DoxyCodeLine{\ \ \ \ comp.setMassFraction(\textcolor{stringliteral}{"{}H-\/1"{}},\ 0.75);}
|
||||
\DoxyCodeLine{\ \ \ \ comp.setMassFraction(\textcolor{stringliteral}{"{}He-\/4"{}},\ 0.25);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ 4.\ Finalize\ the\ composition\ to\ validate\ it\ and\ compute\ global\ properties}}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{if}\ (comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a72d063a74a9d2197065884a2cea57a14}{finalize}}())\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{if}\ (comp.finalize())\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}Composition\ finalized\ successfully!"{}}\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}H-\/1\ Mass\ Fraction:\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aae07019ab6e02394e6ea353e0b98a417}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}})\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}Mean\ Particle\ Mass:\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a796386824d1358527fed7c6b537935d8}{getMeanParticleMass}}()\ <<\ \textcolor{stringliteral}{"{}\ g/mol"{}}\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}H-\/1\ Mass\ Fraction:\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}})\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}Mean\ Particle\ Mass:\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_afbbb5e51ad5ae5c0fa6bc0094195aecd}{getMeanParticleMass}}()\ <<\ \textcolor{stringliteral}{"{}\ g/mol"{}}\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cerr\ <<\ \textcolor{stringliteral}{"{}Failed\ to\ finalize\ composition."{}}\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \}}
|
||||
@@ -111,7 +111,7 @@ The most common use case is defining a composition by mass fractions (X, Y, Z).
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{index_autotoc_md8}{}\doxysubsubsubsection{\texorpdfstring{2. Number Fraction Composition and Mode Switching}{2. Number Fraction Composition and Mode Switching}}\label{index_autotoc_md8}
|
||||
\hypertarget{index_autotoc_md18}{}\doxysubsubsubsection{\texorpdfstring{2. Number Fraction Composition and Mode Switching}{2. Number Fraction Composition and Mode Switching}}\label{index_autotoc_md18}
|
||||
The library can also work with number (mole) fractions and switch between modes.
|
||||
|
||||
|
||||
@@ -123,29 +123,29 @@ The library can also work with number (mole) fractions and switch between modes.
|
||||
\DoxyCodeLine{\ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst::composition::Composition}}\ comp;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Register\ symbols\ in\ number\ fraction\ mode}}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1bc2e64f87c12befdc2bc767e7405661}{registerSymbol}}(\textcolor{stringliteral}{"{}H-\/1"{}},\ \textcolor{keyword}{false});\ \textcolor{comment}{//\ massFracMode\ =\ false}}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1bc2e64f87c12befdc2bc767e7405661}{registerSymbol}}(\textcolor{stringliteral}{"{}He-\/4"{}},\ \textcolor{keyword}{false});}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{stringliteral}{"{}H-\/1"{}},\ \textcolor{keyword}{false});\ \textcolor{comment}{//\ massFracMode\ =\ false}}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{stringliteral}{"{}He-\/4"{}},\ \textcolor{keyword}{false});}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a7d4d748f3ee25e68751fb143717ed080}{setNumberFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}},\ 0.9);}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a7d4d748f3ee25e68751fb143717ed080}{setNumberFraction}}(\textcolor{stringliteral}{"{}He-\/4"{}},\ 0.1);}
|
||||
\DoxyCodeLine{\ \ \ \ comp.setNumberFraction(\textcolor{stringliteral}{"{}H-\/1"{}},\ 0.9);}
|
||||
\DoxyCodeLine{\ \ \ \ comp.setNumberFraction(\textcolor{stringliteral}{"{}He-\/4"{}},\ 0.1);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{if}\ (comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a72d063a74a9d2197065884a2cea57a14}{finalize}}())\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{if}\ (comp.finalize())\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ We\ can\ get\ number\ fractions\ directly}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}He-\/4\ Number\ Fraction:\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a34f71d4d8f0297c576fd62fabd490305}{getNumberFraction}}(\textcolor{stringliteral}{"{}He-\/4"{}})\ <<\ std::endl;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ Or\ get\ the\ equivalent\ mass\ fraction}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}He-\/4\ Mass\ Fraction:\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aae07019ab6e02394e6ea353e0b98a417}{getMassFraction}}(\textcolor{stringliteral}{"{}He-\/4"{}})\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}He-\/4\ Mass\ Fraction:\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(\textcolor{stringliteral}{"{}He-\/4"{}})\ <<\ std::endl;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ Switch\ the\ entire\ composition\ to\ mass\ fraction\ mode}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a0af981ed1074b26c237cf6cf35f82c9e}{setCompositionMode}}(\textcolor{keyword}{true});\ \textcolor{comment}{//\ true\ for\ mass\ fraction\ mode}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ comp.setCompositionMode(\textcolor{keyword}{true});\ \textcolor{comment}{//\ true\ for\ mass\ fraction\ mode}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ Now,\ getting\ the\ mass\ fraction\ is\ a\ direct\ lookup}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}He-\/4\ Mass\ Fraction\ (after\ mode\ switch):\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aae07019ab6e02394e6ea353e0b98a417}{getMassFraction}}(\textcolor{stringliteral}{"{}He-\/4"{}})\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}He-\/4\ Mass\ Fraction\ (after\ mode\ switch):\ "{}}\ <<\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(\textcolor{stringliteral}{"{}He-\/4"{}})\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{index_autotoc_md9}{}\doxysubsubsubsection{\texorpdfstring{3. Mixing Two Compositions}{3. Mixing Two Compositions}}\label{index_autotoc_md9}
|
||||
\hypertarget{index_autotoc_md19}{}\doxysubsubsubsection{\texorpdfstring{3. Mixing Two Compositions}{3. Mixing Two Compositions}}\label{index_autotoc_md19}
|
||||
You can easily mix two compositions. The library handles the union of all species.
|
||||
|
||||
|
||||
@@ -164,14 +164,14 @@ You can easily mix two compositions. The library handles the union of all specie
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Mix\ them\ with\ a\ 75/25\ ratio\ using\ the\ mix()\ method}}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ 0.75\ of\ comp1,\ 0.25\ of\ comp2}}
|
||||
\DoxyCodeLine{\ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst::composition::Composition}}\ mixed2\ =\ comp1.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3aead72892606725a4149a5f65bd31ec}{mix}}(comp2,\ 0.75);}
|
||||
\DoxyCodeLine{\ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst::composition::Composition}}\ mixed2\ =\ comp1.mix(comp2,\ 0.75);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}50/50\ Mix\ H-\/1:\ "{}}\ <<\ mixed.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aae07019ab6e02394e6ea353e0b98a417}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}})\ <<\ std::endl;\ \ \ \textcolor{comment}{//\ -\/>\ 0.5}}
|
||||
\DoxyCodeLine{\ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}75/25\ Mix\ H-\/1:\ "{}}\ <<\ mixed2.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aae07019ab6e02394e6ea353e0b98a417}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}})\ <<\ std::endl;\ \ \textcolor{comment}{//\ -\/>\ 0.75}}
|
||||
\DoxyCodeLine{\ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}50/50\ Mix\ H-\/1:\ "{}}\ <<\ mixed.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}})\ <<\ std::endl;\ \ \ \textcolor{comment}{//\ -\/>\ 0.5}}
|
||||
\DoxyCodeLine{\ \ \ \ std::cout\ <<\ \textcolor{stringliteral}{"{}75/25\ Mix\ H-\/1:\ "{}}\ <<\ mixed2.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}})\ <<\ std::endl;\ \ \textcolor{comment}{//\ -\/>\ 0.75}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{index_autotoc_md10}{}\doxysubsubsubsection{\texorpdfstring{4. Error Handling}{4. Error Handling}}\label{index_autotoc_md10}
|
||||
\hypertarget{index_autotoc_md20}{}\doxysubsubsubsection{\texorpdfstring{4. Error Handling}{4. Error Handling}}\label{index_autotoc_md20}
|
||||
The library uses exceptions to report errors. Always wrap calls in a {\ttfamily try-\/catch} block for robust code.
|
||||
|
||||
|
||||
@@ -181,32 +181,32 @@ The library uses exceptions to report errors. Always wrap calls in a {\ttfamily
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{void}\ error\_example()\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst::composition::Composition}}\ comp;}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1bc2e64f87c12befdc2bc767e7405661}{registerSymbol}}(\textcolor{stringliteral}{"{}H-\/1"{}});}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a493224656aa3ade68389250720ef09af}{setMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}},\ 1.0);}
|
||||
\DoxyCodeLine{\ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{stringliteral}{"{}H-\/1"{}});}
|
||||
\DoxyCodeLine{\ \ \ \ comp.setMassFraction(\textcolor{stringliteral}{"{}H-\/1"{}},\ 1.0);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{try}\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ This\ will\ throw,\ because\ the\ composition\ is\ not\ finalized\ yet.}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ mass\ =\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aae07019ab6e02394e6ea353e0b98a417}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}});}
|
||||
\DoxyCodeLine{\ \ \ \ \}\ \textcolor{keywordflow}{catch}\ (\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_not_finalized_error}{fourdst::composition::exceptions::CompositionNotFinalizedError}}\&\ e)\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cerr\ <<\ \textcolor{stringliteral}{"{}Caught\ expected\ error:\ "{}}\ <<\ e.\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ae44ceddb19da8a8cda7ee150b6826d08}{what}}()\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ mass\ =\ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(\textcolor{stringliteral}{"{}H-\/1"{}});}
|
||||
\DoxyCodeLine{\ \ \ \ \}\ \textcolor{keywordflow}{catch}\ (\textcolor{keyword}{const}\ fourdst::composition::exceptions::CompositionNotFinalizedError\&\ e)\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cerr\ <<\ \textcolor{stringliteral}{"{}Caught\ expected\ error:\ "{}}\ <<\ e.what()\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{try}\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ This\ will\ throw,\ because\ "{}Li-\/6"{}\ was\ never\ registered.}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ comp.\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a493224656aa3ade68389250720ef09af}{setMassFraction}}(\textcolor{stringliteral}{"{}Li-\/6"{}},\ 0.1);}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ comp.setMassFraction(\textcolor{stringliteral}{"{}Li-\/6"{}},\ 0.1);}
|
||||
\DoxyCodeLine{\ \ \ \ \}\ \textcolor{keywordflow}{catch}\ (\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error}{fourdst::composition::exceptions::UnregisteredSymbolError}}\&\ e)\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ std::cerr\ <<\ \textcolor{stringliteral}{"{}Caught\ expected\ error:\ "{}}\ <<\ e.\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ae44ceddb19da8a8cda7ee150b6826d08}{what}}()\ <<\ std::endl;}
|
||||
\DoxyCodeLine{\ \ \ \ \}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{index_autotoc_md11}{}\doxysubsubsubsection{\texorpdfstring{5. Accessing Atomic Data}{5. Accessing Atomic Data}}\label{index_autotoc_md11}
|
||||
\hypertarget{index_autotoc_md21}{}\doxysubsubsubsection{\texorpdfstring{5. Accessing Atomic Data}{5. Accessing Atomic Data}}\label{index_autotoc_md21}
|
||||
You can directly access the static database of all known species.
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{species_8h}{fourdst/composition/species.h}}"{}}\ \textcolor{comment}{//\ Provides\ static\ instances\ like\ H\_1}}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{atomic_species_8h}{fourdst/composition/atomicSpecies.h}}"{}}\ \textcolor{comment}{//\ Provides\ the\ main\ 'species'\ map}}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}fourdst/composition/species.h"{}}\ \textcolor{comment}{//\ Provides\ static\ instances\ like\ H\_1}}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}fourdst/composition/atomicSpecies.h"{}}\ \textcolor{comment}{//\ Provides\ the\ main\ 'species'\ map}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{void}\ data\_example()\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Access\ via\ the\ map}}
|
||||
@@ -223,7 +223,7 @@ You can directly access the static database of all known species.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{index_test_sec}{}\doxysection{\texorpdfstring{Testing}{Testing}}\label{index_test_sec}
|
||||
{\ttfamily libcomposition} is tested using the Google\+Test framework. The test suite provides high coverage of the library\textquotesingle{}s functionality.\hypertarget{index_autotoc_md13}{}\doxysubsubsection{\texorpdfstring{Test Coverage Includes\+:}{Test Coverage Includes\+:}}\label{index_autotoc_md13}
|
||||
{\ttfamily libcomposition} is tested using the Google\+Test framework. The test suite provides high coverage of the library\textquotesingle{}s functionality.\hypertarget{index_autotoc_md23}{}\doxysubsubsection{\texorpdfstring{Test Coverage Includes\+:}{Test Coverage Includes\+:}}\label{index_autotoc_md23}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\bfseries{Atomic Data Validation}}\+: Spot checks on isotopic properties (mass, half-\/life, spin) for a wide range of elements to ensure the underlying data files are parsed and represented correctly.
|
||||
|
||||
Reference in New Issue
Block a user