SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
boundary_trace.hpp File Reference

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. More...

#include <memory>
#include <utility>
#include "mfem/linalg/sparsemat.hpp"
#include "serif/backend/mfem/discretization/dof_selection.hpp"
Include dependency graph for boundary_trace.hpp:
This graph shows which files directly or indirectly include this file:

Classes

class  serif::discretization::backend::mfem::ScalarBoundaryTrace
 An immutable scalar interpolation operator from supported coefficients to selected residual nodes. More...
 

Namespaces

namespace  serif
 
namespace  serif::discretization
 
namespace  serif::discretization::backend
 
namespace  serif::discretization::backend::mfem
 
namespace  serif::discretization::backend::mfem::detail
 

Concepts

concept  serif::discretization::backend::mfem::BoundaryTraceTerm
 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.
 

Functions

ScalarBoundaryTrace serif::discretization::backend::mfem::detail::build_boundary_trace (std::shared_ptr< const DofSelection > rows, const DofMap &input, const ::mfem::FiniteElementSpace *input_space)
 Construct one interpolation operator in the selected residual-node ordering.
 
template<BoundaryTraceTerm TermT, domain::schema::IsSchema SchemaT>
ScalarBoundaryTrace serif::discretization::backend::mfem::make_boundary_trace (std::shared_ptr< const DofSelection > rows, const TermBinding< TermT, SchemaT > &input)
 Sample a continuous scalar field at the selected nodal H1 residual points.
 
template<BoundaryTraceTerm TermT, domain::schema::IsSchema SchemaT>
ScalarBoundaryTrace serif::discretization::backend::mfem::make_boundary_trace (std::shared_ptr< const DofSelection >, TermBinding< TermT, SchemaT > &&)=delete
 A trace borrows its input binding, so temporaries cannot supply its coefficient ordering.
 
template<BoundaryTraceTerm TermT, domain::schema::IsSchema SchemaT>
ScalarBoundaryTrace serif::discretization::backend::mfem::make_boundary_trace (std::shared_ptr< const DofSelection >, const TermBinding< TermT, SchemaT > &&)=delete
 Const temporary bindings have the same lifetime restriction.
 

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.

Author
Emily M. Boudreaux