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)
50 lines
6.3 KiB
TeX
50 lines
6.3 KiB
TeX
\doxysection{src/include/serif/solver/preconditioner/computations/surface.hpp File Reference}
|
|
\hypertarget{solver_2preconditioner_2computations_2surface_8hpp}{}\label{solver_2preconditioner_2computations_2surface_8hpp}\index{src/include/serif/solver/preconditioner/computations/surface.hpp@{src/include/serif/solver/preconditioner/computations/surface.hpp}}
|
|
{\ttfamily \#include "{}serif/solver/preconditioner/recipes/surface.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/solver/preconditioner/computations/inverse.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/solver/preconditioner/backend/mfem/coupling.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/solver/preconditioner/backend/mfem/surface/fitted\+\_\+h1.\+hpp"{}}\newline
|
|
Include dependency graph for surface.\+hpp\+:\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{solver_2preconditioner_2computations_2surface_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=242pt]{solver_2preconditioner_2computations_2surface_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_1computations}{serif\+::solver\+::preconditioner\+::computations}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
{\footnotesize template$<$typename Field, typename Row, typename Strategy, typename Backend$>$ \newline
|
|
requires (!std\+::same\+\_\+as$<$Strategy, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1surface_1_1_reference_surface_mass}{strategies\+::surface\+::\+Reference\+Surface\+Mass}}$>$)}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_af5837f2df32c9da7e32dbd723ac67fdd}{serif\+::solver\+::preconditioner\+::computations\+::surface\+\_\+target}} (const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_surface_preconditioner}{Surface\+Preconditioner}}$<$ Field, Row, Strategy, Backend $>$ \&choice)
|
|
\begin{DoxyCompactList}\small\item\em A standalone surface fit can use its accepted shape Jacobian; material relaxation needs an enclosing material recipe. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Field, typename Row, typename Strategy, typename Backend, typename Material$>$ \newline
|
|
requires (!std\+::same\+\_\+as$<$Strategy, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1surface_1_1_reference_surface_mass}{strategies\+::surface\+::\+Reference\+Surface\+Mass}}$>$)}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_a5f7b17fce2f87cdccfecba84d495d504}{serif\+::solver\+::preconditioner\+::computations\+::surface\+\_\+target}} (const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_surface_preconditioner}{Surface\+Preconditioner}}$<$ Field, Row, Strategy, Backend $>$ \&choice, const Material \&)
|
|
\begin{DoxyCompactList}\small\item\em Reuse the accepted material inverse in the effective surface Schur action, without copying its two-\/block algebra. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Field, typename Row, typename Strategy, typename Backend$>$ \newline
|
|
requires (!std\+::same\+\_\+as$<$Strategy, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1surface_1_1_fitted_surface_h1}{strategies\+::surface\+::\+Fitted\+Surface\+H1}}$>$)}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_ade29a61f0c6247215ffa202cdcc4c9ef}{serif\+::solver\+::preconditioner\+::computations\+::surface\+\_\+mass}} (const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_surface_preconditioner}{Surface\+Preconditioner}}$<$ Field, Row, Strategy, Backend $>$ \&choice)
|
|
\begin{DoxyCompactList}\small\item\em Reference mass depends only on reference geometry; calibrated mass also depends on the selected accepted physical target. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Field, typename Row, typename Backend$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_aaf0cc71ae874668137fc13bf2e6f7e19}{serif\+::solver\+::preconditioner\+::computations\+::surface\+\_\+h1\+\_\+fit}} (const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_surface_preconditioner}{Surface\+Preconditioner}}$<$ Field, Row, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1surface_1_1_fitted_surface_h1}{strategies\+::surface\+::\+Fitted\+Surface\+H1}}, Backend $>$ \&choice)
|
|
\begin{DoxyCompactList}\small\item\em Keep reference surface matrices reusable while accepted physical changes refresh the H1 fit. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Field, typename Row, typename Backend$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_a741c28bbcec7759321ad15c491f2a64e}{serif\+::solver\+::preconditioner\+::computations\+::surface\+\_\+positive\+\_\+inverse}} (const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_surface_preconditioner}{Surface\+Preconditioner}}$<$ Field, Row, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1surface_1_1_fitted_surface_h1}{strategies\+::surface\+::\+Fitted\+Surface\+H1}}, Backend $>$ \&choice)
|
|
\begin{DoxyCompactList}\small\item\em Apply the ordinary inverse backend to the fitted positive operator before restoring its physical sign. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Field, typename Row, typename Strategy, typename Backend$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_aae886e45909ce30697ff4fbd9a51d032}{serif\+::solver\+::preconditioner\+::computations\+::surface\+\_\+inverse}} (const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_surface_preconditioner}{Surface\+Preconditioner}}$<$ Field, Row, Strategy, Backend $>$ \&)
|
|
\begin{DoxyCompactList}\small\item\em Publish the uniform inverse result while retaining fit diagnostics as independently inspectable graph results. \end{DoxyCompactList}\end{DoxyCompactItemize}
|