dune-localfunctions
2.7.0
|
Factory interface for global-valued finite elements. More...
#include <dune/localfunctions/common/interface.hh>
Public Types | |
typedef ImplementationDefined | FiniteElement |
Type of the finite element. More... | |
Public Member Functions | |
FiniteElementFactoryInterface (...) | |
Construct a finite element factory. More... | |
Factory interface for global-valued finite elements.
The main purpose of the factory class is to provide a concept for caching. Take for instance a global-valued finite element that wraps a local finite element. The local finite element will typically have very few variants, and the global-valued finite element will just apply a geometric transformation to the derivatives. The wrapped local finite elements can be stored inside the factory and any global-valued finite elements created by the factory just contain references or pointers. This way the local finite elements don't need to be created anew for each global-valued finite element.
The other purpose is to semi-standardize the interface used to actually create finite elements. "Semi" because the information needed to create an actual global-valued finite element will vary between finite element types. There are however certain types of information that are needed by a larger subset of all available finite elements, so it makes sense to define a common encoding for these types of information. On the other hand this information is often expensive to obtain, so it makes sense to only provide it when it is actually needed.
typedef ImplementationDefined Dune::FiniteElementFactoryInterface< Geometry, VertexOrder >::FiniteElement |
Type of the finite element.
Should be an implementation of FiniteElementInterface
Dune::FiniteElementFactoryInterface< Geometry, VertexOrder >::FiniteElementFactoryInterface | ( | ... | ) |
Construct a finite element factory.
const FiniteElement Dune::FiniteElementFactoryInterface< Geometry, VertexOrder >::make | ( | ... | ) |
create a finite element
const FiniteElement Dune::FiniteElementFactoryInterface< Geometry, VertexOrder >::make | ( | const Geometry & | , |
const VertexOrder & | , | ||
... | |||
) |
create a finite element from a geometry and a vertex ordering
const FiniteElement Dune::FiniteElementFactoryInterface< Geometry, VertexOrder >::make | ( | const Geometry & | , |
... | |||
) |
create a finite element from a geometry
const FiniteElement Dune::FiniteElementFactoryInterface< Geometry, VertexOrder >::make | ( | const GeometryType & | , |
... | |||
) |
create a finite element from a geometry type
const FiniteElement Dune::FiniteElementFactoryInterface< Geometry, VertexOrder >::make | ( | const VertexOrder & | , |
... | |||
) |
create a finite element from a vertex ordering