Files
MeanField_SERiF/docs/latex/state_8cpp.tex
Emily Boudreaux 6b57738330 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)
2026-11-09 14:09:44 -05:00

104 lines
12 KiB
TeX

\doxysection{src/compile\+\_\+time\+\_\+checks/serif/model/state.cpp File Reference}
\hypertarget{state_8cpp}{}\label{state_8cpp}\index{src/compile\_time\_checks/serif/model/state.cpp@{src/compile\_time\_checks/serif/model/state.cpp}}
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$span$>$}\newline
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include "{}serif/backend/mfem/model/equilibrium.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/model/state.\+hpp"{}}\newline
Include dependency graph for state.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{state_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_binding}{serif\+::model\+::checks\+::\+Binding$<$ Term\+T $>$}}
\begin{DoxyCompactList}\small\item\em Only the binding\textquotesingle{}s physical identity is needed to check public overload constraints. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_moving_plan}{serif\+::model\+::checks\+::\+Moving\+Plan}}
\item
struct \mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_moving_plan_1_1_surface}{serif\+::model\+::checks\+::\+Moving\+Plan\+::\+Surface}}
\item
struct \mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_fixed_plan}{serif\+::model\+::checks\+::\+Fixed\+Plan}}
\item
struct \mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_bound}{serif\+::model\+::checks\+::\+Bound$<$ Plan\+T $>$}}
\end{DoxyCompactItemize}
\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_1checks}{serif\+::model\+::checks}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_reads_field}{serif\+::model\+::checks\+::\+Reads\+Field}}
\begin{DoxyCompactList}\small\item\em Check field availability and owner lifetime without instantiating a getter body. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_reads_values}{serif\+::model\+::checks\+::\+Reads\+Values}}
\begin{DoxyCompactList}\small\item\em Packed views must remain tied to an lvalue owning state. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_reads_layout}{serif\+::model\+::checks\+::\+Reads\+Layout}}
\begin{DoxyCompactList}\small\item\em Layout references cannot survive destruction of a temporary owning state. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_can_evaluate}{serif\+::model\+::checks\+::\+Can\+Evaluate}}
\begin{DoxyCompactList}\small\item\em Unsupported state and prescribed-\/field combinations must fail during overload selection. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_can_prepare_linear_system}{serif\+::model\+::checks\+::\+Can\+Prepare\+Linear\+System}}
\begin{DoxyCompactList}\small\item\em Linear preparation needs both a selected recipe and a valid candidate binding. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0f801ed67f347eac5044c9400d863209}{serif\+::model\+::checks\+::\+Density}} = blocks\+::density\+::mass
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ab56460b20c275d11bb144559357f18c9}{serif\+::model\+::checks\+::\+Rotation}} = blocks\+::rotation\+::angular\+\_\+velocity
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ac0d3ec42b0ba8c641587dacbda968b0d}{serif\+::model\+::checks\+::\+Shape}} = blocks\+::surface\+\_\+deformation\+::coefficients
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_aee1c40955bf65f7effa23bcfa0c48503}{serif\+::model\+::checks\+::\+Shape\+Row}} = blocks\+::surface\+\_\+deformation\+::shape\+\_\+equilibrium
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a64f7be84d64cb0d2bd45448160d2be00}{serif\+::model\+::checks\+::\+Values}} = dependencies\+::\+Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0f801ed67f347eac5044c9400d863209}{Density}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ac0d3ec42b0ba8c641587dacbda968b0d}{Shape}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a68a6e5b462c5a29e862b40d6e6ddb977}{serif\+::model\+::checks\+::\+Rows}} = dependencies\+::\+Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_aee1c40955bf65f7effa23bcfa0c48503}{Shape\+Row}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0f801ed67f347eac5044c9400d863209}{Density}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a25b09ef80aa03c71690f75564edb5cba}{serif\+::model\+::checks\+::\+Layout}} = blocks\+::\+System\+Layout$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a64f7be84d64cb0d2bd45448160d2be00}{Values}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a68a6e5b462c5a29e862b40d6e6ddb977}{Rows}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a335a55b91174c009b17de5f19d4bab9e}{serif\+::model\+::checks\+::\+State}} = \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a25b09ef80aa03c71690f75564edb5cba}{Layout}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0bf4c43c2062e41e83bb79d1f37db6d4}{serif\+::model\+::checks\+::\+Empty\+Inputs}} = dependencies\+::\+Dependency\+Context$<$$>$
\item
{\footnotesize template$<$typename Key, typename Term = Key$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{serif\+::model\+::checks\+::\+Coefficient\+Source}} = decltype(dependencies\+::own$<$Key$>$(std\+::declval$<$\mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_coefficient_view}{operators\+::backend\+::mfem\+::\+Coefficient\+View}}$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_binding}{Binding}}$<$Term$>$$>$$>$()))
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a532eb432037ebaa8679c5d4c5cb6ae71}{serif\+::model\+::checks\+::\+Rotation\+Inputs}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ab56460b20c275d11bb144559357f18c9}{Rotation}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_accd5eafc530dfeee6fbc87f79474f5c9}{serif\+::model\+::checks\+::\+Wrong\+Identity}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ab56460b20c275d11bb144559357f18c9}{Rotation}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0f801ed67f347eac5044c9400d863209}{Density}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a48e974054ad97d32febb3a913be4e97a}{serif\+::model\+::checks\+::\+Wrong\+Value}} = decltype(dependencies\+::make\+\_\+dependency\+\_\+context(dependencies\+::own$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ab56460b20c275d11bb144559357f18c9}{Rotation}}$>$(1.\+0)))
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a449d520183c36c926a0f4cef0fd48353}{serif\+::model\+::checks\+::\+Overlap}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0f801ed67f347eac5044c9400d863209}{Density}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ab56460b20c275d11bb144559357f18c9}{Rotation}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a8f1b88e6af4b309b466eb4909596eb36}{serif\+::model\+::checks\+::\+Shape\+Overlap}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ac0d3ec42b0ba8c641587dacbda968b0d}{Shape}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ab56460b20c275d11bb144559357f18c9}{Rotation}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a8e51a63a5ebe4ab762eb9ceea5c55106}{serif\+::model\+::checks\+::\+Complete\+Fields}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0f801ed67f347eac5044c9400d863209}{Density}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a05db01a3848b8701da4156ee4b7b5743}{Coefficient\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ab56460b20c275d11bb144559357f18c9}{Rotation}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a1f24fce060f149d5c4cfa79d234244be}{serif\+::model\+::checks\+::\+Graph}}
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_af5e8e21f9a309a234c23039c133fe9a6}{serif\+::model\+::checks\+::\+Moving\+Evaluator}} = execution\+::\+Equilibrium\+Evaluator$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_bound}{Bound}}$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_moving_plan}{Moving\+Plan}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a1f24fce060f149d5c4cfa79d234244be}{Graph}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0bf4c43c2062e41e83bb79d1f37db6d4}{Empty\+Inputs}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a83a7493d4c7760c566e4245af2706d53}{serif\+::model\+::checks\+::\+Fixed\+Evaluator}} = execution\+::\+Equilibrium\+Evaluator$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_bound}{Bound}}$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_fixed_plan}{Fixed\+Plan}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a1f24fce060f149d5c4cfa79d234244be}{Graph}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0bf4c43c2062e41e83bb79d1f37db6d4}{Empty\+Inputs}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0c15395b83c58d8179dba45c1a029b03}{serif\+::model\+::checks\+::\+Prepared\+Graph}}
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a46d916c4508a99bba62e58d429980d5e}{serif\+::model\+::checks\+::\+Moving\+Prepared\+Evaluator}} = execution\+::\+Equilibrium\+Evaluator$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_bound}{Bound}}$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_moving_plan}{Moving\+Plan}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0c15395b83c58d8179dba45c1a029b03}{Prepared\+Graph}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0bf4c43c2062e41e83bb79d1f37db6d4}{Empty\+Inputs}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_acc3e76ae08e20b2c3a5cf3a1820e4619}{serif\+::model\+::checks\+::\+Fixed\+Prepared\+Evaluator}} = execution\+::\+Equilibrium\+Evaluator$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_bound}{Bound}}$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_fixed_plan}{Fixed\+Plan}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0c15395b83c58d8179dba45c1a029b03}{Prepared\+Graph}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0bf4c43c2062e41e83bb79d1f37db6d4}{Empty\+Inputs}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a447eafad85777c436b94d244938c9d21}{serif\+::model\+::checks\+::\+Fixed\+State}} = \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$\mbox{\hyperlink{structserif_1_1model_1_1checks_1_1_fixed_plan_ad2907b7a085de29ee1eb711a0ebc2253}{Fixed\+Plan\+::\+Layout}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a06c2ca9588c23b311e36451e21e3e6a3}{serif\+::model\+::checks\+::\+Other\+State}} = \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{Stellar\+State}}$<$blocks\+::\+System\+Layout$<$dependencies\+::\+Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1model_1_1checks_ac0d3ec42b0ba8c641587dacbda968b0d}{Shape}}, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a0f801ed67f347eac5044c9400d863209}{Density}}$>$, \mbox{\hyperlink{namespaceserif_1_1model_1_1checks_a68a6e5b462c5a29e862b40d6e6ddb977}{Rows}}$>$$>$
\end{DoxyCompactItemize}