P0

Degree 0 Lagrange finite element space.

template <
  class Range,
  class Mesh>
class P0;
Template parameters
Range Range value type

Represents the finite element space composed of discontinuous, piecewise constant functions:

\[ \mathbb{P}_0 (\mathcal{T}_h)^d = \{ v : \mathcal{T}_h \rightarrow \mathbb{R}^d : v|_{\tau} \in \mathbb{P}_0(\tau), \ \tau \in \mathcal{T}_h \} \ , \]

for a given vector dimension $ d \in \mathbb{N} $ .

SpecializationDescription
Math::SpatialMatrix<Scalar>, Geometry::Mesh<Context::Local>
Full specialization
template <
  class Scalar>
class P0<
  Math::SpatialMatrix< Scalar >,
  Geometry::Mesh< Context::Local >> final;
Matrix-valued finite element space with component-wise scalar basis replication.
Math::SpatialMatrix<Scalar>, Geometry::Mesh<Context::MPI>
Full specialization
template <
  class Scalar>
class P0<
  Math::SpatialMatrix< Scalar >,
  Geometry::Mesh< Context::MPI >> final;
Matrix-range finite element or expression specialization.
Math::SpatialVector<Scalar>, Geometry::Mesh<Context::Local>
Full specialization
template <
  class Scalar>
requires (std::is_same_v<Scalar, Real> || std::is_same_v<Scalar, Complex>)
class P0<
  Math::SpatialVector< Scalar >,
  Geometry::Mesh< Context::Local >> final;
Cellwise constant vector space with independent component DOFs.
Range, Geometry::Mesh<Context::MPI>
Full specialization
template <
  class Range>
class P0<
  Range,
  Geometry::Mesh< Context::MPI >>;
Distributed P0 finite element space for MPI meshes.
Scalar, Geometry::Mesh<Context::Local>
Full specialization
template <
  class Scalar>
requires (std::is_same_v<Scalar, Real> || std::is_same_v<Scalar, Complex>)
class P0<
  Scalar,
  Geometry::Mesh< Context::Local >> final;
Scalar-valued piecewise constant (P0) Lagrange finite element space.