\doxysection{src/include/serif/backend/mfem/model/equilibrium.hpp File Reference} \hypertarget{backend_2mfem_2model_2equilibrium_8hpp}{}\label{backend_2mfem_2model_2equilibrium_8hpp}\index{src/include/serif/backend/mfem/model/equilibrium.hpp@{src/include/serif/backend/mfem/model/equilibrium.hpp}} {\ttfamily \#include $<$functional$>$}\newline {\ttfamily \#include $<$memory$>$}\newline {\ttfamily \#include $<$tuple$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}serif/backend/mfem/model/equilibrium\+\_\+evaluator.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/model/discretization.\+hpp"{}}\newline {\ttfamily \#include "{}serif/model/configured\+\_\+discretization.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/model/normalization/computations.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/model/graph.\+hpp"{}}\newline {\ttfamily \#include "{}serif/model/execution\+\_\+validation.\+hpp"{}}\newline Include dependency graph for equilibrium.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{backend_2mfem_2model_2equilibrium_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]{backend_2mfem_2model_2equilibrium_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_physical_evaluation}{serif\+::model\+::backend\+::mfem\+::detail\+::\+Physical\+Evaluation}} \begin{DoxyCompactList}\small\item\em Select physical coordinates without adding normalization graph services. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_no_additional_computations}{serif\+::model\+::backend\+::mfem\+::detail\+::\+No\+Additional\+Computations}} \begin{DoxyCompactList}\small\item\em Ordinary model evaluation adds no caller-\/selected preparation computations. \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_1backend}{serif\+::model\+::backend}} \item namespace \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem}{serif\+::model\+::backend\+::mfem}} \item namespace \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_1_1detail}{serif\+::model\+::backend\+::mfem\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename... Computations$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_1_1detail_aef199462616440db855d64035a739fd6}{serif\+::model\+::backend\+::mfem\+::detail\+::computation\+\_\+keys}} (const std\+::tuple$<$ Computations... $>$ \&) \begin{DoxyCompactList}\small\item\em Derive requested result identities directly from the supplied computation declarations. \end{DoxyCompactList}\item {\footnotesize template$<$typename Prescribed, typename Specification\+Map, typename Explicit\+Zero\+Couplings, typename Model, typename Discretization, typename Coefficients, typename Geometry, typename Numerical\+Options = Physical\+Evaluation, typename Preconditioner = preconditioning\+::\+None, typename Services = No\+Additional\+Computations, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_1_1detail_a429466859f266999b1dcf77ffec2d821}{serif\+::model\+::backend\+::mfem\+::detail\+::bind\+\_\+evaluator}} (std\+::shared\+\_\+ptr$<$ const Model $>$ model, std\+::shared\+\_\+ptr$<$ const Discretization $>$ discretization, const Coefficients \&coefficients, const Geometry \&geometry, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options, Numerical\+Options numerical\+\_\+options=\{\}, Preconditioner preconditioner=\{\}, Services services=\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Bind physics once and add only the explicitly selected numerical services. \end{DoxyCompactList}\item {\footnotesize template$<$typename Prescribed, typename Specification\+Map, typename Explicit\+Zero\+Couplings, typename Model, typename Discretization, typename Layout, typename Geometry, typename Inputs, typename Numerical\+Options = Physical\+Evaluation, typename Preconditioner = preconditioning\+::\+None, typename Services = No\+Additional\+Computations, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_1_1detail_ad47e9bbabca6a9c49811bf27d639887c}{serif\+::model\+::backend\+::mfem\+::detail\+::bind\+\_\+state\+\_\+evaluator}} (Model model, Discretization discretization, const \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$ Layout $>$ \&state, const Geometry \&geometry, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options, const Inputs \&prescribed, Numerical\+Options numerical=\{\}, Preconditioner preconditioner=\{\}, Services services=\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Retain finite-\/element bindings before constructing temporary views into an owning state. \end{DoxyCompactList}\item {\footnotesize template$<$utils\+::dependencies\+::\+Is\+Key\+List Prescribed = utils\+::dependencies\+::\+Key\+List$<$$>$, utils\+::dependencies\+::\+Is\+Bindings Specification\+Map = Default\+Specification\+Bindings, utils\+::dependencies\+::\+Is\+Key\+List Explicit\+Zero\+Couplings = utils\+::dependencies\+::\+Key\+List$<$$>$, Stellar\+Model\+Type Model, typename Discretization, typename Coefficients, typename Geometry, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires requires \{ typename Coefficients\+::\+Keys; \}}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_a242452f05bb183f8c23b93c20e00a5be}{serif\+::model\+::backend\+::mfem\+::bind\+\_\+stellar\+\_\+model}} (Model model, Discretization discretization, const Coefficients \&coefficients, const Geometry \&geometry, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Bind explicitly selected physics and external field views; initial values establish input types only. \end{DoxyCompactList}\item {\footnotesize template$<$utils\+::dependencies\+::\+Is\+Key\+List Prescribed = utils\+::dependencies\+::\+Key\+List$<$$>$, utils\+::dependencies\+::\+Is\+Bindings Specification\+Map = Default\+Specification\+Bindings, utils\+::dependencies\+::\+Is\+Key\+List Explicit\+Zero\+Couplings = utils\+::dependencies\+::\+Key\+List$<$$>$, Stellar\+Model\+Type Model, typename Discretization, typename Options, typename Preconditioner, typename Coefficients, typename Geometry, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires requires \{ typename Coefficients\+::\+Keys; \}}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_a29abbdee034c90ded69c9659eb9257cd}{serif\+::model\+::backend\+::mfem\+::bind\+\_\+stellar\+\_\+model}} (\mbox{\hyperlink{structserif_1_1model_1_1_discretization_options}{Discretization\+Options}}$<$ Model, Discretization, Options, Preconditioner $>$ configuration, const Coefficients \&coefficients, const Geometry \&geometry, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Bind configured numerical coordinates with external physical field views and geometry. \end{DoxyCompactList}\item {\footnotesize template$<$utils\+::dependencies\+::\+Is\+Key\+List Prescribed = utils\+::dependencies\+::\+Key\+List$<$$>$, utils\+::dependencies\+::\+Is\+Bindings Specification\+Map = Default\+Specification\+Bindings, utils\+::dependencies\+::\+Is\+Key\+List Explicit\+Zero\+Couplings = utils\+::dependencies\+::\+Key\+List$<$$>$, Stellar\+Model\+Type Model, typename Discretization, typename Layout, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_a44f0e08e639fc00910eafbb0c8c4be8a}{serif\+::model\+::backend\+::mfem\+::bind\+\_\+stellar\+\_\+model}} (Model model, Discretization discretization, const \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$ Layout $>$ \&state, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\}, const Inputs \&prescribed=Inputs\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Bind a moving star with all solved physical coefficients and shape coordinates in one state. \end{DoxyCompactList}\item {\footnotesize template$<$utils\+::dependencies\+::\+Is\+Key\+List Prescribed = utils\+::dependencies\+::\+Key\+List$<$$>$, utils\+::dependencies\+::\+Is\+Bindings Specification\+Map = Default\+Specification\+Bindings, utils\+::dependencies\+::\+Is\+Key\+List Explicit\+Zero\+Couplings = utils\+::dependencies\+::\+Key\+List$<$$>$, Stellar\+Model\+Type Model, typename Discretization, typename Layout, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires (!utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$)}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_a84efc99c11487c8309e8844847c31bac}{serif\+::model\+::backend\+::mfem\+::bind\+\_\+stellar\+\_\+model}} (Model model, Discretization discretization, const \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$ Layout $>$ \&state, const \+::mfem\+::\+Vector \&displacement, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\}, const Inputs \&prescribed=Inputs\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Bind a fixed-\/geometry star while keeping prescribed displacement outside the solved coordinates. \end{DoxyCompactList}\item {\footnotesize template$<$utils\+::dependencies\+::\+Is\+Key\+List Prescribed = utils\+::dependencies\+::\+Key\+List$<$$>$, utils\+::dependencies\+::\+Is\+Bindings Specification\+Map = Default\+Specification\+Bindings, utils\+::dependencies\+::\+Is\+Key\+List Explicit\+Zero\+Couplings = utils\+::dependencies\+::\+Key\+List$<$$>$, Stellar\+Model\+Type Model, typename Discretization, typename Options, typename Preconditioner, typename Layout, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Services = detail\+::\+No\+Additional\+Computations, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_a6c18e9db027494ebbeb3a33ab8192df9}{serif\+::model\+::backend\+::mfem\+::bind\+\_\+stellar\+\_\+model}} (\mbox{\hyperlink{structserif_1_1model_1_1_discretization_options}{Discretization\+Options}}$<$ Model, Discretization, Options, Preconditioner $>$ configuration, const \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$ Layout $>$ \&state, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\}, const Inputs \&prescribed=Inputs\{\}, Services services=\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Bind a moving state with normalization defaults resolved from its authoritative physical model. \end{DoxyCompactList}\item {\footnotesize template$<$utils\+::dependencies\+::\+Is\+Key\+List Prescribed = utils\+::dependencies\+::\+Key\+List$<$$>$, utils\+::dependencies\+::\+Is\+Bindings Specification\+Map = Default\+Specification\+Bindings, utils\+::dependencies\+::\+Is\+Key\+List Explicit\+Zero\+Couplings = utils\+::dependencies\+::\+Key\+List$<$$>$, Stellar\+Model\+Type Model, typename Discretization, typename Options, typename Preconditioner, typename Layout, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Services = detail\+::\+No\+Additional\+Computations, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires (!utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$)}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1backend_1_1mfem_abdddf3a13c849b147d1477f32be05bf4}{serif\+::model\+::backend\+::mfem\+::bind\+\_\+stellar\+\_\+model}} (\mbox{\hyperlink{structserif_1_1model_1_1_discretization_options}{Discretization\+Options}}$<$ Model, Discretization, Options, Preconditioner $>$ configuration, const \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$ Layout $>$ \&state, const \+::mfem\+::\+Vector \&displacement, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\}, const Inputs \&prescribed=Inputs\{\}, Services services=\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Bind normalized fixed-\/geometry evaluation without introducing displacement unknowns. \end{DoxyCompactList}\end{DoxyCompactItemize}