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)
63 lines
8.4 KiB
TeX
63 lines
8.4 KiB
TeX
\doxysection{src/include/serif/model/graph.hpp File Reference}
|
|
\hypertarget{model_2graph_8hpp}{}\label{model_2graph_8hpp}\index{src/include/serif/model/graph.hpp@{src/include/serif/model/graph.hpp}}
|
|
{\ttfamily \#include $<$limits$>$}\newline
|
|
{\ttfamily \#include $<$memory$>$}\newline
|
|
{\ttfamily \#include $<$tuple$>$}\newline
|
|
{\ttfamily \#include $<$utility$>$}\newline
|
|
{\ttfamily \#include "{}serif/model/computations/interior.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/model/computations/shape.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/model/computations/point\+\_\+constraints.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/model/computations/pressure\+\_\+boundary.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/model/equilibrium\+\_\+plan.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/geometry/deformation/backend/mfem/computations.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/geometry/deformation/backend/mfem/volume\+\_\+displacement.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/geometry/surface/backend/mfem/boundary\+\_\+computations.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/model/keys.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/model/plan.\+hpp"{}}\newline
|
|
Include dependency graph for graph.\+hpp\+:\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{model_2graph_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=232pt]{model_2graph_8hpp__dep__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Namespaces}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif}{serif}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1model}{serif\+::model}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1model_1_1detail}{serif\+::model\+::detail}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
{\footnotesize template$<$typename Layout, typename Owner, typename... Contribution\+Keys$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a1913d9c0eef4efd5fef3eef1c1f097de}{serif\+::model\+::detail\+::physical\+\_\+system\+\_\+computation}} (Layout layout, std\+::shared\+\_\+ptr$<$ const Owner $>$ owner, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Contribution\+Keys... $>$)
|
|
\begin{DoxyCompactList}\small\item\em Collect all additions before applying any boundary replacement. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename... Equations, typename... Additional$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_ae83ec19dfdc74cef1e310754e1fc7d12}{serif\+::model\+::detail\+::contribution\+\_\+keys}} (\mbox{\hyperlink{structserif_1_1utils_1_1types_1_1_type_list}{utils\+::types\+::\+Type\+List}}$<$ Equations... $>$, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Additional... $>$)
|
|
\begin{DoxyCompactList}\small\item\em Every interior equation contributes once; extension keys identify explicit additions or replacements. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Registry, typename Discretization, typename Layout, typename... Equations$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_ac05e8685fe7931d74aec47a2fad22331}{serif\+::model\+::detail\+::interior\+\_\+computations}} (const std\+::shared\+\_\+ptr$<$ const Registry $>$ \®istry, const Discretization \&discretization, const Layout \&layout, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options, \mbox{\hyperlink{structserif_1_1utils_1_1types_1_1_type_list}{utils\+::types\+::\+Type\+List}}$<$ Equations... $>$)
|
|
\begin{DoxyCompactList}\small\item\em Share each immutable equation with its volume graph, then publish one complete row contribution. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$Executable\+Interior\+Equations Registry, typename Discretization, discretization\+::blocks\+::\+System\+Layout\+Type Layout, typename... Additional\+Computations, typename... Additional\+Contributions$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_a818040e7235375f50650868a1fec3ae6}{serif\+::model\+::make\+\_\+model\+\_\+graph}} (std\+::shared\+\_\+ptr$<$ const Registry $>$ registry, std\+::shared\+\_\+ptr$<$ const Discretization $>$ discretization, const Layout \&layout, std\+::tuple$<$ Additional\+Computations... $>$ additional=\{\}, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Additional\+Contributions... $>$ contributions=\{\}, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\})
|
|
\begin{DoxyCompactList}\small\item\em Construct the complete stellar graph at one explicit composition point. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$Executable\+Interior\+Equations Registry, typename Discretization, discretization\+::blocks\+::\+System\+Layout\+Type Layout, typename... Additional\+Computations, typename... Additional\+Contributions$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_a085910a172d862a4116162850b0222c5}{serif\+::model\+::make\+\_\+model\+\_\+graph}} (Registry registry, std\+::shared\+\_\+ptr$<$ const Discretization $>$ discretization, const Layout \&layout, std\+::tuple$<$ Additional\+Computations... $>$ additional=\{\}, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Additional\+Contributions... $>$ contributions=\{\}, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\})
|
|
\begin{DoxyCompactList}\small\item\em Retain a standalone registry, including move-\/only equations supplied as an rvalue. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Bound, typename Layout$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a06541a710141be6fbf219de35214405a}{serif\+::model\+::detail\+::shape\+\_\+computations}} (const std\+::shared\+\_\+ptr$<$ const Bound $>$ \&bound, const Layout \&layout, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options)
|
|
\begin{DoxyCompactList}\small\item\em One shared deformation feeds all geometry derivatives and the physical shape-\/force equation. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Bound, typename Layout, std\+::size\+\_\+t... Indices$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a3489d3ea02ad642a3bfef57f03f1bee6}{serif\+::model\+::detail\+::constraint\+\_\+computations}} (const Bound \&bound, const Layout \&layout, std\+::index\+\_\+sequence$<$ Indices... $>$)
|
|
\begin{DoxyCompactList}\small\item\em Scalar phase conditions reuse the existing point-\/border computations. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Bound, typename Layout$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_af3b51c0962e8dfbe23c9f31450df4aee}{serif\+::model\+::detail\+::boundary\+\_\+computations}} (const Bound \&, const Layout \&layout)
|
|
\begin{DoxyCompactList}\small\item\em Sample the internally selected pressure formulation through its compiled traces. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Plan, typename... Constraints$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a49beafd3acaa2dbc7ba53837ee6e91eb}{serif\+::model\+::detail\+::equilibrium\+\_\+contribution\+\_\+keys}} (std\+::tuple$<$ Constraints... $>$ \texorpdfstring{$\ast$}{*})
|
|
\begin{DoxyCompactList}\small\item\em Name exactly the explicitly selected non-\/interior contributions to final assembly. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Bound, typename Layout, typename... Numerical\+Computations$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_a74e1efe91e9ad6f773134036585a39b6}{serif\+::model\+::make\+\_\+equilibrium\+\_\+graph}} (std\+::shared\+\_\+ptr$<$ const Bound $>$ bound, const Layout \&layout, std\+::tuple$<$ Numerical\+Computations... $>$ numerical=\{\}, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} options=\{\})
|
|
\begin{DoxyCompactList}\small\item\em Connect the explicit equilibrium definition in one readable place. \end{DoxyCompactList}\end{DoxyCompactItemize}
|