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

42
docs/latex/Makefile Normal file
View File

@@ -0,0 +1,42 @@
LATEX_CMD?=xelatex
MKIDX_CMD?=makeindex
BIBTEX_CMD?=bibtex
LATEX_COUNT?=8
MANUAL_FILE?=refman
all: $(MANUAL_FILE).pdf
pdf: $(MANUAL_FILE).pdf
$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi
$(MKIDX_CMD) $(MANUAL_FILE).idx
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi
latex_count=$(LATEX_COUNT) ; \
while grep -E -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi; \
latex_count=`expr $$latex_count - 1` ;\
done
$(MKIDX_CMD) $(MANUAL_FILE).idx
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf

View File

@@ -0,0 +1,2 @@
\doxysection{src/include/serif/utils/serialize/\+COMPONENTS.md File Reference}
\hypertarget{_c_o_m_p_o_n_e_n_t_s_8md}{}\label{_c_o_m_p_o_n_e_n_t_s_8md}\index{src/include/serif/utils/serialize/COMPONENTS.md@{src/include/serif/utils/serialize/COMPONENTS.md}}

View File

@@ -0,0 +1,48 @@
\doxysection{src/include/serif/geometry/deformation/detail/action\+\_\+storage.hpp File Reference}
\hypertarget{action__storage_8hpp}{}\label{action__storage_8hpp}\index{src/include/serif/geometry/deformation/detail/action\_storage.hpp@{src/include/serif/geometry/deformation/detail/action\_storage.hpp}}
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$cmath$>$}\newline
{\ttfamily \#include $<$functional$>$}\newline
{\ttfamily \#include $<$initializer\+\_\+list$>$}\newline
{\ttfamily \#include $<$span$>$}\newline
{\ttfamily \#include "{}serif/geometry/deformation/failure.\+hpp"{}}\newline
Include dependency graph for action\+\_\+storage.\+hpp\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{action__storage_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]{action__storage_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1detail_1_1_action_input}{serif\+::geometry\+::deformation\+::detail\+::\+Action\+Input}}
\begin{DoxyCompactList}\small\item\em Pair each action input with the dimension of its mathematical space. \end{DoxyCompactList}\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_1detail}{serif\+::geometry\+::deformation\+::detail}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a371fc6cc353f2df9f7752d802c2155da}{serif\+::geometry\+::deformation\+::validate\+\_\+deformation\+\_\+values}} (std\+::span$<$ const double $>$ values, std\+::size\+\_\+t expected\+\_\+size)
\begin{DoxyCompactList}\small\item\em Reject incompatible lengths and non-\/finite values before evaluating a deformation action. \end{DoxyCompactList}\item
\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1detail_a9bb57f09e703c8a56d6ce6bd658a752f}{serif\+::geometry\+::deformation\+::detail\+::validate\+\_\+disjoint\+\_\+output}} (std\+::span$<$ double $>$ output, std\+::initializer\+\_\+list$<$ std\+::span$<$ const double $>$ $>$ inputs)
\begin{DoxyCompactList}\small\item\em Preserve every action input until the last use, including nonlinear transpose derivatives. The list contains only the fixed number of mathematical arguments to an action; checking address intervals requires no allocation and never scans numerical coefficients. \end{DoxyCompactList}\item
\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1detail_a39ae230635f7915d0cb1942b333aac6f}{serif\+::geometry\+::deformation\+::detail\+::validate\+\_\+action\+\_\+arguments}} (std\+::span$<$ double $>$ output, std\+::size\+\_\+t output\+\_\+size, std\+::initializer\+\_\+list$<$ \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1detail_1_1_action_input}{Action\+Input}} $>$ inputs)
\begin{DoxyCompactList}\small\item\em Validate caller buffers uniformly, retaining disjoint inputs until an action has finished. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
ecbc38d2bf1efcc14cd225e8d2660e99

Binary file not shown.

View File

@@ -0,0 +1 @@
f44f426086d4338db6cd0891822c1a87

Binary file not shown.

View File

@@ -0,0 +1,42 @@
\doxysection{src/lib/serif/backend/mfem/operators/actions.cpp File Reference}
\hypertarget{actions_8cpp}{}\label{actions_8cpp}\index{src/lib/serif/backend/mfem/operators/actions.cpp@{src/lib/serif/backend/mfem/operators/actions.cpp}}
{\ttfamily \#include "{}serif/utils/error/nonfinite.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/operators/actions.\+hpp"{}}\newline
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include "{}serif/backend/mfem/shared/finite.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline
Include dependency graph for actions.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{actions_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1operators}{serif\+::operators}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend}{serif\+::operators\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem}{serif\+::operators\+::backend\+::mfem}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_ad500ee5ad4ef471ae431b8c4dc3c6c53}{serif\+::operators\+::backend\+::mfem\+::linearized\+\_\+action}} (int rows, int columns, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} action, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} transpose)
\begin{DoxyCompactList}\small\item\em Wrap owned callbacks with checked dimensions, finite results, and overlap-\/safe application. \end{DoxyCompactList}\item
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a26fc2a51b90bb3b53b0367a28d508080}{serif\+::operators\+::backend\+::mfem\+::linearized\+\_\+action}} (int rows, int columns, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} action, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} transpose, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a6b0cdfb3c2b7760075cc756317204db8}{Matrix\+Array\+Action}} batch)
\begin{DoxyCompactList}\small\item\em As above, with a batched forward action used by the operator\textquotesingle{}s Array\+Mult. \end{DoxyCompactList}\item
void \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a4c162ddfd57ca8b33e4f55537f0269ac}{serif\+::operators\+::backend\+::mfem\+::apply\+\_\+many}} (const \+::mfem\+::\+Operator \&action, std\+::span$<$ const \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \texorpdfstring{$\ast$}{*}const $>$ inputs, std\+::span$<$\mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \texorpdfstring{$\ast$}{*}const $>$ outputs)
\begin{DoxyCompactList}\small\item\em Apply an operator to several directions; Array\+Mult for SERiF actions, otherwise one Mult per direction. \end{DoxyCompactList}\item
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a17d55109fe81202a9dbff5f0cd921e5f}{serif\+::operators\+::backend\+::mfem\+::transpose\+\_\+block}} (\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} block)
\begin{DoxyCompactList}\small\item\em Transpose a linearized block without discarding efficient assembly and diagonal operations. \end{DoxyCompactList}\item
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a33094e2a1e4dfb26dec4a1dfde0ed843}{serif\+::operators\+::backend\+::mfem\+::compose\+\_\+blocks}} (\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} left, \mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} right)
\begin{DoxyCompactList}\small\item\em Compose linearized blocks in their written mathematical order. \end{DoxyCompactList}\item
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a346dd7c66908876a5373191c02ce6809}{serif\+::operators\+::backend\+::mfem\+::sum\+\_\+blocks}} (int rows, int columns, std\+::vector$<$ \mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} $>$ blocks)
\begin{DoxyCompactList}\small\item\em Sum compatible linearized blocks while retaining their native diagonal and sparse assembly operations. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
414b3e5d990945318dcb587f924d6849

Binary file not shown.

View File

