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)
77 lines
15 KiB
TeX
77 lines
15 KiB
TeX
\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}
|