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

107
docs/latex/layout_8cpp.tex Normal file
View File

@@ -0,0 +1,107 @@
\doxysection{src/compile\+\_\+time\+\_\+checks/serif/solver/preconditioner/layout.cpp File Reference}
\hypertarget{layout_8cpp}{}\label{layout_8cpp}\index{src/compile\_time\_checks/serif/solver/preconditioner/layout.cpp@{src/compile\_time\_checks/serif/solver/preconditioner/layout.cpp}}
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$array$>$}\newline
{\ttfamily \#include $<$span$>$}\newline
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include "{}serif/discretization/blocks/fields.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/blocks/vector\+\_\+view.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/operators/linearized\+\_\+system\+\_\+view.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/normalization/layout.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/normalization/keys.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/computations/ordering.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/preconditioner/default\+\_\+preconditioners.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/dependencies/dependencies.\+hpp"{}}\newline
Include dependency graph for layout.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{layout_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1checks_1_1_extra_field}{serif\+::solver\+::preconditioner\+::checks\+::\+Extra\+Field}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1checks_1_1_extra_value}{serif\+::solver\+::preconditioner\+::checks\+::\+Extra\+Value}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1checks_1_1_extra_row}{serif\+::solver\+::preconditioner\+::checks\+::\+Extra\+Row}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver}{serif\+::solver}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner}{serif\+::solver\+::preconditioner}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks}{serif\+::solver\+::preconditioner\+::checks}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_reads_coordinate}{serif\+::solver\+::preconditioner\+::checks\+::\+Reads\+Coordinate}}
\begin{DoxyCompactList}\small\item\em Detection of an absent coordinate must fail in constraints instead of instantiating a function body. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_reads_block}{serif\+::solver\+::preconditioner\+::checks\+::\+Reads\+Block}}
\begin{DoxyCompactList}\small\item\em Only declared equation/unknown pairs are exposed by a borrowed linearization. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_has_offset}{serif\+::solver\+::preconditioner\+::checks\+::\+Has\+Offset}}
\begin{DoxyCompactList}\small\item\em Malformed coordinate requests remain detection-\/safe on the owning metadata as well. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_has_primal_preconditioner}{serif\+::solver\+::preconditioner\+::checks\+::\+Has\+Primal\+Preconditioner}}
\begin{DoxyCompactList}\small\item\em Keep unsupported coordinate sets out of the primal recipe before its body is instantiated. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_ae448d9c52432cf59dd1795980f1829bc}{serif\+::solver\+::preconditioner\+::checks\+::\+Kind}} = blocks\+::\+Represented\+Value\+Kind
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a078a73213b02df0577774643995c87bf}{serif\+::solver\+::preconditioner\+::checks\+::\+Mass}} = blocks\+::barotropic\+\_\+constant\+::mass\+\_\+normalization
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a73960fb3033e1ba0ad73dede87e96633}{serif\+::solver\+::preconditioner\+::checks\+::\+Reaction}} = blocks\+::frame\+\_\+acceleration\+::component$<$0$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a318cb3e924cf595bb09ff5bd8cfe7fdb}{serif\+::solver\+::preconditioner\+::checks\+::\+Density}} = blocks\+::density\+::mass
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_aa3fc96739043ce941add04cc5d6d67fb}{serif\+::solver\+::preconditioner\+::checks\+::\+Keys}} = dependencies\+::\+Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a078a73213b02df0577774643995c87bf}{Mass}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a73960fb3033e1ba0ad73dede87e96633}{Reaction}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_afb0e84193f3983f6a397af3c0813eb46}{serif\+::solver\+::preconditioner\+::checks\+::\+Layout}} = blocks\+::\+System\+Layout$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_aa3fc96739043ce941add04cc5d6d67fb}{Keys}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_aa3fc96739043ce941add04cc5d6d67fb}{Keys}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a7abff0667b7366d788c4672ebe9b9027}{serif\+::solver\+::preconditioner\+::checks\+::\+State}} = blocks\+::\+State\+View$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_afb0e84193f3983f6a397af3c0813eb46}{Layout}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a3cd5e0d76dcea813a4fe80b4eb8d9b91}{serif\+::solver\+::preconditioner\+::checks\+::\+Constant\+State}} = blocks\+::\+State\+View$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_afb0e84193f3983f6a397af3c0813eb46}{Layout}}, const double$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a0176b5eefc9e8f15ba17e40c9016798e}{serif\+::solver\+::preconditioner\+::checks\+::\+Physical}} = \mbox{\hyperlink{structserif_1_1operators_1_1_physical_block}{operators\+::\+Physical\+Block}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a078a73213b02df0577774643995c87bf}{Mass}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a73960fb3033e1ba0ad73dede87e96633}{Reaction}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_ad330485dd536c6eb6c00f5c04fcde58c}{serif\+::solver\+::preconditioner\+::checks\+::\+Sources}} = decltype(dependencies\+::make\+\_\+dependency\+\_\+context(dependencies\+::own$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a0176b5eefc9e8f15ba17e40c9016798e}{Physical}}$>$(1)))
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a4596c30faf0855227abbabd465a0f883}{serif\+::solver\+::preconditioner\+::checks\+::\+System}} = \mbox{\hyperlink{classserif_1_1operators_1_1_linearized_system_view}{operators\+::\+Linearized\+System\+View}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_afb0e84193f3983f6a397af3c0813eb46}{Layout}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_ad330485dd536c6eb6c00f5c04fcde58c}{Sources}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a0441f130ee842cf62915bab9ef87a299}{serif\+::solver\+::preconditioner\+::checks\+::\+Reordered\+Layout}} = blocks\+::\+System\+Layout$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_aa3fc96739043ce941add04cc5d6d67fb}{Keys}}, dependencies\+::\+Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a73960fb3033e1ba0ad73dede87e96633}{Reaction}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a078a73213b02df0577774643995c87bf}{Mass}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_af109bec3cd4a26fe8b234f9c538df4ef}{serif\+::solver\+::preconditioner\+::checks\+::\+Potential}} = blocks\+::gravity\+::potential
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_abc0b1c6b549265466b1b52f6b71718bd}{serif\+::solver\+::preconditioner\+::checks\+::\+Rotation}} = blocks\+::rotation\+::angular\+\_\+velocity
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a320deada98c3f56528915540045f0ca2}{serif\+::solver\+::preconditioner\+::checks\+::\+Shape}} = blocks\+::surface\+\_\+deformation\+::coefficients
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a0122c390aa87e00c661cc7e360f94578}{serif\+::solver\+::preconditioner\+::checks\+::\+Shape\+Row}} = blocks\+::surface\+\_\+deformation\+::shape\+\_\+equilibrium
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a41d58fd871f120699f3d0a8d36bf0c9a}{serif\+::solver\+::preconditioner\+::checks\+::\+Primal\+Fields}} = dependencies\+::\+Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a318cb3e924cf595bb09ff5bd8cfe7fdb}{Density}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_af109bec3cd4a26fe8b234f9c538df4ef}{Potential}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a6fc13921980fa8ab9664beee17e7a9c8}{serif\+::solver\+::preconditioner\+::checks\+::\+Primal\+Fixed\+Layout}} = blocks\+::\+System\+Layout$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a41d58fd871f120699f3d0a8d36bf0c9a}{Primal\+Fields}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a41d58fd871f120699f3d0a8d36bf0c9a}{Primal\+Fields}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a9b252a067432f9ccd1c0a3565c75a94e}{serif\+::solver\+::preconditioner\+::checks\+::\+Primal\+Moving\+Layout}}
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a75c9b522ea43c52ef0427b328ac03caf}{serif\+::solver\+::preconditioner\+::checks\+::\+Primal\+Recipe}} = decltype(\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_aa5c6d8ad540ecaca25de3555918566f3}{make\+\_\+primal\+\_\+preconditioner}}(std\+::declval$<$const \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a9b252a067432f9ccd1c0a3565c75a94e}{Primal\+Moving\+Layout}}\&$>$()))
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a4ad89e1c6094b31366bbe5c12da9ef5a}{serif\+::solver\+::preconditioner\+::checks\+::\+Primal\+Extra\+Layout}}
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_adc27368f10f2bf26c1be45125e6e9140}{serif\+::solver\+::preconditioner\+::checks\+::\+Primal\+Extra\+Recipe}} = decltype(\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_aa5c6d8ad540ecaca25de3555918566f3}{make\+\_\+primal\+\_\+preconditioner}}(std\+::declval$<$const \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a4ad89e1c6094b31366bbe5c12da9ef5a}{Primal\+Extra\+Layout}}\&$>$()))
\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item
constexpr \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a0441f130ee842cf62915bab9ef87a299}{Reordered\+Layout}} \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1checks_a5aa91ea04af2f811d8939d28f645d1f3}{serif\+::solver\+::preconditioner\+::checks\+::resolved\+\_\+layout}}
\end{DoxyCompactItemize}