@@ -0,0 +1,61 @@
\doxysection{src/include/serif/geometry/deformation/actions.hpp File Reference}
\hypertarget{actions_8hpp}{}\label{actions_8hpp}\index{src/include/serif/geometry/deformation/actions.hpp@{src/include/serif/geometry/deformation/actions.hpp}}
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$span$>$}\newline
{\ttfamily \#include "{}serif/geometry/deformation/failure.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/geometry/deformation/detail/action\+\_\+storage.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/geometry/deformation/spaces.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/geometry/deformation/workspace.\+hpp"{}}\newline
Include dependency graph for actions.\+hpp\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{actions_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]{actions_8hpp__dep__incl}
\end{center}
\end{figure}
\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}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_deformation_dimensions}{serif\+::geometry\+::deformation\+::\+Deformation\+Dimensions}}
\begin{DoxyCompactList}\small\item\em Matching lengths never replace the physical meanings of the input and output spaces. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_linear_deformation_map}{serif\+::geometry\+::deformation\+::\+Linear\+Deformation\+Map}}
\begin{DoxyCompactList}\small\item\em Fixed maps provide just forward and transpose actions with caller-\/owned scratch. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_differentiable_deformation_map}{serif\+::geometry\+::deformation\+::\+Differentiable\+Deformation\+Map}}
\begin{DoxyCompactList}\small\item\em Nonlinear maps explicitly provide every term needed by a Newton force pullback. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_deformation_map}{serif\+::geometry\+::deformation\+::\+Deformation\+Map}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_aa3ab7cc89a2262523938808363fda865}{serif\+::geometry\+::deformation\+::make\+\_\+deformation\+\_\+workspace}} (const Map \&map)
\begin{DoxyCompactList}\small\item\em Allocate action scratch explicitly, once per independent caller. \end{DoxyCompactList}\item
{\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ad539328115ca03a435d339f2c551a21b}{serif\+::geometry\+::deformation\+::build\+\_\+displacement}} (const Map \&map, std\+::span$<$ const double $>$ parameters, std\+::span$<$ double $>$ displacement, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \&workspace)
\begin{DoxyCompactList}\small\item\em Evaluate physical displacement with caller-\/owned output and scratch. All action outputs must be disjoint from their inputs. Workspace storage is reserved for the map and must not supply public input or output spans. \end{DoxyCompactList}\item
{\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a47622764fd6178445526c8b3d984a6b2}{serif\+::geometry\+::deformation\+::apply\+\_\+jacobian}} (const Map \&map, std\+::span$<$ const double $>$ parameters, std\+::span$<$ const double $>$ direction, std\+::span$<$ double $>$ displacement\+\_\+direction, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \&workspace)
\begin{DoxyCompactList}\small\item\em Linear maps reuse their primal action; nonlinear maps supply their exact tangent. \end{DoxyCompactList}\item
{\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a28c839bb898ee76ac62ceaddadcba6b1}{serif\+::geometry\+::deformation\+::apply\+\_\+jacobian\+\_\+transpose}} (const Map \&map, std\+::span$<$ const double $>$ parameters, std\+::span$<$ const double $>$ displacement\+\_\+dual, std\+::span$<$ double $>$ parameter\+\_\+dual, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \&workspace)
\begin{DoxyCompactList}\small\item\em Transfer virtual work from the displacement field to its independent shape coefficients. \end{DoxyCompactList}\item
{\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a5738813c140911a0c9ec69eec58af8e7}{serif\+::geometry\+::deformation\+::apply\+\_\+pullback\+\_\+derivative}} (const Map \&map, std\+::span$<$ const double $>$ parameters, std\+::span$<$ const double $>$ direction, std\+::span$<$ const double $>$ displacement\+\_\+dual, std\+::span$<$ double $>$ parameter\+\_\+dual, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \&workspace)
\begin{DoxyCompactList}\small\item\em Differentiate the transpose at fixed dual; zero is justified only for a declared linear map. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename Map$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a6947f0057c614e85f67ad79f50a11606}{serif\+::geometry\+::deformation\+::is\+\_\+linear\+\_\+deformation}}
\begin{DoxyCompactList}\small\item\em Linearity is an explicit property of the mathematics, independent of its action interface. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
3a4a64daaf22c461c66299b5d69721db

Binary file not shown.

View File

@@ -0,0 +1 @@
c390aa4a8eddb819c4281c4297877c4a

Binary file not shown.

View File

@@ -0,0 +1,35 @@
\doxysection{src/include/serif/solver/preconditioner/strategies/inverse/adaptive\+\_\+amg.hpp File Reference}
\hypertarget{adaptive__amg_8hpp}{}\label{adaptive__amg_8hpp}\index{src/include/serif/solver/preconditioner/strategies/inverse/adaptive\_amg.hpp@{src/include/serif/solver/preconditioner/strategies/inverse/adaptive\_amg.hpp}}
{\ttfamily \#include "{}serif/solver/preconditioner/contract.\+hpp"{}}\newline
Include dependency graph for adaptive\+\_\+amg.\+hpp\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=213pt]{adaptive__amg_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]{adaptive__amg_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse_1_1_adaptive_a_m_g}{serif\+::solver\+::preconditioner\+::strategies\+::inverse\+::\+Adaptive\+AMG}}
\begin{DoxyCompactList}\small\item\em Solve with Boomer\+AMG until a residual tolerance; an outer flexible solver is required. \end{DoxyCompactList}\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_1strategies}{serif\+::solver\+::preconditioner\+::strategies}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse}{serif\+::solver\+::preconditioner\+::strategies\+::inverse}}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
7aa9c08feac86a09958a23f030799b67

Binary file not shown.

View File

@@ -0,0 +1 @@
ed3ff12593e90197fe3c856d34d31b0a

Binary file not shown.

View File

@@ -0,0 +1,22 @@
\doxysection{src/compile\+\_\+time\+\_\+checks/serif/solver/normalization/algebra.cpp File Reference}
\hypertarget{algebra_8cpp}{}\label{algebra_8cpp}\index{src/compile\_time\_checks/serif/solver/normalization/algebra.cpp@{src/compile\_time\_checks/serif/solver/normalization/algebra.cpp}}
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$span$>$}\newline
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$mfem/linalg/densemat.\+hpp$>$}\newline
{\ttfamily \#include "{}serif/solver/normalization/scales.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/solver/normalization/operators.\+hpp"{}}\newline
Include dependency graph for algebra.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{algebra_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{concept_0d250110035027220242324102122027040335104251176344_1_1_has_stellar_scale}{@250110035027220242324102122027040335104251176344\+::\+Has\+Stellar\+Scale}}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
63e15c9ed36b39070c277201f09d8972

Binary file not shown.

56
docs/latex/all_8hpp.tex Normal file
View File

@@ -0,0 +1,56 @@
\doxysection{src/include/serif/discretization/domain/schema/validation/all.hpp File Reference}
\hypertarget{all_8hpp}{}\label{all_8hpp}\index{src/include/serif/discretization/domain/schema/validation/all.hpp@{src/include/serif/discretization/domain/schema/validation/all.hpp}}
File containing validate\+\_\+schema, which selects the topology validators required by the schema type.
{\ttfamily \#include "{}serif/discretization/domain/mesh/topology.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/schema/concepts.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/schema/validation/results.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/schema/validation/validator.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/schema/validation/boundary.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/schema/validation/connected.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/schema/validation/inscribed.\+hpp"{}}\newline
Include dependency graph for all.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{all_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]{all_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization}{serif\+::discretization}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain}{serif\+::discretization\+::domain}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_1_1schema}{serif\+::discretization\+::domain\+::schema}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_1_1schema_1_1validation}{serif\+::discretization\+::domain\+::schema\+::validation}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$Is\+Schema SchemaT$>$ }\\\mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_validation_result}{Schema\+Validation\+Result}} \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_1_1schema_1_1validation_ac7b1768feeba6a687afd25651fd43022}{serif\+::discretization\+::domain\+::schema\+::validation\+::validate\+\_\+schema}} (const \mbox{\hyperlink{classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology}{mesh\+::\+Mesh\+Topology}} \&topology)
\begin{DoxyCompactList}\small\item\em Validate a mesh against a schema. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing validate\+\_\+schema, which selects the topology validators required by the schema type.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}

