template<class Scalar>
Rodin::Variational::P0gElement class

Forward declaration of global P0 finite elements.

SpecializationDescription
P0gElement<Scalar>Scalar global constant element with one basis function $1$ .
P0gElement<Math::SpatialVector<Scalar>>Vector-valued global constant element with one constant basis vector per component.

Base classes

template<class Derived>
class FiniteElementBase<P0gElement<Scalar>>
Base class for finite elements.

Public types

class BasisFunction
Basis function of the P0g element.
class LinearForm
Degree-of-freedom functional 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 the polynomial order.

Function documentation

template<class Scalar>
Rodin::Variational::P0gElement<Scalar>::P0gElement(G geometry) explicit constexpr

Constructs the P0gElement from the given arguments.

Parameters
geometry Reference geometry.

template<class Scalar>
Rodin::Variational::P0gElement<Scalar>::P0gElement(const P0gElement& other) defaulted constexpr

Copy constructor.

Parameters
other Object to copy from.

template<class Scalar>
Rodin::Variational::P0gElement<Scalar>::P0gElement(P0gElement&& other) constexpr

Move constructor.

Parameters
other Object to move from.

template<class Scalar>
P0gElement& Rodin::Variational::P0gElement<Scalar>::operator=(const P0gElement& other) constexpr

Copy assignment.

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

template<class Scalar>
size_t Rodin::Variational::P0gElement<Scalar>::getCount() const constexpr

Gets the number of degrees of freedom of the element.

Returns The number of degrees of freedom of the element.

template<class Scalar>
const Math::SpatialVector<Real>& Rodin::Variational::P0gElement<Scalar>::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.

template<class Scalar>
LinearForm Rodin::Variational::P0gElement<Scalar>::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.

template<class Scalar>
BasisFunction Rodin::Variational::P0gElement<Scalar>::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.

template<class Scalar>
size_t Rodin::Variational::P0gElement<Scalar>::getOrder() const constexpr

Returns the polynomial order.

Returns Polynomial order of the finite element.