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)
43 lines
5.4 KiB
TeX
43 lines
5.4 KiB
TeX
\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}
|