P0gElement

Forward declaration of global P0 finite elements.

template <
  class Scalar>
class P0gElement;
SpecializationDescription
Math::SpatialMatrix<Scalar>
Full specialization
template <
  class Scalar>
class P0gElement<
  Math::SpatialMatrix< Scalar >> final;
Matrix-valued reference element built from scalar nodal functionals.
Math::SpatialVector<Scalar>
Full specialization
template <
  class Scalar>
class P0gElement<
  Math::SpatialVector< Scalar >> final;
Vector-valued cellwise-constant finite element.
Direct inheritance by class family
↓
P0gElement

Inherits from

Base classResponsibility
FiniteElementBase<P0gElement<Scalar>>public
Full type
FiniteElementBase< P0gElement< Scalar > >
Base class for finite elements.

Inherited interface

Declared inMembers
FiniteElementBase
5 members

Public types

class LinearForm
Degree-of-freedom functional of the P0g element.
class BasisFunction
Basis function of the P0g element.
using Parent = FiniteElementBase<P0gElement<Scalar>>
Parent class type.
using ScalarType = Scalar
Scalar value type.
using RangeType = Scalar
Range (evaluation value) type.

Constructors, destructors, conversion operators

P0gElement(G geometry) explicit constexpr
Constructs the P0gElement from the given arguments.
P0gElement(const P0gElement& other) defaulted constexpr
Copy constructor.
P0gElement(P0gElement&& other) constexpr
Move constructor.

Public functions

auto operator=(const P0gElement& other) -> P0gElement& constexpr
Copy assignment.
auto getCount() const -> size_t constexpr
Gets the number of degrees of freedom of the element.
auto getNode(size_t i) const -> const Math::SpatialVector<Real>&
Gets the node of a local degree of freedom.
auto getLinearForm(size_t local) const -> LinearForm constexpr
Gets the degree-of-freedom functional of a local degree of freedom.
auto getBasis(size_t local) const -> BasisFunction constexpr
Gets the basis function of a local degree of freedom.
auto getOrder() const -> size_t constexpr
Returns a total polynomial degree bound for the reference basis.
auto getDegree() const -> Optional<size_t> constexpr
Returns the total polynomial degree of the reference basis.
auto getDegree(std::initializer_list<size_t> directions) const -> Optional<size_t>
Returns a degree bound in selected reference coordinates.

Function documentation

P0gElement(G geometry) explicit constexpr

Constructs the P0gElement from the given arguments.

Parameters
geometry Reference geometry.

P0gElement(const P0gElement& other) defaulted constexpr

Copy constructor.

Parameters
other Object to copy from.

P0gElement(P0gElement&& other) constexpr

Move constructor.

Parameters
other Object to move from.

P0gElement& operator=(const P0gElement& other) constexpr

Copy assignment.

Parameters
other Object to copy from.
Returns Reference to this object after the operation.

size_t getCount() const constexpr

Gets the number of degrees of freedom of the element.

Returns The number of degrees of freedom of the element.

const Math::SpatialVector<Real>& getNode(size_t i) const

Gets the node of a local degree of freedom.

Parameters
i Index of the requested entry.
Returns The node of a local degree of freedom.

LinearForm getLinearForm(size_t local) const constexpr

Gets the degree-of-freedom functional of a local degree of freedom.

Parameters
local Local degree-of-freedom index; unused by this constant element.
Returns The degree-of-freedom functional of a local degree of freedom.

BasisFunction getBasis(size_t local) const constexpr

Gets the basis function of a local degree of freedom.

Parameters
local Local degree-of-freedom index; unused by this constant element.
Returns Value of the selected local basis function at the evaluation point.

size_t getOrder() const constexpr

Returns a total polynomial degree bound for the reference basis.

Returns Polynomial order of the finite element.

Optional<size_t> getDegree() const constexpr

Returns the total polynomial degree of the reference basis.

Returns Zero for the constant reference basis.

Optional<size_t> getDegree(std::initializer_list<size_t> directions) const

Returns a degree bound in selected reference coordinates.

Parameters
directions Reference-coordinate indices; duplicates are ignored.
Returns The bound, or no value for invalid or unsupported selections.