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
|
protecteddefault |
|
protecteddefaultnoexcept |
|
virtualdefault |
No special destructor.
|
pure virtual |
access to associated local-to-global map
Implemented in lf::fe::HierarchicScalarFESpace< SCALAR >, and lf::uscalfe::UniformScalarFESpace< SCALAR >.
Referenced by lf::fe::InitEssentialConditionFromFunction().
|
pure virtual |
acess to underlying mesh
Implemented in lf::fe::HierarchicScalarFESpace< SCALAR >, and lf::uscalfe::UniformScalarFESpace< SCALAR >.
Referenced by lf::fe::InitEssentialConditionFromFunction().
|
pure 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 >.
|
protecteddefault |
|
protecteddefaultnoexcept |
|
pure 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 >.
Referenced by lf::fe::InitEssentialConditionFromFunction().