View File

@@ -0,0 +1 @@
bec67e52868b8f1e3ad17ae6da88724d

Binary file not shown.

View File

@@ -0,0 +1 @@
c66d9fc5ca1557477f8e2243dec3811a

Binary file not shown.

31
docs/latex/amg_8cpp.tex Normal file
View File

@@ -0,0 +1,31 @@
\doxysection{src/lib/serif/backend/mfem/solver/preconditioner/inverse/amg.cpp File Reference}
\hypertarget{amg_8cpp}{}\label{amg_8cpp}\index{src/lib/serif/backend/mfem/solver/preconditioner/inverse/amg.cpp@{src/lib/serif/backend/mfem/solver/preconditioner/inverse/amg.cpp}}
{\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/amg.\+hpp"{}}\newline
{\ttfamily \#include $<$cmath$>$}\newline
{\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/validation.\+hpp"{}}\newline
Include dependency graph for amg.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{amg_8cpp__incl}
\end{center}
\end{figure}
\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_1backend}{serif\+::solver\+::preconditioner\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem}{serif\+::solver\+::preconditioner\+::backend\+::mfem}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a93b06736f1aa8006a04b04059080bd34}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+amg\+\_\+inverse}} (std\+::shared\+\_\+ptr$<$ const \+::mfem\+::\+Sparse\+Matrix $>$ matrix, const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse_1_1_fixed_a_m_g}{strategies\+::inverse\+::\+Fixed\+AMG}} \&options=\{\})
\begin{DoxyCompactList}\small\item\em Prepare fixed-\/cycle Boomer\+AMG on this process; MPI must already be initialized and remains caller-\/owned. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
8f52cae46817f502db174ea872731216

Binary file not shown.

40
docs/latex/amg_8hpp.tex Normal file
View File

@@ -0,0 +1,40 @@
\doxysection{src/include/serif/backend/mfem/solver/preconditioner/inverse/amg.hpp File Reference}
\hypertarget{amg_8hpp}{}\label{amg_8hpp}\index{src/include/serif/backend/mfem/solver/preconditioner/inverse/amg.hpp@{src/include/serif/backend/mfem/solver/preconditioner/inverse/amg.hpp}}
{\ttfamily \#include $<$expected$>$}\newline
{\ttfamily \#include "{}mfem/linalg/sparsemat.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/preconditioner/strategies/inverse/fixed\+\_\+amg.\+hpp"{}}\newline
Include dependency graph for amg.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{amg_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]{amg_8hpp__dep__incl}
\end{center}
\end{figure}
\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_1backend}{serif\+::solver\+::preconditioner\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem}{serif\+::solver\+::preconditioner\+::backend\+::mfem}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a93b06736f1aa8006a04b04059080bd34}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+amg\+\_\+inverse}} (std\+::shared\+\_\+ptr$<$ const \+::mfem\+::\+Sparse\+Matrix $>$ matrix, const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse_1_1_fixed_a_m_g}{strategies\+::inverse\+::\+Fixed\+AMG}} \&options=\{\})
\begin{DoxyCompactList}\small\item\em Prepare fixed-\/cycle Boomer\+AMG on this process; MPI must already be initialized and remains caller-\/owned. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
b5c7bfc83ccbbb70fa9583dc1ef6422c

Binary file not shown.

View File

@@ -0,0 +1 @@
4c5747fa07596dcbca94ff4983fc5389

Binary file not shown.

View File

@@ -0,0 +1,60 @@
\doxysection{src/include/serif/equations/angular\+\_\+momentum.hpp File Reference}
\hypertarget{angular__momentum_8hpp}{}\label{angular__momentum_8hpp}\index{src/include/serif/equations/angular\_momentum.hpp@{src/include/serif/equations/angular\_momentum.hpp}}
File containing the angular momentum constraint equation, which enforces a global constraint on the total angular momentum of a system.
{\ttfamily \#include $<$cmath$>$}\newline
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include "{}serif/equations/contributions.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/equations/point.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/equations/rigid\+\_\+rotation.\+hpp"{}}\newline
Include dependency graph for angular\+\_\+momentum.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{angular__momentum_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]{angular__momentum_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \mbox{\hyperlink{classserif_1_1equations_1_1_angular_momentum_constraint}{serif\+::equations\+::\+Angular\+Momentum\+Constraint}}
\begin{DoxyCompactList}\small\item\em Angular momentum constraint equation, which enforces a global constraint on the total angular momentum of a system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1equations}{serif\+::equations}}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing the angular momentum constraint equation, which enforces a global constraint on the total angular momentum of a system.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}
\begin{DoxyNote}{Note}
The angular momentum constraint is a global constraint that is enforced by integrating the point-\/wise contributions of the angular momentum density over the entire domain. The integrand is given by $ j_\parallel = \rho \Omega s^2$, where $s^2 = |\hat{n} × (r − r_{c})|^2$ is the cylindrical radius squared, and $\hat{n}$ is the unit rotation axis. The solver will integrate this over the domain and compare it to the target angular momentum to enforce the constraint.
\end{DoxyNote}
A few important notes about the implementation
\begin{DoxyItemize}
\item The way the equation system plugs into the mfem backend is such that equations should only ever return point wise contributions to the residual, not a global integrated residual. This is why we return $ j_\parallel = \rho \Omega s^2$ as the residual, rather than $ j_\parallel - J_{\text{target}}$. However we still need to subtract the target angular momentum from the integrated residual to enforce the constraint. This is done by implementing the method \+::residual\+\_\+offset() which returns $ -J_{\text{target}}$. The backend will automatically detect and, if present, subtract this from the integrated residual to enforce the constraint.
\item The solver can choose to validate the angular momentum constraint by integrating the \+::validation\+\_\+integrand() over the domain and then passing this result to \+::validate\+\_\+integral(double result). Note that this is not specific to this equation but a feature of the overall system
\end{DoxyItemize}

View File

@@ -0,0 +1 @@
a52bab932a3b0d2b252bc1731a77dd70

Binary file not shown.

