\doxysection{src/include/serif/backend/mfem/discretization/boundary\+\_\+trace.hpp File Reference} \hypertarget{boundary__trace_8hpp}{}\label{boundary__trace_8hpp}\index{src/include/serif/backend/mfem/discretization/boundary\_trace.hpp@{src/include/serif/backend/mfem/discretization/boundary\_trace.hpp}} File containing the definition of the restricted dof space for a scalar boundary trace. Note in FEM a trace is a restriction on a function to the boundary of a domain. Therefore, This file contains the definitions for getting the DOFs at the boundary of a scalar field. {\ttfamily \#include $<$memory$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}mfem/linalg/sparsemat.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/discretization/dof\+\_\+selection.\+hpp"{}}\newline Include dependency graph for boundary\+\_\+trace.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{boundary__trace_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[height=550pt]{boundary__trace_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_scalar_boundary_trace}{serif\+::discretization\+::backend\+::mfem\+::\+Scalar\+Boundary\+Trace}} \begin{DoxyCompactList}\small\item\em An immutable scalar interpolation operator from supported coefficients to selected residual nodes. \end{DoxyCompactList}\end{DoxyCompactItemize} \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_1backend}{serif\+::discretization\+::backend}} \item namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1backend_1_1mfem}{serif\+::discretization\+::backend\+::mfem}} \item namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1backend_1_1mfem_1_1detail}{serif\+::discretization\+::backend\+::mfem\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1backend_1_1mfem_1_1_boundary_trace_term}{serif\+::discretization\+::backend\+::mfem\+::\+Boundary\+Trace\+Term}} \begin{DoxyCompactList}\small\item\em Concept Limiting the input term to either a global scalar term or a spatial term of rank 0 in the H1 family. Outside of H1, the trace is a vector (e.\+g. the normal trace for a H(div) field or the tangential trace for a H(curl) field). Further, for higher rank H1 fields the trace is a tensor. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_scalar_boundary_trace}{Scalar\+Boundary\+Trace}} \mbox{\hyperlink{namespaceserif_1_1discretization_1_1backend_1_1mfem_1_1detail_ac0719d69343bbf19f9c3d6273c69736f}{serif\+::discretization\+::backend\+::mfem\+::detail\+::build\+\_\+boundary\+\_\+trace}} (std\+::shared\+\_\+ptr$<$ const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_selection}{Dof\+Selection}} $>$ rows, const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_map}{Dof\+Map}} \&input, const \+::mfem\+::\+Finite\+Element\+Space \texorpdfstring{$\ast$}{*}input\+\_\+space) \begin{DoxyCompactList}\small\item\em Construct one interpolation operator in the selected residual-\/node ordering. \end{DoxyCompactList}\item {\footnotesize template$<$Boundary\+Trace\+Term TermT, domain\+::schema\+::\+Is\+Schema SchemaT$>$ }\\\mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_scalar_boundary_trace}{Scalar\+Boundary\+Trace}} \mbox{\hyperlink{namespaceserif_1_1discretization_1_1backend_1_1mfem_aaf9041e682100fb2b68269bc58564a77}{serif\+::discretization\+::backend\+::mfem\+::make\+\_\+boundary\+\_\+trace}} (std\+::shared\+\_\+ptr$<$ const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_selection}{Dof\+Selection}} $>$ rows, const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_term_binding}{Term\+Binding}}$<$ TermT, SchemaT $>$ \&input) \begin{DoxyCompactList}\small\item\em Sample a continuous scalar field at the selected nodal H1 residual points. \end{DoxyCompactList}\item {\footnotesize template$<$Boundary\+Trace\+Term TermT, domain\+::schema\+::\+Is\+Schema SchemaT$>$ }\\\mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_scalar_boundary_trace}{Scalar\+Boundary\+Trace}} \mbox{\hyperlink{namespaceserif_1_1discretization_1_1backend_1_1mfem_ab4a98b89b1efb0ebdeb6d1fc2beda6ae}{serif\+::discretization\+::backend\+::mfem\+::make\+\_\+boundary\+\_\+trace}} (std\+::shared\+\_\+ptr$<$ const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_selection}{Dof\+Selection}} $>$, \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_term_binding}{Term\+Binding}}$<$ TermT, SchemaT $>$ \&\&)=delete \begin{DoxyCompactList}\small\item\em A trace borrows its input binding, so temporaries cannot supply its coefficient ordering. \end{DoxyCompactList}\item {\footnotesize template$<$Boundary\+Trace\+Term TermT, domain\+::schema\+::\+Is\+Schema SchemaT$>$ }\\\mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_scalar_boundary_trace}{Scalar\+Boundary\+Trace}} \mbox{\hyperlink{namespaceserif_1_1discretization_1_1backend_1_1mfem_a01137a1155cba1fb16ed3478b63f133e}{serif\+::discretization\+::backend\+::mfem\+::make\+\_\+boundary\+\_\+trace}} (std\+::shared\+\_\+ptr$<$ const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_selection}{Dof\+Selection}} $>$, const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_term_binding}{Term\+Binding}}$<$ TermT, SchemaT $>$ \&\&)=delete \begin{DoxyCompactList}\small\item\em Const temporary bindings have the same lifetime restriction. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} File containing the definition of the restricted dof space for a scalar boundary trace. Note in FEM a trace is a restriction on a function to the boundary of a domain. Therefore, This file contains the definitions for getting the DOFs at the boundary of a scalar field. \begin{DoxyAuthor}{Author} Emily M. Boudreaux \end{DoxyAuthor}