\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}