template<class Number>
P0<Number, Geometry::Mesh<Context::Sequential>> class final
Real valued Lagrange finite element space.
Represents the finite element space composed of scalar valued continuous, piecewise linear functions:
This class is scalar valued, i.e. evaluations of the function are of Rodin::
Base classes
-
template<class Derived>class FiniteElementSpace<P0<Number, Geometry::Mesh<Context::Sequential>>>
- Represernts a finite element space.
Public types
-
template<class CallableType>class InverseMapping
- Inverse mapping for the scalar P0 space.
-
template<class FunctionDerived>class Mapping
- Mapping for the scalar P0 space.
- using RangeType = ScalarType
- Range type of value.
-
using ContextType = Context::
Sequential - Represents the Context of the P0 space.
-
using MeshType = Geometry::
Mesh<ContextType> - Type of mesh on which the finite element space is built.
- using ElementType = P0Element<RangeType>
- Type of finite element.
- using Parent = FiniteElementSpace<P0<RangeType, MeshType>>
- Parent class.
Public functions
- auto getSize() const -> size_t override
- Gets the total number of degrees of freedom.
- auto getVectorDimension() const -> size_t override
- Gets the dimension of the range space, i.e. the number of components of each basis function.
- auto getMesh() const -> const MeshType& override
- Gets the constant reference to the mesh upon which the finite element space is built on.
- auto getDOFs(size_t d, Index i) const -> const IndexArray& override
- Gets a set of global degree of freedom indices associated to the polytope of dimension and index .
- auto getGlobalIndex(const std::pair<size_t, Index>& idx, Index local) const -> Index override
- Gets the global index for the local degree of freedom on the -polytope.
-
template<class FunctionDerived>auto getMapping(const std::pair<size_t, Index>& idx, const FunctionBase<FunctionDerived>& v) const -> auto
- Returns the mapping of the function from the physical element to the reference element.
-
template<class CallableType>auto getInverseMapping(const std::pair<size_t, Index>& idx, const CallableType& v) const -> auto
- Returns the inverse mapping of the function from the physical element to the reference element.
Function documentation
template<class Number>
size_t Rodin:: Variational:: P0<Number, Geometry:: Mesh<Context:: Sequential>><Number>:: getSize() const override
Gets the total number of degrees of freedom.
Returns | Size of the finite element space |
---|
template<class Number>
size_t Rodin:: Variational:: P0<Number, Geometry:: Mesh<Context:: Sequential>><Number>:: getVectorDimension() const override
Gets the dimension of the range space, i.e. the number of components of each basis function.
Returns | Vector dimension of the finite element space. |
---|
template<class Number>
const IndexArray& Rodin:: Variational:: P0<Number, Geometry:: Mesh<Context:: Sequential>><Number>:: getDOFs(size_t d,
Index i) const override
Gets a set of global degree of freedom indices associated to the polytope of dimension and index .
Returns | Set of indices associated to the -polytope. |
---|
template<class Number>
Index Rodin:: Variational:: P0<Number, Geometry:: Mesh<Context:: Sequential>><Number>:: getGlobalIndex(const std::pair<size_t, Index>& idx,
Index local) const override
Gets the global index for the local degree of freedom on the -polytope.
Parameters | |
---|---|
idx in | Pair representing the -polytope. |
local in | Local degree of freedom index. |
template<class Number>
template<class FunctionDerived>
auto Rodin:: Variational:: P0<Number, Geometry:: Mesh<Context:: Sequential>><Number>:: getMapping(const std::pair<size_t, Index>& idx,
const FunctionBase<FunctionDerived>& v) const
Returns the mapping of the function from the physical element to the reference element.
Parameters | |
---|---|
idx in | Index of the element in the mesh |
v in | Function defined on an element of the mesh |
For all in the mesh, the finite element space is generated by the bijective mapping:
taking a function from the global element element .
template<class Number>
template<class CallableType>
auto Rodin:: Variational:: P0<Number, Geometry:: Mesh<Context:: Sequential>><Number>:: getInverseMapping(const std::pair<size_t, Index>& idx,
const CallableType& v) const
Returns the inverse mapping of the function from the physical element to the reference element.
Parameters | |
---|---|
idx in | Index of the element in the mesh. |
v in | Callable type |