View File

@@ -0,0 +1 @@
2a5485e566e038415e454320883e6156

Binary file not shown.

1059
docs/latex/annotated.tex Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,40 @@
\doxysection{src/lib/serif/utils/serialize/archive.cpp File Reference}
\hypertarget{archive_8cpp}{}\label{archive_8cpp}\index{src/lib/serif/utils/serialize/archive.cpp@{src/lib/serif/utils/serialize/archive.cpp}}
{\ttfamily \#include "{}serif/utils/serialize/archive.\+hpp"{}}\newline
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$atomic$>$}\newline
{\ttfamily \#include $<$charconv$>$}\newline
{\ttfamily \#include $<$chrono$>$}\newline
{\ttfamily \#include $<$cstdio$>$}\newline
{\ttfamily \#include $<$iomanip$>$}\newline
{\ttfamily \#include $<$limits$>$}\newline
{\ttfamily \#include $<$locale$>$}\newline
{\ttfamily \#include $<$set$>$}\newline
{\ttfamily \#include $<$sstream$>$}\newline
{\ttfamily \#include $<$system\+\_\+error$>$}\newline
{\ttfamily \#include "{}serif/config.\+hpp"{}}\newline
{\ttfamily \#include "{}format.\+hpp"{}}\newline
Include dependency graph for archive.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{archive_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1utils}{serif\+::utils}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize}{serif\+::utils\+::serialize}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a7f4727c3a8f5b10ed46c149785bd8c82}{serif\+::utils\+::serialize\+::add\+\_\+component}} (\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_pack}{Pack}} \&\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ad8a45ed21a6cf9a7ca63582a18526f9b}{pack}}, \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_field}{Field}} component)
\begin{DoxyCompactList}\small\item\em Insert a component while rejecting conflicting definitions of the same named object. \end{DoxyCompactList}\item
\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ void $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a53de7b4a0d01bed188ef53fbeb4c3e7e}{serif\+::utils\+::serialize\+::write}} (const std\+::filesystem\+::path \&path, const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_pack}{Pack}} \&contents, const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_write_options}{Write\+Options}} \&options=\{\})
\begin{DoxyCompactList}\small\item\em Write a complete temporary file and atomically replace the destination only after it closes successfully. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
72d732d2c853d2a0ee9896d1b611e57d

Binary file not shown.

View File

@@ -0,0 +1,72 @@
\doxysection{src/include/serif/utils/serialize/archive.hpp File Reference}
\hypertarget{archive_8hpp}{}\label{archive_8hpp}\index{src/include/serif/utils/serialize/archive.hpp@{src/include/serif/utils/serialize/archive.hpp}}
{\ttfamily \#include $<$cstddef$>$}\newline
{\ttfamily \#include $<$filesystem$>$}\newline
{\ttfamily \#include $<$fstream$>$}\newline
{\ttfamily \#include $<$map$>$}\newline
{\ttfamily \#include $<$optional$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include "{}serif/utils/serialize/record.\+hpp"{}}\newline
Include dependency graph for archive.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{archive_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]{archive_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_write_options}{serif\+::utils\+::serialize\+::\+Write\+Options}}
\begin{DoxyCompactList}\small\item\em Annotations belong to the written observation, not to the stellar physics. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_read_options}{serif\+::utils\+::serialize\+::\+Read\+Options}}
\begin{DoxyCompactList}\small\item\em Bound resource use when inspecting an unfamiliar archive; limits may be raised explicitly. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_entry}{serif\+::utils\+::serialize\+::\+Entry}}
\begin{DoxyCompactList}\small\item\em The ledger locates each independent field without decoding the rest of the archive. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_pack}{serif\+::utils\+::serialize\+::\+Pack}}
\begin{DoxyCompactList}\small\item\em A pack owns its data immediately, so subsequent model changes cannot alter a pending write. \end{DoxyCompactList}\item
class \mbox{\hyperlink{classserif_1_1utils_1_1serialize_1_1_reader}{serif\+::utils\+::serialize\+::\+Reader}}
\begin{DoxyCompactList}\small\item\em Inspect the ledger first, then seek directly to whichever components are actually needed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1utils}{serif\+::utils}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize}{serif\+::utils\+::serialize}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item
enum class \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_af59ceea5df9600e1e8c0e762e6b08c99}{serif\+::utils\+::serialize\+::\+Format}} \{ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_af59ceea5df9600e1e8c0e762e6b08c99a9d7183f16acce70658f686ae7f1a4d20}{serif\+::utils\+::serialize\+::binary}}
, \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_af59ceea5df9600e1e8c0e762e6b08c99a1cb251ec0d568de6a929b520c4aed8d1}{serif\+::utils\+::serialize\+::text}}
\}
\begin{DoxyCompactList}\small\item\em Both encodings share the same component schemas and indexed, sectioned file layout. \end{DoxyCompactList}\item
enum class \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a02674e30cfb576e300d365827de17279}{serif\+::utils\+::serialize\+::\+Version\+Tolerance}} \{ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a02674e30cfb576e300d365827de17279ae79a3672fcb675134bb57abd3e0dfae3}{serif\+::utils\+::serialize\+::same\+\_\+major}}
, \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a02674e30cfb576e300d365827de17279a3b7efa09444a31c5d58596e5bbf87d47}{serif\+::utils\+::serialize\+::exact}}
, \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a02674e30cfb576e300d365827de17279a100b8cad7cf2a56f6df78f171f97a1ec}{serif\+::utils\+::serialize\+::any}}
\}
\begin{DoxyCompactList}\small\item\em Application-\/version compatibility is separate from file-\/format and component-\/schema compatibility. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename T$>$ }\\\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_field}{Field}} \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ab93715bd271d15568badc8f1d5423271}{serif\+::utils\+::serialize\+::named}} (std\+::string name, const T \&value)
\begin{DoxyCompactList}\small\item\em Assign an explicit top-\/level name, for example when storing two stars in the same archive. \end{DoxyCompactList}\item
void \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a7f4727c3a8f5b10ed46c149785bd8c82}{serif\+::utils\+::serialize\+::add\+\_\+component}} (\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_pack}{Pack}} \&\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ad8a45ed21a6cf9a7ca63582a18526f9b}{pack}}, \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_field}{Field}} component)
\begin{DoxyCompactList}\small\item\em Insert a component while rejecting conflicting definitions of the same named object. \end{DoxyCompactList}\item
{\footnotesize template$<$typename... T$>$ }\\\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_pack}{Pack}} \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ad8a45ed21a6cf9a7ca63582a18526f9b}{serif\+::utils\+::serialize\+::pack}} (const T \&... values)
\begin{DoxyCompactList}\small\item\em Capture every supplied component; unregistered nested types remain visible as unsupported entries. \end{DoxyCompactList}\item
\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ void $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a53de7b4a0d01bed188ef53fbeb4c3e7e}{serif\+::utils\+::serialize\+::write}} (const std\+::filesystem\+::path \&path, const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_pack}{Pack}} \&contents, const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_write_options}{Write\+Options}} \&options=\{\})
\begin{DoxyCompactList}\small\item\em Write a complete temporary file and atomically replace the destination only after it closes successfully. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
9eca4957e90647667456c4318351ac7c

