Files
MeanField_SERiF/docs/latex/namespaceserif_1_1eos.tex
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

108 lines
11 KiB
TeX

\doxysection{serif\+::eos Namespace Reference}
\hypertarget{namespaceserif_1_1eos}{}\label{namespaceserif_1_1eos}\index{serif::eos@{serif::eos}}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1eos_1_1models}{models}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1eos_1_1relations}{relations}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \mbox{\hyperlink{classserif_1_1eos_1_1_e_o_s_evaluation_error}{EOSEvaluation\+Error}}
\begin{DoxyCompactList}\small\item\em An exception class to represent errors that occur during the evaluation of an EOS model. This class inherits from std\+::domain\+\_\+error and is used to provide a more specific exception type for EOS evaluation errors. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$dimensions\+::\+Thermodynamic\+Quantity\+Type OutputQ, models\+::\+EOSModel EOS, dimensions\+::\+Quantity\+Value\+Type... Input\+Values$>$ \newline
requires models\+::\+EOSSupporting\+Relation$<$EOS, \mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$Input\+Values$>$...$>$$>$}\\constexpr \mbox{\hyperlink{classserif_1_1dimensions_1_1_quantity_value}{dimensions\+::\+Quantity\+Value}}$<$ OutputQ $>$ \mbox{\hyperlink{namespaceserif_1_1eos_ade79763ef51f539b78059d8898a2d2a2}{evaluate}} (const EOS \&eos, const Input\+Values... input\+Values) noexcept(noexcept(eos.\+evaluate(\mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$ OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$ Input\+Values $>$... $>$\{\}, input\+Values...)))
\begin{DoxyCompactList}\small\item\em Evaluates a relation for a given EOS model. This function is used to evaluate relations for a given EOS model. \end{DoxyCompactList}\item
{\footnotesize template$<$dimensions\+::\+Thermodynamic\+Quantity\+Type OutputQ, dimensions\+::\+Thermodynamic\+Quantity\+Type InputQ, models\+::\+EOSModel EOS, dimensions\+::\+Quantity\+Value\+Type... Input\+Values$>$ \newline
requires models\+::\+EOSSupporting\+Partial\+Derivative$<$EOS, \mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$Input\+Values$>$...$>$, InputQ$>$}\\constexpr \mbox{\hyperlink{classserif_1_1dimensions_1_1_partial_derivative}{dimensions\+::\+Partial\+Derivative}}$<$ OutputQ, InputQ $>$ \mbox{\hyperlink{namespaceserif_1_1eos_a2d0ca00b47c2dfa34d75bae9456fe390}{partial\+\_\+derivative}} (const EOS \&eos, const Input\+Values... input\+Values) noexcept(noexcept(eos.\+partial\+\_\+derivative(\mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$ OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$ Input\+Values $>$... $>$\{\}, \mbox{\hyperlink{structserif_1_1dimensions_1_1_with_respect_to}{dimensions\+::\+With\+Respect\+To}}$<$ InputQ $>$\{\}, input\+Values...)))
\begin{DoxyCompactList}\small\item\em Evaluates a partial derivative of a relation for a given EOS model. This function is used to evaluate partial derivatives of relations for a given EOS model. \end{DoxyCompactList}\item
{\footnotesize template$<$dimensions\+::\+Thermodynamic\+Quantity\+Type OutputQ, dimensions\+::\+Thermodynamic\+Quantity\+Type First\+Input, dimensions\+::\+Thermodynamic\+Quantity\+Type Second\+Input, models\+::\+EOSModel EOS, dimensions\+::\+Quantity\+Value\+Type... Input\+Values$>$ \newline
requires models\+::\+EOSSupporting\+Second\+Partial\+Derivative$<$EOS, \mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$Input\+Values$>$...$>$, First\+Input, Second\+Input$>$}\\constexpr \mbox{\hyperlink{classserif_1_1dimensions_1_1_second_partial_derivative}{dimensions\+::\+Second\+Partial\+Derivative}}$<$ OutputQ, First\+Input, Second\+Input $>$ \mbox{\hyperlink{namespaceserif_1_1eos_ad41c8ebf0663a55e74ba55bc35e560b4}{second\+\_\+partial\+\_\+derivative}} (const EOS \&eos, const Input\+Values... input\+Values) noexcept(noexcept(eos.\+second\+\_\+partial\+\_\+derivative(\mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$ OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$ Input\+Values $>$... $>$\{\}, \mbox{\hyperlink{structserif_1_1dimensions_1_1_with_respect_to}{dimensions\+::\+With\+Respect\+To}}$<$ First\+Input $>$\{\}, \mbox{\hyperlink{structserif_1_1dimensions_1_1_with_respect_to}{dimensions\+::\+With\+Respect\+To}}$<$ Second\+Input $>$\{\}, input\+Values...)))
\begin{DoxyCompactList}\small\item\em Dispatch an analytic second partial without imposing an EOS-\/specific state. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Function Documentation}
\Hypertarget{namespaceserif_1_1eos_ade79763ef51f539b78059d8898a2d2a2}\index{serif::eos@{serif::eos}!evaluate@{evaluate}}
\index{evaluate@{evaluate}!serif::eos@{serif::eos}}
\doxysubsubsection{\texorpdfstring{evaluate()}{evaluate()}}
{\footnotesize\ttfamily \label{namespaceserif_1_1eos_ade79763ef51f539b78059d8898a2d2a2}
template$<$dimensions\+::\+Thermodynamic\+Quantity\+Type OutputQ, models\+::\+EOSModel EOS, dimensions\+::\+Quantity\+Value\+Type... Input\+Values$>$ \newline
requires models\+::\+EOSSupporting\+Relation$<$EOS, \mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$Input\+Values$>$...$>$$>$\\
\mbox{\hyperlink{classserif_1_1dimensions_1_1_quantity_value}{dimensions\+::\+Quantity\+Value}}$<$ OutputQ $>$ serif\+::eos\+::evaluate (\begin{DoxyParamCaption}\item[{const EOS \&}]{eos}{, }\item[{const Input\+Values...}]{input\+Values}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}
Evaluates a relation for a given EOS model. This function is used to evaluate relations for a given EOS model.
\begin{DoxyTemplParams}{Template Parameters}
{\em OutputQ} & The output quantity type to evaluate. \\
\hline
{\em Input\+Values} & The input values to use for evaluation. \\
\hline
\end{DoxyTemplParams}
\begin{DoxyParams}{Parameters}
{\em eos} & The EOS model instance to use for evaluation. \\
\hline
{\em input\+Values} & The input values to use for evaluation. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of the evaluation.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
this is generally the function you want to call to evaluate a model as it will automatically dispatch to the correct relation.
\end{DoxyNote}
\Hypertarget{namespaceserif_1_1eos_a2d0ca00b47c2dfa34d75bae9456fe390}\index{serif::eos@{serif::eos}!partial\_derivative@{partial\_derivative}}
\index{partial\_derivative@{partial\_derivative}!serif::eos@{serif::eos}}
\doxysubsubsection{\texorpdfstring{partial\_derivative()}{partial\_derivative()}}
{\footnotesize\ttfamily \label{namespaceserif_1_1eos_a2d0ca00b47c2dfa34d75bae9456fe390}
template$<$dimensions\+::\+Thermodynamic\+Quantity\+Type OutputQ, dimensions\+::\+Thermodynamic\+Quantity\+Type InputQ, models\+::\+EOSModel EOS, dimensions\+::\+Quantity\+Value\+Type... Input\+Values$>$ \newline
requires models\+::\+EOSSupporting\+Partial\+Derivative$<$EOS, \mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$Input\+Values$>$...$>$, InputQ$>$\\
\mbox{\hyperlink{classserif_1_1dimensions_1_1_partial_derivative}{dimensions\+::\+Partial\+Derivative}}$<$ OutputQ, InputQ $>$ serif\+::eos\+::partial\+\_\+derivative (\begin{DoxyParamCaption}\item[{const EOS \&}]{eos}{, }\item[{const Input\+Values...}]{input\+Values}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}
Evaluates a partial derivative of a relation for a given EOS model. This function is used to evaluate partial derivatives of relations for a given EOS model.
\begin{DoxyTemplParams}{Template Parameters}
{\em OutputQ} & The output quantity type to evaluate. \\
\hline
{\em InputQ} & The input quantity type to take the partial derivative with respect to. \\
\hline
{\em Input\+Values} & The input values to use for evaluation. \\
\hline
\end{DoxyTemplParams}
\begin{DoxyParams}{Parameters}
{\em eos} & The EOS model instance to use for evaluation. \\
\hline
{\em input\+Values} & The input values to use for evaluation. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of the evaluation.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
this is generally the function you want to call to evaluate a model\textquotesingle{}s partial derivative as it will automatically dispatch to the correct relation and partial derivative.
\end{DoxyNote}
\Hypertarget{namespaceserif_1_1eos_ad41c8ebf0663a55e74ba55bc35e560b4}\index{serif::eos@{serif::eos}!second\_partial\_derivative@{second\_partial\_derivative}}
\index{second\_partial\_derivative@{second\_partial\_derivative}!serif::eos@{serif::eos}}
\doxysubsubsection{\texorpdfstring{second\_partial\_derivative()}{second\_partial\_derivative()}}
{\footnotesize\ttfamily \label{namespaceserif_1_1eos_ad41c8ebf0663a55e74ba55bc35e560b4}
template$<$dimensions\+::\+Thermodynamic\+Quantity\+Type OutputQ, dimensions\+::\+Thermodynamic\+Quantity\+Type First\+Input, dimensions\+::\+Thermodynamic\+Quantity\+Type Second\+Input, models\+::\+EOSModel EOS, dimensions\+::\+Quantity\+Value\+Type... Input\+Values$>$ \newline
requires models\+::\+EOSSupporting\+Second\+Partial\+Derivative$<$EOS, \mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation}{relations\+::\+Relation}}$<$OutputQ, \mbox{\hyperlink{namespaceserif_1_1dimensions_a726ea17ab3c500d045d2605915ecfcd6}{dimensions\+::\+Quantity\+OfT}}$<$Input\+Values$>$...$>$, First\+Input, Second\+Input$>$\\
\mbox{\hyperlink{classserif_1_1dimensions_1_1_second_partial_derivative}{dimensions\+::\+Second\+Partial\+Derivative}}$<$ OutputQ, First\+Input, Second\+Input $>$ serif\+::eos\+::second\+\_\+partial\+\_\+derivative (\begin{DoxyParamCaption}\item[{const EOS \&}]{eos}{, }\item[{const Input\+Values...}]{input\+Values}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}
Dispatch an analytic second partial without imposing an EOS-\/specific state.