1#ifndef DUNE_FEM_BASISFUNCTIONSET_BASISFUNCTIONSET_HH
2#define DUNE_FEM_BASISFUNCTIONSET_BASISFUNCTIONSET_HH
6#include <dune/geometry/referenceelements.hh>
7#include <dune/geometry/type.hh>
29 template<
class Entity,
class Range >
37 typedef FunctionSpace<
typename Entity::Geometry::ctype,
typename Range::value_type,
38 Entity::Geometry::coorddimension, Range::dimension
51 typedef Dune::ReferenceElement<
typename DomainType::value_type,
66 template<
class Quadrature,
class Vector,
class DofVector >
72 template<
class Quadrature,
class VectorA,
class VectorB,
class DofVector >
73 void axpy (
const Quadrature &quad,
const VectorA &valuesA,
const VectorB &valuesB, DofVector &
dofs )
const;
78 template<
class Po
int,
class DofVector >
84 template<
class Po
int,
class DofVector >
90 template<
class Po
int,
class DofVector >
92 DofVector &
dofs )
const;
97 template<
class Quadrature,
class DofVector,
class RangeArray >
101 template<
class Po
int,
class DofVector >
105 template<
class Po
int,
class RangeArray >
109 template<
class QuadratureType,
class DofVector,
class JacobianArray >
110 void jacobianAll (
const QuadratureType &quad,
const DofVector &
dofs, JacobianArray &jacobians )
const;
113 template<
class Po
int,
class DofVector >
117 template<
class Po
int,
class JacobianRangeArray >
118 void jacobianAll (
const Point &x, JacobianRangeArray &jacobians )
const;
121 template<
class Po
int,
class DofVector >
125 template<
class Po
int,
class HessianRangeArray >
126 void hessianAll (
const Point &x, HessianRangeArray &hessians )
const;
Definition: bindguard.hh:11
IteratorRange< typename DF::DofIteratorType > dofs(DF &df)
Iterates over all DOFs.
Definition: rangegenerators.hh:76
Definition: explicitfieldvector.hh:75
actual interface class for quadratures
Definition: quadrature.hh:405
Interface class for basis function sets.
Definition: basisfunctionset/basisfunctionset.hh:31
const EntityType & entity() const
return entity
void axpy(const Quadrature &quad, const Vector &values, DofVector &dofs) const
evaluate all basis function and multiply with given values and add to dofs
std::size_t size() const
return size of basis function set
Entity EntityType
entity type
Definition: basisfunctionset/basisfunctionset.hh:34
void axpy(const Point &x, const JacobianRangeType &jacobianFactor, DofVector &dofs) const
evaluate all basis function and multiply with given values and add to dofs
FunctionSpace< typename Entity::Geometry::ctype, typename Range::value_type, Entity::Geometry::coorddimension, Range::dimension > FunctionSpaceType
function space type
Definition: basisfunctionset/basisfunctionset.hh:39
int order() const
return order of basis function set
bool valid() const
return true if entity was set
const ReferenceElementType & referenceElement() const
return reference element
FunctionSpaceType::DomainType DomainType
range type
Definition: basisfunctionset/basisfunctionset.hh:42
void axpy(const Quadrature &quad, const VectorA &valuesA, const VectorB &valuesB, DofVector &dofs) const
evaluate all basis function and multiply with given values and add to dofs
void hessianAll(const Point &x, HessianRangeArray &hessians) const
void hessianAll(const Point &x, const DofVector &dofs, HessianRangeType &hessian) const
void jacobianAll(const Point &x, const DofVector &dofs, JacobianRangeType &jacobian) const
void axpy(const Point &x, const RangeType &valueFactor, DofVector &dofs) const
evaluate all basis function and multiply with given values and add to dofs
void jacobianAll(const QuadratureType &quad, const DofVector &dofs, JacobianArray &jacobians) const
evaluate the jacobian of all basis functions and store the result in the jacobians array
Dune::ReferenceElement< typename DomainType::value_type, DomainType::dimension > ReferenceElementType
type of reference element
Definition: basisfunctionset/basisfunctionset.hh:52
FunctionSpaceType::JacobianRangeType JacobianRangeType
jacobian range type
Definition: basisfunctionset/basisfunctionset.hh:46
void jacobianAll(const Point &x, JacobianRangeArray &jacobians) const
void axpy(const Point &x, const RangeType &valueFactor, const JacobianRangeType &jacobianFactor, DofVector &dofs) const
evaluate all basis function and multiply with given values and add to dofs
void evaluateAll(const Point &x, const DofVector &dofs, RangeType &value) const
FunctionSpaceType::HessianRangeType HessianRangeType
hessian range type
Definition: basisfunctionset/basisfunctionset.hh:48
FunctionSpaceType::RangeType RangeType
range type
Definition: basisfunctionset/basisfunctionset.hh:44
void evaluateAll(const Quadrature &quad, const DofVector &dofs, RangeArray &ranges) const
evaluate all basis functions and store the result in the ranges array
void evaluateAll(const Point &x, RangeArray &values) const
A vector valued function space.
Definition: functionspace.hh:60
FunctionSpaceTraits::RangeType RangeType
Type of range vector (using type of range field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:71
FunctionSpaceTraits::LinearMappingType JacobianRangeType
Intrinsic type used for the jacobian values has a Dune::FieldMatrix type interface.
Definition: functionspaceinterface.hh:75
FunctionSpaceTraits::DomainType DomainType
Type of domain vector (using type of domain field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:67