dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet > Class Template Reference

implementation of a basis function set for given entity More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/basisfunctionset/default.hh>

Public Types

typedef Entity EntityType
 entity type More...
 
typedef ShapeFunctionSet ShapeFunctionSetType
 shape function set type More...
 
typedef ToNewDimDomainFunctionSpace< LocalFunctionSpaceType, EntityType::Geometry::coorddimension >::Type FunctionSpaceType
 type of function space More...
 
typedef FunctionSpaceType::DomainType DomainType
 domain type More...
 
typedef FunctionSpaceType::RangeType RangeType
 range type More...
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 jacobian range type More...
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 hessian range type More...
 
typedef Dune::ReferenceElement< ctype, GeometryType::coorddimension > ReferenceElementType
 type of reference element More...
 

Public Member Functions

 DefaultBasisFunctionSet ()
 constructor More...
 
 DefaultBasisFunctionSet (const EntityType &entity, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
 constructor More...
 
int order () const
 return order of basis function set More...
 
std::size_t size () const
 return size of basis function set More...
 
const ReferenceElementTypereferenceElement () const
 return reference element More...
 
template<class QuadratureType , class Vector , class DofVector >
void axpy (const QuadratureType &quad, const Vector &values, DofVector &dofs) const
 evaluate all basis function and multiply with given values and add to dofs More...
 
template<class QuadratureType , class VectorA , class VectorB , class DofVector >
void axpy (const QuadratureType &quad, const VectorA &valuesA, const VectorB &valuesB, DofVector &dofs) const
 evaluate all basis function and multiply with given values and add to dofs More...
 
template<class Point , class DofVector >
void axpy (const Point &x, const RangeType &valueFactor, DofVector &dofs) const
 evaluate all basis function and multiply with given values and add to dofs More...
 
template<class Point , class DofVector >
void axpy (const Point &x, const JacobianRangeType &jacobianFactor, DofVector &dofs) const
 evaluate all basis function and multiply with given values and add to dofs More...
 
template<class Point , class DofVector >
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 More...
 
template<class QuadratureType , class DofVector , class RangeArray >
void evaluateAll (const QuadratureType &quad, const DofVector &dofs, RangeArray &ranges) const
 
template<class Point , class DofVector >
void evaluateAll (const Point &x, const DofVector &dofs, RangeType &value) const
 
template<class Point , class RangeArray >
void evaluateAll (const Point &x, RangeArray &values) const
 
template<class QuadratureType , class DofVector , class JacobianArray >
void jacobianAll (const QuadratureType &quad, const DofVector &dofs, JacobianArray &jacobians) const
 
template<class Point , class DofVector >
void jacobianAll (const Point &x, const DofVector &dofs, JacobianRangeType &jacobian) const
 
template<class Point , class JacobianRangeArray >
void jacobianAll (const Point &x, JacobianRangeArray &jacobians) const
 
template<class Point , class DofVector >
void hessianAll (const Point &x, const DofVector &dofs, HessianRangeType &hessian) const
 
template<class Point , class HessianRangeArray >
void hessianAll (const Point &x, HessianRangeArray &hessians) const
 
const Entity & entity () const
 return entity More...
 
Dune::GeometryType type () const
 return geometry type More...
 
const ShapeFunctionSetTypeshapeFunctionSet () const
 return shape function set More...
 

Protected Types

typedef ShapeFunctionSetType::FunctionSpaceType LocalFunctionSpaceType
 
typedef LocalFunctionSpaceType::JacobianRangeType LocalJacobianRangeType
 
typedef LocalFunctionSpaceType::HessianRangeType LocalHessianRangeType
 
typedef LocalFunctionSpaceType::RangeFieldType RangeFieldType
 
typedef EntityType::Geometry GeometryType
 
typedef GeometryType::ctype ctype
 

Protected Member Functions

GeometryType geometry () const
 

Detailed Description

template<class Entity, class ShapeFunctionSet>
class Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >

implementation of a basis function set for given entity

Template Parameters
Entityentity type
ShapeFunctionSetshape function set
Note
ShapeFunctionSet must be a copyable object. For most non-trivial implementations, you may want to use a proxy, see file
<dune/fem/space/shapefunctionset/proxy.hh>

Member Typedef Documentation

template<class Entity , class ShapeFunctionSet >
typedef GeometryType::ctype Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ctype
protected
template<class Entity , class ShapeFunctionSet >
typedef FunctionSpaceType::DomainType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::DomainType

domain type

template<class Entity , class ShapeFunctionSet >
typedef Entity Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::EntityType

entity type

template<class Entity , class ShapeFunctionSet >
typedef ToNewDimDomainFunctionSpace< LocalFunctionSpaceType, EntityType :: Geometry :: coorddimension >::Type Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::FunctionSpaceType

type of function space

template<class Entity , class ShapeFunctionSet >
typedef EntityType::Geometry Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::GeometryType
protected
template<class Entity , class ShapeFunctionSet >
typedef FunctionSpaceType::HessianRangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::HessianRangeType

hessian range type

template<class Entity , class ShapeFunctionSet >
typedef FunctionSpaceType::JacobianRangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::JacobianRangeType

jacobian range type

template<class Entity , class ShapeFunctionSet >
typedef ShapeFunctionSetType::FunctionSpaceType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::LocalFunctionSpaceType
protected
template<class Entity , class ShapeFunctionSet >
typedef LocalFunctionSpaceType::HessianRangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::LocalHessianRangeType
protected
template<class Entity , class ShapeFunctionSet >
typedef LocalFunctionSpaceType::JacobianRangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::LocalJacobianRangeType
protected
template<class Entity , class ShapeFunctionSet >
typedef LocalFunctionSpaceType::RangeFieldType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::RangeFieldType
protected
template<class Entity , class ShapeFunctionSet >
typedef FunctionSpaceType::RangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::RangeType

range type

template<class Entity , class ShapeFunctionSet >
typedef Dune::ReferenceElement< ctype, GeometryType::coorddimension > Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ReferenceElementType

type of reference element

template<class Entity , class ShapeFunctionSet >
typedef ShapeFunctionSet Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ShapeFunctionSetType

shape function set type

Constructor & Destructor Documentation

template<class Entity , class ShapeFunctionSet >
Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::DefaultBasisFunctionSet ( )
inline

constructor

template<class Entity , class ShapeFunctionSet >
Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::DefaultBasisFunctionSet ( const EntityType entity,
const ShapeFunctionSet shapeFunctionSet = ShapeFunctionSet() 
)
inlineexplicit

constructor

Member Function Documentation

template<class Entity , class ShapeFunctionSet >
template<class QuadratureType , class Vector , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy ( const QuadratureType &  quad,
const Vector &  values,
DofVector &  dofs 
) const
inline

evaluate all basis function and multiply with given values and add to dofs

Referenced by Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy().

template<class Entity , class ShapeFunctionSet >
template<class QuadratureType , class VectorA , class VectorB , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy ( const QuadratureType &  quad,
const VectorA &  valuesA,
const VectorB &  valuesB,
DofVector &  dofs 
) const
inline

evaluate all basis function and multiply with given values and add to dofs

Note
valuesA and valuesB can be vectors of RangeType or JacobianRangeType

References Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy().

template<class Entity , class ShapeFunctionSet >
template<class Point , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy ( const Point &  x,
const RangeType valueFactor,
DofVector &  dofs 
) const
inline

evaluate all basis function and multiply with given values and add to dofs

References Dune::Fem::ShapeFunctionSet< FunctionSpace >::evaluateEach(), and Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::shapeFunctionSet().

template<class Entity , class ShapeFunctionSet >
template<class Point , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy ( const Point &  x,
const JacobianRangeType jacobianFactor,
DofVector &  dofs 
) const
inline
template<class Entity , class ShapeFunctionSet >
template<class Point , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy ( const Point &  x,
const RangeType valueFactor,
const JacobianRangeType jacobianFactor,
DofVector &  dofs 
) const
inline

evaluate all basis function and multiply with given values and add to dofs

References Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy().

template<class Entity , class ShapeFunctionSet >
const Entity& Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::entity ( ) const
inline
template<class Entity , class ShapeFunctionSet >
template<class QuadratureType , class DofVector , class RangeArray >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::evaluateAll ( const QuadratureType &  quad,
const DofVector &  dofs,
RangeArray &  ranges 
) const
inline

template<class Entity , class ShapeFunctionSet >
template<class Point , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::evaluateAll ( const Point &  x,
const DofVector &  dofs,
RangeType value 
) const
inline
template<class Entity , class ShapeFunctionSet >
template<class Point , class RangeArray >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::evaluateAll ( const Point &  x,
RangeArray &  values 
) const
inline
template<class Entity , class ShapeFunctionSet >
GeometryType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::geometry ( ) const
inlineprotected
template<class Entity , class ShapeFunctionSet >
template<class Point , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::hessianAll ( const Point &  x,
const DofVector &  dofs,
HessianRangeType hessian 
) const
inline
template<class Entity , class ShapeFunctionSet >
template<class Point , class HessianRangeArray >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::hessianAll ( const Point &  x,
HessianRangeArray &  hessians 
) const
inline
template<class Entity , class ShapeFunctionSet >
template<class QuadratureType , class DofVector , class JacobianArray >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::jacobianAll ( const QuadratureType &  quad,
const DofVector &  dofs,
JacobianArray &  jacobians 
) const
inline

template<class Entity , class ShapeFunctionSet >
template<class Point , class DofVector >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::jacobianAll ( const Point &  x,
const DofVector &  dofs,
JacobianRangeType jacobian 
) const
inline
template<class Entity , class ShapeFunctionSet >
template<class Point , class JacobianRangeArray >
void Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::jacobianAll ( const Point &  x,
JacobianRangeArray &  jacobians 
) const
inline
template<class Entity , class ShapeFunctionSet >
int Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::order ( ) const
inline
template<class Entity , class ShapeFunctionSet >
const ReferenceElementType& Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::referenceElement ( ) const
inline
template<class Entity , class ShapeFunctionSet >
const ShapeFunctionSetType& Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::shapeFunctionSet ( ) const
inline
template<class Entity , class ShapeFunctionSet >
std::size_t Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::size ( ) const
inline
template<class Entity , class ShapeFunctionSet >
Dune::GeometryType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::type ( ) const
inline

The documentation for this class was generated from the following file: