FaceIntegral.h file
Face integral classes for discontinuous Galerkin methods.
This file defines the FaceIntegral classes which represent integrals over mesh faces (element interfaces) in discontinuous Galerkin (DG) formulations. Face integrals are crucial for coupling elements in DG methods where solutions are discontinuous across element boundaries.
Mathematical Foundation
Face integrals compute:
where is the set of all mesh faces (both interior and boundary faces).
Discontinuous Galerkin Context
In DG methods, face integrals handle:
- Numerical fluxes: Coupling between elements
- Jump terms:
- Average terms:
- Penalty terms: Interior penalty for stability
Usage Example
// Interior penalty DG method auto penalty = FaceIntegral(Jump(u), Jump(v)); auto consistency = FaceIntegral(Average(Grad(u)), Jump(v)); auto symmetry = FaceIntegral(Jump(u), Average(Grad(v)));
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 LHSDerived, class TrialFES, class RHSDerived, class TestFES>class Rodin::Variational::FaceIntegral<Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>>
- Integration of the dot product of a trial and test operators.
-
template<class NestedDerived, class FES>class Rodin::Variational::FaceIntegral<ShapeFunctionBase<NestedDerived, FES, TestSpace>>
- Integration of a test operator.