\doxysection{src/include/serif/solver/preconditioner/default\+\_\+preconditioners.hpp File Reference} \hypertarget{default__preconditioners_8hpp}{}\label{default__preconditioners_8hpp}\index{src/include/serif/solver/preconditioner/default\_preconditioners.hpp@{src/include/serif/solver/preconditioner/default\_preconditioners.hpp}} {\ttfamily \#include $<$concepts$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include "{}serif/discretization/blocks/concepts.\+hpp"{}}\newline {\ttfamily \#include "{}serif/discretization/blocks/fields.\+hpp"{}}\newline {\ttfamily \#include "{}serif/discretization/blocks/system\+\_\+layout.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/recipes/bordered.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/recipes/block.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/strategies/inverse/diagonal.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/strategies/inverse/fixed\+\_\+amg.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/strategies/inverse/sparse\+\_\+direct.\+hpp"{}}\newline Include dependency graph for default\+\_\+preconditioners.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{default__preconditioners_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]{default__preconditioners_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1detail_1_1_primal_coordinates_3_01utils_1_1dependenci9c1a1e8fdf83b9b8be00227afc822182}{serif\+::solver\+::preconditioner\+::detail\+::\+Primal\+Coordinates$<$ utils\+::dependencies\+::\+Key\+List$<$ Coordinates... $>$, Shape $>$}} \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_1detail}{serif\+::solver\+::preconditioner\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1_primal_preconditioner_layout}{serif\+::solver\+::preconditioner\+::\+Primal\+Preconditioner\+Layout}} \begin{DoxyCompactList}\small\item\em Require density and potential fields with paired optional shape and scalar constraints. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Typedefs} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1detail_a91b5372413e716ea27ea089127a5ba16}{serif\+::solver\+::preconditioner\+::detail\+::\+Primal\+Fields}} = \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1density_1_1mass}{discretization\+::blocks\+::density\+::mass}}, \mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential}{discretization\+::blocks\+::gravity\+::potential}}$>$ \item {\footnotesize template$<$typename Layout$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1detail_af55ae55823a1cac141347ae27f81f767}{serif\+::solver\+::preconditioner\+::detail\+::\+Primal\+Values}} = \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1detail_1_1_primal_coordinates}{Primal\+Coordinates}}$<$typename std\+::remove\+\_\+cvref\+\_\+t$<$Layout$>$\+::\+Values, \mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}$>$ \item {\footnotesize template$<$typename Layout$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1detail_ae0ad56f98cf03a19df86b6a72763a847}{serif\+::solver\+::preconditioner\+::detail\+::\+Primal\+Rows}} = \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1detail_1_1_primal_coordinates}{Primal\+Coordinates}}$<$typename std\+::remove\+\_\+cvref\+\_\+t$<$Layout$>$\+::\+Residuals, \mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium}{discretization\+::blocks\+::surface\+\_\+deformation\+::shape\+\_\+equilibrium}}$>$ \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$Primal\+Preconditioner\+Layout Layout, typename Potential\+Inverse = strategies\+::inverse\+::\+Fixed\+AMG$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_aa5c6d8ad540ecaca25de3555918566f3}{serif\+::solver\+::preconditioner\+::make\+\_\+primal\+\_\+preconditioner}} (const Layout \&, Potential\+Inverse potential\+\_\+inverse=\mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse_1_1_fixed_a_m_g}{strategies\+::inverse\+::\+Fixed\+AMG}}\{.cycles=3\}) \begin{DoxyCompactList}\small\item\em Couple scalar density and potential responses, then correct every shape and global constraint together. \end{DoxyCompactList}\end{DoxyCompactItemize}