SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::backend::mfem::ScalarBoundaryTrace Class Referencefinal

An immutable scalar interpolation operator from supported coefficients to selected residual nodes. More...

#include <boundary_trace.hpp>

Collaboration diagram for serif::discretization::backend::mfem::ScalarBoundaryTrace:
[legend]

Public Member Functions

const DofMap & binding () const noexcept
 Return the borrowed input coefficient binding.
 
const DofSelection & rows () const noexcept
 Return the owned selection defining the interpolation row ordering.
 
const ::mfem::SparseMatrix & interpolation () const
 Return the interpolation matrix after checking its borrowed discretization.
 
void validate () const
 Reject stale mesh topology, finite-element bindings, or domain and boundary labels.
 

Private Member Functions

 ScalarBoundaryTrace (std::shared_ptr< const DofSelection > rows, const DofMap &input, std::shared_ptr< const ::mfem::SparseMatrix > interpolation)
 Publish the completed matrix together with the bindings defining its coordinates.
 

Private Attributes

std::shared_ptr< const DofSelection > m_rows
 
const DofMap & m_binding
 
std::shared_ptr< const ::mfem::SparseMatrix > m_interpolation
 

Friends

ScalarBoundaryTrace detail::build_boundary_trace (std::shared_ptr< const DofSelection >, const DofMap &, const ::mfem::FiniteElementSpace *)
 

Detailed Description

An immutable scalar interpolation operator from supported coefficients to selected residual nodes.

Note
Both term bindings must outlive the trace. The sparse matrix and selection are shared immutable data; the same matrix supplies the forward evaluation and its exact coordinate transpose without quadrature weights.

Constructor & Destructor Documentation

◆ ScalarBoundaryTrace()

serif::discretization::backend::mfem::ScalarBoundaryTrace::ScalarBoundaryTrace ( std::shared_ptr< const DofSelection > rows,
const DofMap & input,
std::shared_ptr< const ::mfem::SparseMatrix > interpolation )
private

Publish the completed matrix together with the bindings defining its coordinates.

Member Function Documentation

◆ binding()

const DofMap & serif::discretization::backend::mfem::ScalarBoundaryTrace::binding ( ) const
nodiscardnoexcept

Return the borrowed input coefficient binding.

◆ interpolation()

const::mfem::SparseMatrix & serif::discretization::backend::mfem::ScalarBoundaryTrace::interpolation ( ) const
nodiscard

Return the interpolation matrix after checking its borrowed discretization.

◆ rows()

const DofSelection & serif::discretization::backend::mfem::ScalarBoundaryTrace::rows ( ) const
nodiscardnoexcept

Return the owned selection defining the interpolation row ordering.

◆ validate()

void serif::discretization::backend::mfem::ScalarBoundaryTrace::validate ( ) const

Reject stale mesh topology, finite-element bindings, or domain and boundary labels.

Friends And Related Symbol Documentation

◆ detail::build_boundary_trace

ScalarBoundaryTrace detail::build_boundary_trace ( std::shared_ptr< const DofSelection > ,
const DofMap & ,
const ::mfem::FiniteElementSpace *  )
friend

Member Data Documentation

◆ m_binding

const DofMap& serif::discretization::backend::mfem::ScalarBoundaryTrace::m_binding
private

◆ m_interpolation

std::shared_ptr<const ::mfem::SparseMatrix> serif::discretization::backend::mfem::ScalarBoundaryTrace::m_interpolation
private

◆ m_rows

std::shared_ptr<const DofSelection> serif::discretization::backend::mfem::ScalarBoundaryTrace::m_rows
private

The documentation for this class was generated from the following files: