Rodin/Variational/TraceOperator.h file

Function trace operator for boundary restriction.

This file defines the TraceOperator class, which computes the trace (boundary restriction) of functions to specified mesh boundaries. This is different from the matrix trace in Trace.h - this operator restricts function domains.

Mathematical Foundation

For a function $ u : \Omega \to \mathbb{R} $ and boundary $ \Gamma \subset \partial\Omega $ , the trace operator computes:

\[ \gamma_\Gamma(u) = u|_\Gamma \]

which is the restriction of $ u $ to the boundary $ \Gamma $ .

Trace Theorem

For $ u \in H^1(\Omega) $ , the trace $ u|_{\partial\Omega} $ is well-defined and belongs to $ H^{1/2}(\partial\Omega) $ .

Applications

  • Boundary condition evaluation
  • Surface integrals
  • Coupling interface conditions
  • Weak boundary term evaluation

Usage Example

// Evaluate function on specific boundary
auto u_boundary = TraceOperator(u, boundary_attr);

// Use in boundary integral
auto bc = BoundaryIntegral(u_boundary, v).on(boundary_attr);

Namespaces

namespace Rodin
The Rodin library for Shape and Topology Optimization.
namespace Rodin::Variational
Module which provides the necessary tools for constructing variational problems.

Classes

template<>
class Rodin::Variational::TraceOperator<FunctionBase>
Trace (boundary restriction) operator for functions.