Binary file not shown.

View File

@@ -0,0 +1 @@
986cef81874c476a844bf61a72cb8de3

Binary file not shown.

View File

@@ -0,0 +1,58 @@
\doxysection{src/include/serif/equations/arithmetic.hpp File Reference}
\hypertarget{arithmetic_8hpp}{}\label{arithmetic_8hpp}\index{src/include/serif/equations/arithmetic.hpp@{src/include/serif/equations/arithmetic.hpp}}
File containing the Equation\+Scale and Equation\+Sum templates, which allow for scaling and summing equations.
{\ttfamily \#include $<$cmath$>$}\newline
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$stdexcept$>$}\newline
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include $<$tuple$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include "{}serif/equations/concepts.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline
Include dependency graph for arithmetic.\+hpp\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{arithmetic_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]{arithmetic_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \mbox{\hyperlink{classserif_1_1equations_1_1_equation_scale}{serif\+::equations\+::\+Equation\+Scale$<$ Equation\+T $>$}}
\begin{DoxyCompactList}\small\item\em Scale an equation by a constant coefficient. \end{DoxyCompactList}\item
class \mbox{\hyperlink{classserif_1_1equations_1_1_equation_sum}{serif\+::equations\+::\+Equation\+Sum$<$ First\+T, Rest\+Ts $>$}}
\begin{DoxyCompactList}\small\item\em Sum multiple equations together. \end{DoxyCompactList}\item
class \mbox{\hyperlink{classserif_1_1equations_1_1_equation_difference}{serif\+::equations\+::\+Equation\+Difference$<$ Left\+T, Right\+T $>$}}
\begin{DoxyCompactList}\small\item\em Subtract one equation from another. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1equations}{serif\+::equations}}
\begin{DoxyCompactList}\small\item\em The equations namespace, intended to be, to the best of my design ability, where the vast majority of the actual physics lives. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing the Equation\+Scale and Equation\+Sum templates, which allow for scaling and summing equations.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}
The astute observer will notice that none of the code in this file or indeed in in any part of the equations module actually implements summation or scaled addition more generally. Rather, the code to manage that is implemented in the operator/backend/mfem module. Effectively these templates are compile time tags telling that system how to combine weak contributions. The reason for this comes down to we dont really want to sum at the point wise level; rather, we generally want to sum already integrated contributions. Since equations, by design, do not know any details about the global system they are unable to manage this themselves.
There is another, as yet unexplored case, where we introduce some point-\/wise summation equation. This could be implemented in a much more local fashion and would probably be easier to trace; however, it would be semantically different in its meaning.

View File

@@ -0,0 +1 @@
0de81459cf9ce6a454e09b859c3538ed

Binary file not shown.

View File

@@ -0,0 +1 @@
f8d9b27f7a5079b6c9e0e093329db38c

Binary file not shown.

View File

@@ -0,0 +1,61 @@
\doxysection{src/include/serif/geometry/surface/automatic.hpp File Reference}
\hypertarget{automatic_8hpp}{}\label{automatic_8hpp}\index{src/include/serif/geometry/surface/automatic.hpp@{src/include/serif/geometry/surface/automatic.hpp}}
{\ttfamily \#include "{}serif/geometry/surface/detail/automatic\+\_\+relations.\+hpp"{}}\newline
Include dependency graph for automatic.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{automatic_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]{automatic_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1geometry_1_1surface_1_1detail_1_1_selected_pressure_surface}{serif\+::geometry\+::surface\+::detail\+::\+Selected\+Pressure\+Surface$<$ Candidates $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1geometry_1_1surface_1_1detail_1_1_selected_pressure_surface_3_01std_1_1tuple_3_01_candidate_01_4_01_4}{serif\+::geometry\+::surface\+::detail\+::\+Selected\+Pressure\+Surface$<$ std\+::tuple$<$ Candidate $>$ $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1geometry_1_1surface_1_1_automatic_pressure_surface}{serif\+::geometry\+::surface\+::\+Automatic\+Pressure\+Surface$<$ EOS, Available\+Terms, Actual\+Rows, Solved\+Terms, Preferred\+Field $>$}}
\begin{DoxyCompactList}\small\item\em Compile an isobaric condition from available physical fields, actual equation rows, and the EOS catalog. \end{DoxyCompactList}\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_1surface}{serif\+::geometry\+::surface}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail}{serif\+::geometry\+::surface\+::detail}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1detail_1_1_eligible_surface_row}{serif\+::geometry\+::surface\+::detail\+::\+Eligible\+Surface\+Row}}
\begin{DoxyCompactList}\small\item\em Strong boundary enforcement requires an actual solved, scalar H1 equation row. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_automatic_pressure_surface_compilable}{serif\+::geometry\+::surface\+::\+Automatic\+Pressure\+Surface\+Compilable}}
\begin{DoxyCompactList}\small\item\em Whether the available equations and numerical backend select one implementable isobaric residual. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item
enum class \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_a739898ab5e92990aaeb57582842b1d1c}{serif\+::geometry\+::surface\+::\+Pressure\+Surface\+Selection}} \{ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_a739898ab5e92990aaeb57582842b1d1ca42bd4c0819c498d1c1ab622de74d6f82}{serif\+::geometry\+::surface\+::supported}}
, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_a739898ab5e92990aaeb57582842b1d1ca7060e0481896e00b3f7d20f1e8e2749a}{serif\+::geometry\+::surface\+::unavailable}}
, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_a739898ab5e92990aaeb57582842b1d1ca1f2a1ba9f974029c8e43ae8f59637f4c}{serif\+::geometry\+::surface\+::ambiguous}}
\}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$int Priority, typename EOS, typename Field, typename Fields, typename Rows, typename Solved\+Terms, typename Preferred\+Field$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a47569b6917cba9e92e76c0e678a88077}{serif\+::geometry\+::surface\+::detail\+::field\+\_\+candidates}} ()
\begin{DoxyCompactList}\small\item\em Search one precedence level, without asking the EOS for a relation when pressure is already an unknown. \end{DoxyCompactList}\item
{\footnotesize template$<$int Priority, typename EOS, typename Rows, typename Solved\+Terms, typename Preferred\+Field, typename... Fields$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a28aa7b0cb90c30abf0891e0dc118b7b3}{serif\+::geometry\+::surface\+::detail\+::select\+\_\+candidates}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Fields... $>$ fields)
\begin{DoxyCompactList}\small\item\em Prefer a pressure unknown, then an explicit inverse, then a direct pressure residual. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
4b4faa7f07623ef58cd59d6829bb8036

Binary file not shown.

View File

@@ -0,0 +1 @@
7780101a2fe1e3f02858a351cce42f4d

Binary file not shown.

View File

