docs(docs): built docs

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)
This commit is contained in:
2026-11-09 14:09:44 -05:00
parent d9c4919477
commit 6b57738330
32596 changed files with 4155414 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
\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}