\doxysection{src/include/serif/geometry/deformation/backend/mfem/inputs.hpp File Reference} \hypertarget{inputs_8hpp}{}\label{inputs_8hpp}\index{src/include/serif/geometry/deformation/backend/mfem/inputs.hpp@{src/include/serif/geometry/deformation/backend/mfem/inputs.hpp}} {\ttfamily \#include $<$array$>$}\newline {\ttfamily \#include $<$vector$>$}\newline {\ttfamily \#include "{}mfem/fem/fespace.\+hpp"{}}\newline {\ttfamily \#include "{}serif/discretization/domain/schema/schemas.\+hpp"{}}\newline {\ttfamily \#include "{}serif/discretization/domain/schema/concepts.\+hpp"{}}\newline {\ttfamily \#include "{}serif/geometry/deformation/models.\+hpp"{}}\newline {\ttfamily \#include "{}serif/geometry/deformation/backend/mfem/detail/reference\+\_\+tracking.\+hpp"{}}\newline {\ttfamily \#include "{}serif/geometry/deformation/computations.\+hpp"{}}\newline {\ttfamily \#include "{}serif/utils/dependencies/dependency\+\_\+context.\+hpp"{}}\newline Include dependency graph for inputs.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{inputs_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]{inputs_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Reference\+Discretization}} \begin{DoxyCompactList}\small\item\em Borrow the paired reference meshes; attributes retain their physical domain meaning. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_surface_discretization}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Surface\+Discretization}} \begin{DoxyCompactList}\small\item\em The surface selection needs only its scalar space and boundary label. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_deformation_value_tracking}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Deformation\+Value\+Tracking}} \begin{DoxyCompactList}\small\item\em Equal physical values remain reusable when a context is reconstructed. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_surface_discretization_tracking}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Surface\+Discretization\+Tracking}} \begin{DoxyCompactList}\small\item\em Track topology and labels once, independently of changes to physical coordinates. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_surface_discretization_tracking_1_1_snapshot}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Surface\+Discretization\+Tracking\+::\+Snapshot}} \item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization_tracking}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Reference\+Discretization\+Tracking}} \begin{DoxyCompactList}\small\item\em Logical interpolation depends on paired topology and logical coordinates, not physical coordinates. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization_tracking_1_1_snapshot}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Reference\+Discretization\+Tracking\+::\+Snapshot}} \end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry}{serif\+::geometry}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation}{serif\+::geometry\+::deformation}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend}{serif\+::geometry\+::deformation\+::backend}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem}{serif\+::geometry\+::deformation\+::backend\+::mfem}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$discretization\+::domain\+::schema\+::\+Is\+Schema Schema = discretization\+::domain\+::schema\+::\+Core\+Envelope\+Vacuum\+Domain\+Schema$>$ \newline requires (Schema\+::template contains\+\_\+domain$<$\mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_aa2fd687c5f7b8750fd6980f2a7a77652}{discretization\+::domain\+::\+Stellar\+Domains}}$>$() \&\& Schema\+::template contains\+\_\+domain$<$\mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1_vacuum_domain}{discretization\+::domain\+::\+Vacuum\+Domain}}$>$() \&\& Schema\+::template contains\+\_\+boundary$<$\mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1_stellar_surface_boundary}{discretization\+::domain\+::\+Stellar\+Surface\+Boundary}}$>$() \&\& Schema\+::template contains\+\_\+boundary$<$\mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1_infinity_surface_boundary}{discretization\+::domain\+::\+Infinity\+Surface\+Boundary}}$>$())}\\\mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization}{Reference\+Discretization}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a4bda42409c67b56f9bc36ea69c7655ee}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::deformation\+\_\+discretization}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space, const \+::mfem\+::\+Finite\+Element\+Space \&displacement\+\_\+space, \+::mfem\+::\+Mesh \&logical\+\_\+mesh) \begin{DoxyCompactList}\small\item\em Resolve physical domain names through the schema rather than hard-\/coded MFEM attributes. \end{DoxyCompactList}\item {\footnotesize template$<$typename Surface, typename Interior, typename Vacuum$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a10e993d0c69b24df4bb3cd1a5ac12e9f}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::make\+\_\+deformation\+\_\+inputs}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_domain_deformation}{Domain\+Deformation}}$<$ Surface, Interior, Vacuum $>$ \&model, const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization}{Reference\+Discretization}} \&discretization, const std\+::vector$<$ double $>$ \&coefficients) \begin{DoxyCompactList}\small\item\em Bind physical choices and shape coordinates without evaluating deformation. \end{DoxyCompactList}\item {\footnotesize template$<$typename Surface, typename Interior, typename Vacuum$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a39054b92ed8aadf061d884cd92bccc5c}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::make\+\_\+deformation\+\_\+inputs}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_domain_deformation}{Domain\+Deformation}}$<$ Surface, Interior, Vacuum $>$ \&, const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization}{Reference\+Discretization}} \&, const std\+::vector$<$ double $>$ \&\&)=delete \begin{DoxyCompactList}\small\item\em Reject temporary coefficient vectors whose storage would expire before preparation. \end{DoxyCompactList}\end{DoxyCompactItemize}