\doxysection{src/include/serif/model/equilibrium\+\_\+equations.hpp File Reference} \hypertarget{equilibrium__equations_8hpp}{}\label{equilibrium__equations_8hpp}\index{src/include/serif/model/equilibrium\_equations.hpp@{src/include/serif/model/equilibrium\_equations.hpp}} {\ttfamily \#include $<$functional$>$}\newline {\ttfamily \#include $<$tuple$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline Include dependency graph for equilibrium\+\_\+equations.\+hpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=331pt]{equilibrium__equations_8hpp__incl} \end{center} \end{figure} This graph shows which files directly or indirectly include this file\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{equilibrium__equations_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1model_1_1_no_shape_force}{serif\+::model\+::\+No\+Shape\+Force}} \begin{DoxyCompactList}\small\item\em Explicitly omit a shape equation from a declarative formulation. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1model_1_1_no_surface_condition}{serif\+::model\+::\+No\+Surface\+Condition}} \begin{DoxyCompactList}\small\item\em Explicitly omit a surface prescription from a declarative formulation. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1model_1_1_equilibrium_equations}{serif\+::model\+::\+Equilibrium\+Equations$<$ Interior, Shape, Surface $>$}} \begin{DoxyCompactList}\small\item\em State the chosen equations explicitly, without selecting physics from the EOS. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1model}{serif\+::model}} \item namespace \mbox{\hyperlink{namespaceserif_1_1model_1_1detail}{serif\+::model\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1model_1_1_equilibrium_equation_description}{serif\+::model\+::\+Equilibrium\+Equation\+Description}} \begin{DoxyCompactList}\small\item\em Recognize composition without instantiating any numerical equation contract. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Interior, typename Shape = No\+Shape\+Force, typename Surface = No\+Surface\+Condition$>$ }\\\mbox{\hyperlink{namespaceserif_1_1model_ae40b696afec46eacfa0e74ef448b46bb}{serif\+::model\+::\+Equilibrium\+Equations}} (Interior, Shape=\{\}, Surface=\{\}) -\/$>$ Equilibrium\+Equations$<$ Interior, Shape, Surface $>$ \begin{DoxyCompactList}\small\item\em Preserve every authored member when a declaration passes through a templated model factory. \end{DoxyCompactList}\item {\footnotesize template$<$typename Definition, typename Model$>$ }\\decltype(auto) \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a16f3eb10a3c11e985ea40a4845ab3bdc}{serif\+::model\+::detail\+::resolve\+\_\+equation\+\_\+member}} (Definition \&\&definition, const Model \&model) \begin{DoxyCompactList}\small\item\em Evaluate a physical definition or retain its immutable object without requiring a copy. \end{DoxyCompactList}\item {\footnotesize template$<$typename Definition, typename Model$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a7cda9f3b910ea61b555ca6936a8cd3f0}{serif\+::model\+::detail\+::resolve\+\_\+equation\+\_\+members}} (Definition \&\&definition, const Model \&model) \begin{DoxyCompactList}\small\item\em Resolve each explicit part, owning temporary results and borrowing unchanged model members. \end{DoxyCompactList}\item {\footnotesize template$<$typename Model$>$ \newline requires requires(const Model\& model) \{ model.\+equations(); \} \&\& Equilibrium\+Equation\+Description$<$decltype(\mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a16f3eb10a3c11e985ea40a4845ab3bdc}{detail\+::resolve\+\_\+equation\+\_\+member}}(std\+::declval$<$const Model\&$>$().equations(), std\+::declval$<$const Model\&$>$()))$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1model_aa55d6cc09e69d07412896dedcb71c5a5}{serif\+::model\+::resolve\+\_\+equilibrium\+\_\+equations}} (const Model \&model) \begin{DoxyCompactList}\small\item\em Resolve an explicit composition at binding; retain the model while the result borrows its members. \end{DoxyCompactList}\item {\footnotesize template$<$typename Model$>$ \newline requires (!std\+::is\+\_\+lvalue\+\_\+reference\+\_\+v$<$Model$>$)}\\void \mbox{\hyperlink{namespaceserif_1_1model_af1e5714cfeffe321e29886eec5b93020}{serif\+::model\+::resolve\+\_\+equilibrium\+\_\+equations}} (Model \&\&)=delete \begin{DoxyCompactList}\small\item\em A temporary model cannot retain the equation members borrowed by the resolved description. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Candidate$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a554c794ba8dc7ba3a4a6e7dffd031515}{serif\+::model\+::detail\+::is\+\_\+equilibrium\+\_\+equations}} = false \item {\footnotesize template$<$typename Interior, typename Shape, typename Surface$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_ac3085cd4e8cd8539adb985bc8c4036ea}{serif\+::model\+::detail\+::is\+\_\+equilibrium\+\_\+equations$<$ Equilibrium\+Equations$<$ Interior, Shape, Surface $>$ $>$}} = true \end{DoxyCompactItemize}