Rodin/Variational/P0g/P0gElement.h file

P0g (global constant) finite element implementation.

IMPORTANT:

  • P0g is a space with 1 global DOF (scalar) or vdim global DOFs (vector), but its element is still the constant basis function on each cell.

This element is therefore essentially identical to P0Element:

  • Scalar basis: phi(x) = 1
  • Vector basis: phi_i(x) = e_i (constant unit vectors)
  • All derivatives are zero.

Having a dedicated P0gElement is mostly for naming/clarity and to decouple P0g from P0Element headers if you prefer.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Namespace Rodin::FormLanguage.
namespace Rodin::Variational
Namespace Rodin::Variational.

Classes

template<class Range>
struct Rodin::FormLanguage::Traits<Variational::P0gElement<Range>>
Type traits for P0gElement: exposes the scalar type and the range type.
template<class Scalar>
class Rodin::Variational::P0gElement
Forward declaration of global P0 finite elements.
class Rodin::Variational::P0gElement::LinearForm
Degree-of-freedom functional of the P0g element.
class Rodin::Variational::P0gElement::BasisFunction
Basis function of the P0g element.
template<size_t Order>
class Rodin::Variational::P0gElement::BasisFunction::DerivativeFunction
Derivative of a P0g basis function, identically zero.
template<class Scalar>
class Rodin::Variational::P0gElement<Math::SpatialVector<Scalar>>
Vector-valued cellwise-constant finite element.
class Rodin::Variational::P0gElement<Math::SpatialVector<Scalar>>::LinearForm
Degree-of-freedom functional of the vector-valued P0g element.
class Rodin::Variational::P0gElement<Math::SpatialVector<Scalar>>::BasisFunction
Basis function of the vector-valued P0g element.
template<size_t Order>
class Rodin::Variational::P0gElement<Math::SpatialVector<Scalar>>::BasisFunction::DerivativeFunction
Derivative of a vector-valued P0g basis function, identically zero.