@@ -0,0 +1,51 @@
\doxysection{src/include/serif/geometry/surface/detail/automatic\+\_\+relations.hpp File Reference}
\hypertarget{automatic__relations_8hpp}{}\label{automatic__relations_8hpp}\index{src/include/serif/geometry/surface/detail/automatic\_relations.hpp@{src/include/serif/geometry/surface/detail/automatic\_relations.hpp}}
{\ttfamily \#include "{}serif/geometry/surface/compilation.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/blocks/traits.\+hpp"{}}\newline
Include dependency graph for automatic\+\_\+relations.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{automatic__relations_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]{automatic__relations_8hpp__dep__incl}
\end{center}
\end{figure}
\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_1surface}{serif\+::geometry\+::surface}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail}{serif\+::geometry\+::surface\+::detail}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1detail_1_1_thermodynamic_boundary_field}{serif\+::geometry\+::surface\+::detail\+::\+Thermodynamic\+Boundary\+Field}}
\begin{DoxyCompactList}\small\item\em Globals require an explicit physical role\+: matching units alone would mistake C or a multiplier for enthalpy. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename... Terms$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a20efef5a4c76937c7b0c55b68ef1c8c9}{serif\+::geometry\+::surface\+::detail\+::thermodynamic\+\_\+fields}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Terms... $>$)
\begin{DoxyCompactList}\small\item\em Collect physical fields, retaining distinct terms with equal quantities so ambiguity remains visible. \end{DoxyCompactList}\item
{\footnotesize template$<$typename Quantity, typename Carrier, typename... Fields$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a054743686d2e9c126d7a91dffd3342b7}{serif\+::geometry\+::surface\+::detail\+::quantity\+\_\+field}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Fields... $>$)
\begin{DoxyCompactList}\small\item\em Return a unique field for a quantity; the chosen residual carrier supplies its own quantity unambiguously. \end{DoxyCompactList}\item
{\footnotesize template$<$typename Carrier, typename Fields, typename... Quantities$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a20c3b7f26d331c003cc7298e16ac8fd2}{serif\+::geometry\+::surface\+::detail\+::relation\+\_\+bindings}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Quantities... $>$)
\begin{DoxyCompactList}\small\item\em Bind only the quantities read by this candidate, ignoring unrelated fields and quantities. \end{DoxyCompactList}\item
{\footnotesize template$<$typename EOS, typename Carrier, typename Fields, typename Relation$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a1349b4774527454fa74d4e8ffdf8ce6c}{serif\+::geometry\+::surface\+::detail\+::inverse\+\_\+candidate}} ()
\begin{DoxyCompactList}\small\item\em Test a declared inverse and every required analytic partial before publishing its formulation. \end{DoxyCompactList}\item
{\footnotesize template$<$typename EOS, typename Carrier, typename Fields, typename Relation$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a8ec42570e4d5c2a3c4cff02fcce3f8f4}{serif\+::geometry\+::surface\+::detail\+::direct\+\_\+candidate}} ()
\begin{DoxyCompactList}\small\item\em A direct pressure relation may replace only a row belonging to one of its solved inputs. \end{DoxyCompactList}\item
{\footnotesize template$<$bool Inverse, typename EOS, typename Carrier, typename Fields, typename... Relations$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a793bbc0e02d2552de83928fbbc24a8aa}{serif\+::geometry\+::surface\+::detail\+::relation\+\_\+candidates}} (\mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation_catalog}{eos\+::relations\+::\+Relation\+Catalog}}$<$ Relations... $>$)
\begin{DoxyCompactList}\small\item\em Keep every admissible relation; catalog order never selects a physical implementation. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
fd03866cbe44cc0b2f839cbc16b37dc4

Binary file not shown.

View File

@@ -0,0 +1 @@
60044cbe425febb03c57f4bdb3f07aaa

Binary file not shown.

View File

@@ -0,0 +1,2 @@
\doxysection{src/include/serif/backend/mfem/\+README.md File Reference}
\hypertarget{backend_2mfem_2_r_e_a_d_m_e_8md}{}\label{backend_2mfem_2_r_e_a_d_m_e_8md}\index{src/include/serif/backend/mfem/README.md@{src/include/serif/backend/mfem/README.md}}

View File

@@ -0,0 +1,44 @@
\doxysection{src/include/serif/solver/preconditioner/backend/mfem/coupling.hpp File Reference}
\hypertarget{backend_2mfem_2coupling_8hpp}{}\label{backend_2mfem_2coupling_8hpp}\index{src/include/serif/solver/preconditioner/backend/mfem/coupling.hpp@{src/include/serif/solver/preconditioner/backend/mfem/coupling.hpp}}
{\ttfamily \#include $<$expected$>$}\newline
{\ttfamily \#include "{}serif/solver/preconditioner/backend/mfem/inverse.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/preconditioner/strategies/coupling/order.\+hpp"{}}\newline
Include dependency graph for coupling.\+hpp\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{backend_2mfem_2coupling_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]{backend_2mfem_2coupling_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_two_block_couplings}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::\+Two\+Block\+Couplings}}
\begin{DoxyCompactList}\small\item\em The two Jacobian actions between independently ordered equation and unknown groups. \end{DoxyCompactList}\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_1backend}{serif\+::solver\+::preconditioner\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem}{serif\+::solver\+::preconditioner\+::backend\+::mfem}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a2e24799af31c301cb141c2bfd362669a}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+coupled\+\_\+inverse}} (\mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}} first, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}} second, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_two_block_couplings}{Two\+Block\+Couplings}} couplings, \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1strategies_1_1coupling_a1843f298d4e3fb5770085697b48ffa55}{strategies\+::coupling\+::\+Coupling\+Order}} order)
\begin{DoxyCompactList}\small\item\em Compose two inverses with the requested treatment of their cross couplings. \end{DoxyCompactList}\item
std\+::expected$<$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a12e3dd6e5e7ac18ab2dba10956af8d59}{Operator\+Handle}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_aca9dd8c44b8ce1e631a6dc45396756c4}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+schur\+\_\+operator}} (\mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a12e3dd6e5e7ac18ab2dba10956af8d59}{Operator\+Handle}} retained\+\_\+diagonal, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}} eliminated, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_two_block_couplings}{Two\+Block\+Couplings}} couplings)
\begin{DoxyCompactList}\small\item\em Form the retained Jacobian minus its response through a fixed linear eliminated inverse. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
66dcc756964d2a3f2e18e89a18c59f15

Binary file not shown.

View File

@@ -0,0 +1 @@
753f18c958b0a095e94494d2e480e173

Binary file not shown.

View File

