4 #ifndef DUNE_LOCALFUNCTIONS_INTERFACE_HH
5 #define DUNE_LOCALFUNCTIONS_INTERFACE_HH
8 #error This header exists for documentation purposes only and should never be included directly.
14 #include <dune/common/array.hh>
16 #include <dune/geometry/type.hh>
25 struct ImplementationDefined;
40 typedef ImplementationDefined
Basis;
88 GeometryType
type()
const;
112 template<
class Geometry,
class VertexOrder>
115 struct ImplementationDefined;
175 struct ImplementationDefined;
176 enum { implementationDefined };
209 static const std::size_t
dimRange = implementationDefined;
211 typedef ImplementationDefined
Range;
223 static const std::size_t
diffOrder = implementationDefined;
227 std::size_t
size ()
const;
229 std::size_t
order ()
const;
233 std::vector<Traits::Range>& out)
const;
240 std::vector<Traits::Jacobian>& out)
const;
247 (
const array<std::size_t, Traits::dimDomainGlobal>& directions,
249 std::vector<Traits::Range>& out)
const;
271 template<
typename F,
typename C>
272 void interpolate (
const F& f, std::vector<C>& out)
const;
284 std::size_t
size()
const;
290 #endif // DUNE_LOCALFUNCTIONS_INTERFACE_HH
std::size_t size() const
number of coefficients
ImplementationDefined Basis
type of the Basis
Definition: interface.hh:40
const Traits::Interpolation & interpolation() const
Extract interpolation of this finite element.
static const std::size_t dimRange
Dimension of the range values.
Definition: interface.hh:209
Interface for global-valued finite elements.
Definition: interface.hh:23
types of domain and range
Definition: interface.hh:185
ImplementationDefined FiniteElement
Type of the finite element.
Definition: interface.hh:115
ImplementationDefined DomainLocal
Type used for coordinate vectors in the local domain.
Definition: interface.hh:197
ImplementationDefined DomainField
Field type of the domain.
Definition: interface.hh:191
std::size_t order() const
Polynomial order of the shape functions for quadrature.
BasisInterface::Traits Traits
Export basis traits.
Definition: interface.hh:259
ImplementationDefined Range
Type used for range values.
Definition: interface.hh:211
Describe position of one degree of freedom.
Definition: localkey.hh:20
void evaluateJacobian(const Traits::DomainLocal &in, std::vector< Traits::Jacobian > &out) const
Evaluate Jacobian of all shape functions at given position.
void evaluateFunction(const Traits::DomainLocal &in, std::vector< Traits::Range > &out) const
Evaluate all shape functions at given position.
const Traits::Basis & basis() const
Extract basis of this finite element.
FiniteElementFactoryInterface(...)
Construct a finite element factory.
ImplementationDefined Jacobian
Jacobian properties.
Definition: interface.hh:220
void interpolate(const F &f, std::vector< C > &out) const
Determine coefficients interpolating a given function.
Interface for global-valued interpolation.
Definition: interface.hh:253
Interface for global-valued coefficients.
Definition: interface.hh:281
static const std::size_t dimDomainGlobal
Dimension of the world coordinate system.
Definition: interface.hh:195
ImplementationDefined DomainGlobal
Type used for coordinate vectors in the world domain.
Definition: interface.hh:199
ImplementationDefined Coefficients
type of the Coefficients
Definition: interface.hh:47
const Traits::Coefficients & coefficients() const
Extract coefficients of this finite element.
void evaluate(const array< std::size_t, Traits::dimDomainGlobal > &directions, const Traits::DomainLocal &in, std::vector< Traits::Range > &out) const
Evaluate derivatives of all shape functions at given position.
static const std::size_t dimDomainLocal
Dimension of the local coordinate system.
Definition: interface.hh:193
std::size_t size() const
Number of shape functions.
const LocalKey & localKey(std::size_t i) const
get i'th index
ImplementationDefined RangeField
Field type of the range.
Definition: interface.hh:207
Interface for global-valued shape functions.
Definition: interface.hh:173
const FiniteElement make(const Geometry &, const VertexOrder &,...)
create a finite element from a geometry and a vertex ordering
ImplementationDefined Interpolation
type of the Interpolation
Definition: interface.hh:54
FiniteElementInterface(...)
Construct a finite element.
types of component objects
Definition: interface.hh:32
Factory interface for global-valued finite elements.
Definition: interface.hh:113
GeometryType type() const
Extract geometry type of this finite element.
static const std::size_t diffOrder
maximum number of partial derivatives supported
Definition: interface.hh:223