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)
81 lines
9.8 KiB
TeX
81 lines
9.8 KiB
TeX
\doxysection{src/include/serif/backend/mfem/geometry/deformation/inputs.hpp File Reference}
|
|
\hypertarget{geometry_2deformation_2inputs_8hpp}{}\label{geometry_2deformation_2inputs_8hpp}\index{src/include/serif/backend/mfem/geometry/deformation/inputs.hpp@{src/include/serif/backend/mfem/geometry/deformation/inputs.hpp}}
|
|
{\ttfamily \#include $<$algorithm$>$}\newline
|
|
{\ttfamily \#include $<$array$>$}\newline
|
|
{\ttfamily \#include $<$ranges$>$}\newline
|
|
{\ttfamily \#include $<$span$>$}\newline
|
|
{\ttfamily \#include $<$utility$>$}\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/backend/mfem/shared/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]{geometry_2deformation_2inputs_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]{geometry_2deformation_2inputs_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_shape_coefficient_tracking}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Shape\+Coefficient\+Tracking}}
|
|
\begin{DoxyCompactList}\small\item\em Capture the values behind a shape view, independently of its temporary wrapper. \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}}
|
|
\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
|
|
{\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, utils\+::dependencies\+::\+Is\+Resource Shape\+Resource$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1detail_a3b5de01c8349c38e6759588c12178d0c}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::detail\+::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, Shape\+Resource coefficients)
|
|
\begin{DoxyCompactList}\small\item\em Share physical input construction between borrowed containers and state views. \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 a borrowed shape vector without evaluating deformation. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Surface, typename Interior, typename Vacuum$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_ada60e2d59b92293d0dca2d76bfa31fbf}{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, std\+::span$<$ const double $>$ coefficients)
|
|
\begin{DoxyCompactList}\small\item\em Bind shape coordinates directly from a packed numerical state. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Surface, typename Interior, typename Vacuum, std\+::ranges\+::range Coefficients$>$ \newline
|
|
requires (!std\+::ranges\+::borrowed\+\_\+range$<$Coefficients$>$)}\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_ab4c83509ce7b3ef40659569c4b50a693}{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}} \&, Coefficients \&\&)=delete
|
|
\begin{DoxyCompactList}\small\item\em Reject temporary owning containers whose coefficient storage would expire. \end{DoxyCompactList}\end{DoxyCompactItemize}
|