@@ -0,0 +1,56 @@
\doxysection{src/include/serif/backend/mfem/discretization/quadrature/concepts.hpp File Reference}
\hypertarget{backend_2mfem_2discretization_2quadrature_2concepts_8hpp}{}\label{backend_2mfem_2discretization_2quadrature_2concepts_8hpp}\index{src/include/serif/backend/mfem/discretization/quadrature/concepts.hpp@{src/include/serif/backend/mfem/discretization/quadrature/concepts.hpp}}
File containing concepts for the quadrature backend module. These concepts are used to constrain template parameters in the quadrature backend module.
{\ttfamily \#include "{}mfem/fem/intrules.\+hpp"{}}\newline
Include dependency graph for concepts.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=233pt]{backend_2mfem_2discretization_2quadrature_2concepts_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]{backend_2mfem_2discretization_2quadrature_2concepts_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization}{serif\+::discretization}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature}{serif\+::discretization\+::quadrature}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature_1_1backend}{serif\+::discretization\+::quadrature\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem}{serif\+::discretization\+::quadrature\+::backend\+::mfem}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_reference_set_integration_rule}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Has\+Reference\+Set\+Integration\+Rule}}
\begin{DoxyCompactList}\small\item\em A Has\+Reference\+Set\+Integration\+Rule is an integrator that can be configured with a reference to an integration rule. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_pointer_set_integration_rule}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Has\+Pointer\+Set\+Integration\+Rule}}
\begin{DoxyCompactList}\small\item\em A Has\+Pointer\+Set\+Integration\+Rule is an integrator that can be configured with a pointer to an integration rule. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_set_int_rule}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Has\+Set\+Int\+Rule}}
\begin{DoxyCompactList}\small\item\em A Has\+Set\+Int\+Rule is an integrator that can be configured with an integration rule by value. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_configurable_integrator}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Configurable\+Integrator}}
\begin{DoxyCompactList}\small\item\em A Configurable\+Integrator is an integrator that can be configured with an integration rule in some way (either by reference, by pointer, or by value). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing concepts for the quadrature backend module. These concepts are used to constrain template parameters in the quadrature backend module.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}

View File

@@ -0,0 +1 @@
bdc19ad3d3e23b34d84a6a6f1a4d7576

View File

@@ -0,0 +1 @@
6fd984bd71e34f8dcd3fe3bc3ced4e71

View File

@@ -0,0 +1,56 @@
\doxysection{src/include/serif/backend/mfem/discretization/quadrature/order.hpp File Reference}
\hypertarget{backend_2mfem_2discretization_2quadrature_2order_8hpp}{}\label{backend_2mfem_2discretization_2quadrature_2order_8hpp}\index{src/include/serif/backend/mfem/discretization/quadrature/order.hpp@{src/include/serif/backend/mfem/discretization/quadrature/order.hpp}}
File containing the resolve\+\_\+operand\+\_\+order function and related utilities. These are used to determine the static order of an integrator for a given operand or form type.
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
{\ttfamily \#include "{}serif/discretization/functional\+\_\+space/space.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/blocks/traits.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/forms/operands.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline
Include dependency graph for order.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{backend_2mfem_2discretization_2quadrature_2order_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]{backend_2mfem_2discretization_2quadrature_2order_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization}{serif\+::discretization}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature}{serif\+::discretization\+::quadrature}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature_1_1backend}{serif\+::discretization\+::quadrature\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem}{serif\+::discretization\+::quadrature\+::backend\+::mfem}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$forms\+::\+Is\+Operand OperandT$>$ }\\consteval int \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_a57b84979ef93418360b7d207fa87858b}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::resolve\+\_\+operand\+\_\+order}} () noexcept
\begin{DoxyCompactList}\small\item\em A function to resolve the static order of an MFEM integrator for a given operand type. \end{DoxyCompactList}\item
int \mbox{\hyperlink{namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_a1612811d4942c7f57228605d59644cff}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::sum\+\_\+dynamic\+\_\+orders}} (const std\+::span$<$ const int $>$ dynamic\+\_\+orders)
\begin{DoxyCompactList}\small\item\em Sums the dynamic orders in a span of integers. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing the resolve\+\_\+operand\+\_\+order function and related utilities. These are used to determine the static order of an integrator for a given operand or form type.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}

View File

@@ -0,0 +1 @@
0bfcf55554e86280e6ae369db15db4c2

View File

@@ -0,0 +1 @@
f11e1012ee60201d56c234f843d067c4

View File

@@ -0,0 +1,43 @@
\doxysection{src/include/serif/backend/mfem/discretization/schema.hpp File Reference}
\hypertarget{backend_2mfem_2discretization_2schema_8hpp}{}\label{backend_2mfem_2discretization_2schema_8hpp}\index{src/include/serif/backend/mfem/discretization/schema.hpp@{src/include/serif/backend/mfem/discretization/schema.hpp}}
Adapt MFEM meshes to domain schema validation.
{\ttfamily \#include "{}mfem/mesh/mesh.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/discretization/topology.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/concepts.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/domain/schema/validation/all.\+hpp"{}}\newline
Include dependency graph for schema.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{backend_2mfem_2discretization_2schema_8hpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend}{serif\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem}{serif\+::backend\+::mfem}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem_1_1discretization}{serif\+::backend\+::mfem\+::discretization}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$\+::serif\+::discretization\+::domain\+::schema\+::\+Is\+Schema SchemaT$>$ }\\\mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_validation_result}{\+::serif\+::discretization\+::domain\+::schema\+::validation\+::\+Schema\+Validation\+Result}} \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem_1_1discretization_a333d1e30adb64ab890b6781fbfa02edb}{serif\+::backend\+::mfem\+::discretization\+::validate\+\_\+schema}} (const \+::mfem\+::\+Mesh \&mesh)
\begin{DoxyCompactList}\small\item\em Validate an MFEM mesh against a physical domain schema. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Adapt MFEM meshes to domain schema validation.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}

View File

@@ -0,0 +1 @@
ea928ba9cad7557248a5e529f5d3920c

View File

@@ -0,0 +1,30 @@
\doxysection{src/lib/serif/backend/mfem/discretization/topology.cpp File Reference}
\hypertarget{backend_2mfem_2discretization_2topology_8cpp}{}\label{backend_2mfem_2discretization_2topology_8cpp}\index{src/lib/serif/backend/mfem/discretization/topology.cpp@{src/lib/serif/backend/mfem/discretization/topology.cpp}}
{\ttfamily \#include "{}serif/backend/mfem/discretization/topology.\+hpp"{}}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include "{}mfem/mesh/mesh.\+hpp"{}}\newline
Include dependency graph for topology.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{backend_2mfem_2discretization_2topology_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend}{serif\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem}{serif\+::backend\+::mfem}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem_1_1discretization}{serif\+::backend\+::mfem\+::discretization}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology}{\+::serif\+::discretization\+::domain\+::mesh\+::\+Mesh\+Topology}} \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem_1_1discretization_ad41b20dccb7312d80aa8e6f5282b8d8d}{serif\+::backend\+::mfem\+::discretization\+::make\+\_\+mesh\+\_\+topology}} (const \+::mfem\+::\+Mesh \&mesh)
\begin{DoxyCompactList}\small\item\em Copy MFEM material labels and connectivity into backend-\/independent topology. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
f2ee00619ee6a919b3c9d97fc1cfe380

View File

