1 #ifndef DUNE_FEM_FUNCTION_LOCALFUNCTION_LOCALFUNCTIONSET_HH 2 #define DUNE_FEM_FUNCTION_LOCALFUNCTION_LOCALFUNCTIONSET_HH 7 #include <dune/common/nullptr.hh> 28 template<
class Entity,
class Range >
35 typedef FunctionSpace<
typename Entity::Geometry::ctype,
typename Range::value_type,
51 const EntityType &
entity ()
const;
54 std::size_t
size ()
const;
72 template<
class Po
int,
class Functor >
73 void evaluateEach (
const Point &x, Functor functor )
const;
91 template<
class Po
int,
class Functor >
92 void jacobianEach (
const Point &x, Functor functor )
const;
110 template<
class Po
int,
class Functor >
111 void hessianEach (
const Point &x, Functor functor )
const;
125 template<
class LocalFunctionSet >
130 const ImplementationType &
impl ()
const 132 assert( localFunctionSet_ );
133 return *localFunctionSet_;
147 : localFunctionSet_( localFunctionSet )
150 int order ()
const {
return impl().order(); }
152 const EntityType &
entity ()
const {
return impl().entity(); }
154 std::size_t
size ()
const {
return impl().size(); }
156 template<
class Po
int,
class Functor >
159 impl().evaluateEach( x, functor );
162 template<
class Po
int,
class Functor >
165 impl().jacobianEach( x, functor );
168 template<
class Po
int,
class Functor >
171 impl().hessianEach( x, functor );
182 #endif // #ifndef DUNE_FEM_FUNCTION_LOCALFUNCTION_LOCALFUNCTIONSET_HH void evaluateEach(const Point &x, Functor functor) const
Definition: localfunctionset.hh:157
void jacobianEach(const Point &x, Functor functor) const
evalute jacobian of each basis function
const EntityType & entity() const
Definition: localfunctionset.hh:152
A vector valued function space.
Definition: functionspace.hh:16
int order() const
return order of basis functions
LocalFunctionSet::DomainType DomainType
Definition: localfunctionset.hh:139
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::LinearMappingType JacobianRangeType
Intrinsic type used for the jacobian values has a Dune::FieldMatrix type interface.
Definition: functionspaceinterface.hh:74
FieldVector< FieldMatrix< RangeFieldType, dimDomain, dimDomain >, dimRange > HessianRangeType
Intrinsic type used for the hessian values has a Dune::FieldMatrix type interface.
Definition: functionspaceinterface.hh:78
Proxy for a LocalBasisFunctionSet.
Definition: localfunctionset.hh:126
Local basis functions.
Definition: localfunctionset.hh:29
LocalFunctionSet::FunctionSpaceType FunctionSpaceType
Definition: localfunctionset.hh:137
LocalFunctionSetProxy(const LocalFunctionSet *localFunctionSet)
Definition: localfunctionset.hh:146
LocalFunctionSet::HessianRangeType HessianRangeType
Definition: localfunctionset.hh:142
LocalFunctionSetProxy()
Definition: localfunctionset.hh:144
LocalFunctionSet::RangeType RangeType
Definition: localfunctionset.hh:140
LocalFunctionSet ImplementationType
Definition: localfunctionset.hh:129
Definition: coordinate.hh:4
FunctionSpaceType::DomainType DomainType
domain type
Definition: localfunctionset.hh:39
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::DomainType DomainType
Type of domain vector (using type of domain field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:66
int order() const
Definition: localfunctionset.hh:150
void hessianEach(const Point &x, Functor functor) const
evalute hessian of each basis function
FunctionSpaceType::JacobianRangeType JacobianRangeType
jacobian range type
Definition: localfunctionset.hh:43
const EntityType & entity() const
return entity
std::size_t size() const
return number of basis functions
FunctionSpace< typename Entity::Geometry::ctype, typename Range::value_type, Entity::Geometry::coorddimension, Range::dimension > FunctionSpaceType
function space type
Definition: localfunctionset.hh:36
void jacobianEach(const Point &x, Functor functor) const
Definition: localfunctionset.hh:163
std::size_t size() const
Definition: localfunctionset.hh:154
LocalFunctionSet::JacobianRangeType JacobianRangeType
Definition: localfunctionset.hh:141
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeType RangeType
Type of range vector (using type of range field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:70
LocalFunctionSet::EntityType EntityType
Definition: localfunctionset.hh:136
Entity EntityType
entity type
Definition: localfunctionset.hh:32
FunctionSpaceType::HessianRangeType HessianRangeType
hessian range type
Definition: localfunctionset.hh:45
void evaluateEach(const Point &x, Functor functor) const
evalute each basis function
FunctionSpaceType::RangeType RangeType
range type
Definition: localfunctionset.hh:41
const ImplementationType & impl() const
Definition: localfunctionset.hh:130
void hessianEach(const Point &x, Functor functor) const
Definition: localfunctionset.hh:169