![]() |
LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Space of scalar valued finite element functions on a Mesh. More...
#include <lf/fe/fe.h>
Public Types | |
| using | Scalar = SCALAR |
Public Member Functions | |
| virtual std::shared_ptr< const lf::mesh::Mesh > | Mesh () const =0 |
| acess to underlying mesh | |
| virtual const lf::assemble::DofHandler & | LocGlobMap () const =0 |
| access to associated local-to-global map | |
| virtual ScalarReferenceFiniteElement< SCALAR > const * | ShapeFunctionLayout (const lf::mesh::Entity &entity) const =0 |
| access to shape function layout for mesh entities | |
| virtual size_type | NumRefShapeFunctions (const lf::mesh::Entity &entity) const =0 |
| number of interior shape functions associated to a particular mesh entity. | |
| virtual | ~ScalarFESpace ()=default |
| No special destructor. | |
Protected Member Functions | |
| ScalarFESpace ()=default | |
| default constructor, needed by std::vector | |
| ScalarFESpace (const ScalarFESpace &)=default | |
| ScalarFESpace (ScalarFESpace &&) noexcept=default | |
| ScalarFESpace & | operator= (const ScalarFESpace &)=default |
| ScalarFESpace & | operator= (ScalarFESpace &&) noexcept=default |
Space of scalar valued finite element functions on a Mesh.
| SCALAR | Scalar type of the finite element functions, usually either double or complex<double> |
A ScalarFESpace can be thought of as a set of basis functions \( b^1, \ldots b^N \) which span a (approximation) space \( V_h := \operatorname{span} \{ b^1, \ldots b^N\} \). The basis functions \( b^i\) are usually selected such that their support is limited to a small number of mesh cells. This is reflected in the design of ScalarFESpace:
This class is covered in Paragraph 2.8.3.28.
As you can see in the inheritance diagram, every UniformScalarFESpace is also a ScalarFESpace. The UniformScalarFESpace class and all other classes in the namespace lf::uscalfe make additionally the assumption that when we restrict the basis functions \( b^1, \ldots b^N\) to a cell, the remaining set of basis functions are always the same for every cell/reference element (when defined on the reference element). I.e. ShapeFunctionLayout() will always return the same ScalarReferenceFiniteElement for the same reference element.
Definition at line 65 of file scalar_fe_space.h.
| using lf::fe::ScalarFESpace< SCALAR >::Scalar = SCALAR |
Definition at line 67 of file scalar_fe_space.h.
|
protecteddefault |
default constructor, needed by std::vector
Referenced by lf::fe::HierarchicScalarFESpace< SCALAR >::HierarchicScalarFESpace(), operator=(), operator=(), ScalarFESpace(), ScalarFESpace(), lf::uscalfe::UniformScalarFESpace< SCALAR >::UniformScalarFESpace(), and ~ScalarFESpace().
|
protecteddefault |
References ScalarFESpace().
|
protecteddefaultnoexcept |
References ScalarFESpace().
|
virtualdefault |
No special destructor.
References ScalarFESpace().
|
nodiscardpure virtual |
access to associated local-to-global map
Implemented in lf::fe::HierarchicScalarFESpace< SCALAR >, and lf::uscalfe::UniformScalarFESpace< SCALAR >.
References LocGlobMap().
Referenced by lf::fe::InitEssentialConditionFromFunction(), and LocGlobMap().
|
nodiscardpure virtual |
acess to underlying mesh
Implemented in lf::fe::HierarchicScalarFESpace< SCALAR >, and lf::uscalfe::UniformScalarFESpace< SCALAR >.
References Mesh().
Referenced by lf::fe::InitEssentialConditionFromFunction(), and Mesh().
|
nodiscardpure virtual |
number of interior shape functions associated to a particular mesh entity.
| entity | mesh entity to be queried |
Implemented in lf::fe::HierarchicScalarFESpace< SCALAR >, and lf::uscalfe::UniformScalarFESpace< SCALAR >.
References NumRefShapeFunctions().
Referenced by NumRefShapeFunctions().
|
protecteddefault |
References ScalarFESpace().
|
protecteddefaultnoexcept |
References ScalarFESpace().
|
nodiscardpure virtual |
access to shape function layout for mesh entities
| entity | The entity to get the reference element for |
Implemented in lf::fe::HierarchicScalarFESpace< SCALAR >, and lf::uscalfe::UniformScalarFESpace< SCALAR >.
References ShapeFunctionLayout().
Referenced by lf::fe::InitEssentialConditionFromFunction(), and ShapeFunctionLayout().