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)
60 lines
7.3 KiB
TeX
60 lines
7.3 KiB
TeX
\doxysection{src/include/serif/backend/mfem/geometry/deformation/reference\+\_\+geometry.hpp File Reference}
|
|
\hypertarget{reference__geometry_8hpp}{}\label{reference__geometry_8hpp}\index{src/include/serif/backend/mfem/geometry/deformation/reference\_geometry.hpp@{src/include/serif/backend/mfem/geometry/deformation/reference\_geometry.hpp}}
|
|
{\ttfamily \#include $<$array$>$}\newline
|
|
{\ttfamily \#include $<$vector$>$}\newline
|
|
{\ttfamily \#include "{}serif/geometry/deformation/failure.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/geometry/deformation/reference\+\_\+surface.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/geometry/deformation/surface\+\_\+embedding.\+hpp"{}}\newline
|
|
Include dependency graph for reference\+\_\+geometry.\+hpp\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{reference__geometry_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]{reference__geometry_8hpp__dep__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Namespaces}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespacemfem}{mfem}}
|
|
\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}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1detail}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::detail}}
|
|
\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$<$ 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$<$ 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$<$ \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}\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_1_1detail_ae99ccf822100c094a42a76f1c02dc2b2}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::detail\+::sample\+\_\+reference\+\_\+positions}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space, \+::mfem\+::\+Mesh \&reference\+\_\+mesh)
|
|
\begin{DoxyCompactList}\small\item\em Sample paired coordinates after the scalar node-\/selection stage has validated the space. \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_1_1detail_a3954d96a884f6b832684654551467bdf}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::detail\+::sample\+\_\+reference\+\_\+surface}} (const \+::mfem\+::\+Finite\+Element\+Space \&scalar\+\_\+space, const std\+::vector$<$ int $>$ \&selected)
|
|
\begin{DoxyCompactList}\small\item\em Reuse the graph\textquotesingle{}s canonical surface nodes when only physical coordinates changed. \end{DoxyCompactList}\end{DoxyCompactItemize}
|