\doxysection{src/lib/serif/backend/mfem/geometry/deformation/reference\+\_\+geometry.cpp File Reference} \hypertarget{reference__geometry_8cpp}{}\label{reference__geometry_8cpp}\index{src/lib/serif/backend/mfem/geometry/deformation/reference\_geometry.cpp@{src/lib/serif/backend/mfem/geometry/deformation/reference\_geometry.cpp}} {\ttfamily \#include $<$algorithm$>$}\newline {\ttfamily \#include $<$cmath$>$}\newline {\ttfamily \#include "{}mfem/fem/fespace.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/geometry/deformation/reference\+\_\+geometry.\+hpp"{}}\newline Include dependency graph for reference\+\_\+geometry.\+cpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{reference__geometry_8cpp__incl} \end{center} \end{figure} \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 \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_ada3115889de638fd7892b4d74eb432ae}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::validate\+\_\+scalar\+\_\+reference\+\_\+space}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space) \begin{DoxyCompactList}\small\item\em Reject spaces whose coefficients cannot be interpreted as serial nodal positions. \end{DoxyCompactList}\item \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a7fe84828c675f4c83ac0bb7103bc3cf4}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::validate\+\_\+companion\+\_\+numbering}} (const \+::mfem\+::\+Finite\+Element\+Space \&reference\+\_\+space, const \+::mfem\+::\+Finite\+Element\+Space \&companion\+\_\+space) \begin{DoxyCompactList}\small\item\em Require identical scalar coefficient meanings in two companion spaces. \doxylink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector} component ordering may differ; element bases and their scalar-\/node indices must agree. \end{DoxyCompactList}\item std\+::expected$<$ std\+::vector$<$ int $>$, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_abcf256861277cffe0fd07385c3426e47}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::select\+\_\+surface\+\_\+scalar\+\_\+dofs}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space, int surface\+\_\+attribute) \begin{DoxyCompactList}\small\item\em Select canonical surface nodes without retaining a mesh or finite-\/element-\/space pointer. \end{DoxyCompactList}\item std\+::expected$<$ std\+::vector$<$ std\+::array$<$ double, 3 $>$ $>$, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a7822df6f7b1454b7618b7051bb61d7fd}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::sample\+\_\+reference\+\_\+positions}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space, \+::mfem\+::\+Mesh \&reference\+\_\+mesh) \begin{DoxyCompactList}\small\item\em Sample a paired mesh at the scalar companion nodes, checking shared-\/node agreement. \end{DoxyCompactList}\item std\+::expected$<$ \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_reference_surface}{Reference\+Surface}}, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a25c220c2bc5a2bdcc208064fa07981d0}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::sample\+\_\+reference\+\_\+surface}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space, int surface\+\_\+attribute) \begin{DoxyCompactList}\small\item\em Sample physical reference positions in ascending scalar-\/\+DOF order. \end{DoxyCompactList}\item \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a43e3d620d26756172e5752be4a6a2249}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::validate\+\_\+surface\+\_\+trace}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space, int surface\+\_\+attribute, const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_reference_surface}{Reference\+Surface}} \&reference\+\_\+surface, const \mbox{\hyperlink{classserif_1_1geometry_1_1deformation_1_1_surface_embedding}{Surface\+Embedding}} \&embedding) \begin{DoxyCompactList}\small\item\em Require the same ordered reference nodes and physical positions as a compiled surface embedding. \end{DoxyCompactList}\end{DoxyCompactItemize}