@@ -0,0 +1,37 @@
\doxysection{src/include/serif/backend/mfem/discretization/topology.hpp File Reference}
\hypertarget{backend_2mfem_2discretization_2topology_8hpp}{}\label{backend_2mfem_2discretization_2topology_8hpp}\index{src/include/serif/backend/mfem/discretization/topology.hpp@{src/include/serif/backend/mfem/discretization/topology.hpp}}
{\ttfamily \#include "{}serif/discretization/domain/mesh/topology.\+hpp"{}}\newline
Include dependency graph for topology.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=242pt]{backend_2mfem_2discretization_2topology_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]{backend_2mfem_2discretization_2topology_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacemfem}{mfem}}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend}{serif\+::backend}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem}{serif\+::backend\+::mfem}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem_1_1discretization}{serif\+::backend\+::mfem\+::discretization}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology}{\+::serif\+::discretization\+::domain\+::mesh\+::\+Mesh\+Topology}} \mbox{\hyperlink{namespaceserif_1_1backend_1_1mfem_1_1discretization_ad41b20dccb7312d80aa8e6f5282b8d8d}{serif\+::backend\+::mfem\+::discretization\+::make\+\_\+mesh\+\_\+topology}} (const \+::mfem\+::\+Mesh \&mesh)
\begin{DoxyCompactList}\small\item\em Copy MFEM material labels and connectivity into backend-\/independent topology. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
e55dd947694b1ae72f35e31739b326d0

View File

@@ -0,0 +1 @@
b414d144172bc84dfd4cd5c9d5a44f83

View File

@@ -0,0 +1,67 @@
\doxysection{src/include/serif/backend/mfem/geometry/deformation/computations.hpp File Reference}
\hypertarget{backend_2mfem_2geometry_2deformation_2computations_8hpp}{}\label{backend_2mfem_2geometry_2deformation_2computations_8hpp}\index{src/include/serif/backend/mfem/geometry/deformation/computations.hpp@{src/include/serif/backend/mfem/geometry/deformation/computations.hpp}}
File containing the factories to make the computation graph for the mfem backend of the geometry/deformation module.
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include "{}serif/backend/mfem/geometry/deformation/constrained\+\_\+radial\+\_\+extension.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/geometry/deformation/inputs.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/geometry/deformation/radial\+\_\+interpolation.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/geometry/deformation/surface\+\_\+metric.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/geometry/deformation/surface\+\_\+embedding.\+hpp"{}}\newline
Include dependency graph for computations.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{backend_2mfem_2geometry_2deformation_2computations_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]{backend_2mfem_2geometry_2deformation_2computations_8hpp__dep__incl}
\end{center}
\end{figure}
\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$<$typename Value$>$ }\\std\+::expected$<$ std\+::shared\+\_\+ptr$<$ const Value $>$, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1detail_a05b352de13c1c09e3358f7990397f317}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::detail\+::share\+\_\+reference\+\_\+result}} (std\+::expected$<$ Value, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ result)
\begin{DoxyCompactList}\small\item\em Share a successfully compiled immutable table without copying it into each consumer. \end{DoxyCompactList}\item
std\+::expected$<$ \mbox{\hyperlink{classserif_1_1geometry_1_1deformation_1_1_radial_interpolation}{Radial\+Interpolation}}, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1detail_a6d9608b34a2b5cc2fc9290e472c5da2c}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::detail\+::compile\+\_\+radial\+\_\+reference}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization}{Reference\+Discretization}} \&input, const std\+::vector$<$ int $>$ \&selected)
\begin{DoxyCompactList}\small\item\em Compile a radial interpolation from a reference discretization and set of material attributes. \end{DoxyCompactList}\item
auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_ace5c5dfca1387670e54a585069907974}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::make\+\_\+surface\+\_\+metric\+\_\+computation}} ()
\begin{DoxyCompactList}\small\item\em Optionally supply the reference surface mass diagonal in native shape coordinates. \end{DoxyCompactList}\item
{\footnotesize template$<$typename Surface$>$ \newline
requires requires(const Surface\& model, std\+::span$<$const std\+::array$<$double, 3$>$$>$ positions) \{ \{ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_acb2008299cc4c40f49e8c9c0086e5356}{build\+\_\+surface\+\_\+embedding}}(model, positions) \} -\/$>$ std\+::same\+\_\+as$<$std\+::expected$<$\mbox{\hyperlink{classserif_1_1geometry_1_1deformation_1_1_surface_embedding}{Surface\+Embedding}}, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}}$>$$>$; \}}\\auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_ad5adf6fb962f3bd5e82121270d4f5701}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::make\+\_\+deformation\+\_\+computations}} ()
\begin{DoxyCompactList}\small\item\em Compile fixed reference factors and evaluate shape motion with one dependency engine. \end{DoxyCompactList}\item
{\footnotesize template$<$typename Surface$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_a11cb43141841879bf3dc270b02b22cb8}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::make\+\_\+deformation\+\_\+graph}} ()
\begin{DoxyCompactList}\small\item\em Provide a standalone graph while leaving the same computations available for equation composition. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing the factories to make the computation graph for the mfem backend of the geometry/deformation module.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}

View File

@@ -0,0 +1 @@
5085408bfcaa3bfab4beae8076cd6d3f

View File

@@ -0,0 +1 @@
b41917fdec71d501808a71f618da8850

View File

@@ -0,0 +1,51 @@
\doxysection{src/include/serif/backend/mfem/geometry/deformation/geometry\+\_\+step.hpp File Reference}
\hypertarget{backend_2mfem_2geometry_2deformation_2geometry__step_8hpp}{}\label{backend_2mfem_2geometry_2deformation_2geometry__step_8hpp}\index{src/include/serif/backend/mfem/geometry/deformation/geometry\_step.hpp@{src/include/serif/backend/mfem/geometry/deformation/geometry\_step.hpp}}
{\ttfamily \#include $<$expected$>$}\newline
{\ttfamily \#include $<$memory$>$}\newline
{\ttfamily \#include $<$span$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include "{}serif/geometry/deformation/failure.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/geometry/deformation/geometry\+\_\+step.\+hpp"{}}\newline
Include dependency graph for geometry\+\_\+step.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{backend_2mfem_2geometry_2deformation_2geometry__step_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]{backend_2mfem_2geometry_2deformation_2geometry__step_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_geometry_sample_rule}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::\+Geometry\+Sample\+Rule}}
\begin{DoxyCompactList}\small\item\em Borrow one sampling rule; repeat an element to retain the actual union of downstream rules. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacemfem}{mfem}}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1mapping}{serif\+::mapping}}
\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
std\+::expected$<$ \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit}{Geometry\+Step\+Limit}}, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_ac4ca6d2962b7c60c015fb04baf8cfc6a}{serif\+::geometry\+::deformation\+::backend\+::mfem\+::estimate\+\_\+geometry\+\_\+step\+\_\+limit}} (const \mbox{\hyperlink{classserif_1_1mapping_1_1_domain_mapper}{mapping\+::\+Domain\+Mapper}} \&mapper, const \+::mfem\+::\+Finite\+Element\+Space \&displacement\+\_\+space, const \+::mfem\+::\+Grid\+Function \&compactification\+\_\+coordinate, const \+::mfem\+::\+Vector \&accepted\+\_\+displacement, const \+::mfem\+::\+Vector \&displacement\+\_\+direction, std\+::span$<$ const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_geometry_sample_rule}{Geometry\+Sample\+Rule}} $>$ sample\+\_\+rules, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_geometry_step_options}{Geometry\+Step\+Options}} options=\{\})
\begin{DoxyCompactList}\small\item\em Find the first sampled mapping boundary along accepted + step direction. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
1b177ad42c49e0ea8b262a6e77554e77

Some files were not shown because too many files have changed in this diff Show More