\doxysection{src/include/serif/backend/mfem/geometry/surface/boundary\+\_\+rows.hpp File Reference} \hypertarget{boundary__rows_8hpp}{}\label{boundary__rows_8hpp}\index{src/include/serif/backend/mfem/geometry/surface/boundary\_rows.hpp@{src/include/serif/backend/mfem/geometry/surface/boundary\_rows.hpp}} {\ttfamily \#include "{}serif/utils/error/nonfinite.\+hpp"{}}\newline {\ttfamily \#include $<$cmath$>$}\newline {\ttfamily \#include $<$vector$>$}\newline {\ttfamily \#include "{}serif/backend/mfem/geometry/surface/boundary\+\_\+data.\+hpp"{}}\newline {\ttfamily \#include "{}serif/geometry/surface/linearization.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/shared/finite.\+hpp"{}}\newline Include dependency graph for boundary\+\_\+rows.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{boundary__rows_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]{boundary__rows_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_1backend}{serif\+::geometry\+::surface\+::backend}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem}{serif\+::geometry\+::surface\+::backend\+::mfem}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1detail}{serif\+::geometry\+::surface\+::backend\+::mfem\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Boundary$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1detail_a27fe66a18a71f6fd61205eef47868c39}{serif\+::geometry\+::surface\+::backend\+::mfem\+::detail\+::validate\+\_\+boundary\+\_\+output}} (const Boundary \&boundary, const \+::mfem\+::\+Vector \&result) \begin{DoxyCompactList}\small\item\em Check that an action uses the current discretization and the complete residual space. \end{DoxyCompactList}\item {\footnotesize template$<$typename Boundary, typename Linearizations$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1detail_a08671da2b86c96429ce9e40228d0ce76}{serif\+::geometry\+::surface\+::backend\+::mfem\+::detail\+::validate\+\_\+boundary\+\_\+samples}} (const Boundary \&boundary, const Linearizations \&linearizations) \begin{DoxyCompactList}\small\item\em The accepted graph result contains one local equation for each ordered boundary node. \end{DoxyCompactList}\item {\footnotesize template$<$typename Boundary$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1detail_a5c68a968577da3435fc0eaa61548b280}{serif\+::geometry\+::surface\+::backend\+::mfem\+::detail\+::replace\+\_\+boundary\+\_\+rows}} (const Boundary \&boundary, const \+::mfem\+::\+Vector \&values, \+::mfem\+::\+Vector \&result) \begin{DoxyCompactList}\small\item\em Publish a complete finite action only after all input directions have been read. \end{DoxyCompactList}\item {\footnotesize template$<$typename Boundary, typename Linearizations, typename Directions, typename... Terms$>$ }\\\+::mfem\+::\+Vector \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1detail_a3aef217c72feba3437a305bad99dcade}{serif\+::geometry\+::surface\+::backend\+::mfem\+::detail\+::boundary\+\_\+jacobian\+\_\+action}} (const Boundary \&boundary, const Linearizations \&linearizations, const Directions \&directions, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Terms... $>$) \begin{DoxyCompactList}\small\item\em Accumulate all physical couplings using the same traces that supplied the EOS state. \end{DoxyCompactList}\item {\footnotesize template$<$Pressure\+Boundary\+Formulation Formulation, typename Traces$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_a0d791b98d3917126ed88a4278890d84d}{serif\+::geometry\+::surface\+::backend\+::mfem\+::apply\+\_\+residual\+\_\+rows}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1_pressure_boundary}{Pressure\+Boundary}}$<$ Formulation, Traces $>$ \&boundary, const std\+::vector$<$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_a38dcffacd50298452984a55e3c69b83a}{Surface\+Linearization}}$<$ Formulation $>$ $>$ \&linearizations, \+::mfem\+::\+Vector \&result) \begin{DoxyCompactList}\small\item\em Replace selected residual rows with a prepared isobaric equation, preserving all interior rows. \end{DoxyCompactList}\item {\footnotesize template$<$Pressure\+Boundary\+Formulation Formulation, typename Traces, utils\+::dependencies\+::\+Is\+Dependency\+Context Directions$>$ \newline requires utils\+::dependencies\+::\+Satisfies\+Key\+List$<$typename Directions\+::\+Bindings, typename Formulation\+::\+State\+Terms$>$}\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_ae18d2bb830863ac7dc30b6ccb142d241}{serif\+::geometry\+::surface\+::backend\+::mfem\+::apply\+\_\+jacobian\+\_\+rows}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1_pressure_boundary}{Pressure\+Boundary}}$<$ Formulation, Traces $>$ \&boundary, const std\+::vector$<$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_a38dcffacd50298452984a55e3c69b83a}{Surface\+Linearization}}$<$ Formulation $>$ $>$ \&linearizations, const Directions \&directions, \+::mfem\+::\+Vector \&result) \begin{DoxyCompactList}\small\item\em Replace full Jacobian rows, including every EOS input; directions may alias the output. \end{DoxyCompactList}\item {\footnotesize template$<$Pressure\+Boundary\+Formulation Formulation, typename Traces$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_a9c9b62453a97aab2c9620c449338f8c3}{serif\+::geometry\+::surface\+::backend\+::mfem\+::mask\+\_\+residual\+\_\+dual}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1_pressure_boundary}{Pressure\+Boundary}}$<$ Formulation, Traces $>$ \&boundary, const \+::mfem\+::\+Vector \&dual, \+::mfem\+::\+Vector \&volume\+\_\+dual) \begin{DoxyCompactList}\small\item\em Remove the replaced rows before applying the volume Jacobian transpose. \end{DoxyCompactList}\item {\footnotesize template$<$typename Term, Pressure\+Boundary\+Formulation Formulation, typename Traces$>$ \newline requires utils\+::dependencies\+::\+Bindings\+With\+Binding$<$typename Traces\+::\+Bindings, Term$>$}\\void \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_a4de12dc375935718082ad3f1746ccdd5}{serif\+::geometry\+::surface\+::backend\+::mfem\+::add\+\_\+jacobian\+\_\+transpose\+\_\+rows}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1_pressure_boundary}{Pressure\+Boundary}}$<$ Formulation, Traces $>$ \&boundary, const std\+::vector$<$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_a38dcffacd50298452984a55e3c69b83a}{Surface\+Linearization}}$<$ Formulation $>$ $>$ \&linearizations, const \+::mfem\+::\+Vector \&dual, \+::mfem\+::\+Vector \&result) \begin{DoxyCompactList}\small\item\em Add one physical term\textquotesingle{}s constrained-\/row transpose to its existing volume contribution. \end{DoxyCompactList}\end{DoxyCompactItemize}