dune-fem  2.4.1-rc
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets > Class Template Reference

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

Classes

struct  SubBasisFunctionSet
 

Public Types

typedef FunctionSpace< typename ContainedFunctionSpaceType::DomainFieldType, typename ContainedFunctionSpaceType::RangeFieldType, dimDomain, dimRangeFunctionSpaceType
 type of analytical combiend function space More...
 
typedef FunctionSpaceType::DomainType DomainType
 type of Domain Vector More...
 
typedef FunctionSpaceType::RangeType RangeType
 type of Range Vector More...
 
typedef FunctionSpaceType::RangeFieldType RangeFieldType
 type of Range Vector field More...
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 type of Jacobian Vector/Matrix More...
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 type of Hessian Matrix More...
 
typedef std::tuple_element< 0, BasisFunctionSetTupleType >::type::EntityType EntityType
 type of Entity the basis function set is initialized on More...
 
typedef std::tuple_element< 0, BasisFunctionSetTupleType >::type::ReferenceElementType ReferenceElementType
 type of reference element for this BasisFunctionSet More...
 

Public Member Functions

 TupleBasisFunctionSet ()
 
 TupleBasisFunctionSet (const BasisFunctionSets &...basisFunctionSets)
 
 TupleBasisFunctionSet (const BasisFunctionSetTupleType &basisFunctionSetTuple)
 
int order () const
 return order of basis function set, maximal order in the tupleset More...
 
std::size_t size () const
 return size of basis function set More...
 
Dune::GeometryType type () const
 
const EntityTypeentity () const
 return entity More...
 
const ReferenceElementTypereferenceElement () const
 return entity More...
 
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 RangeArray >
void evaluateAll (const QuadratureType &quad, const DofVector &dofs, RangeArray &ranges) 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 QuadratureType , class DofVector , class JacobianArray >
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 More...
 
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
 
template<class QuadratureType , class Vector , class DofVector >
void axpy (const QuadratureType &quad, const Vector &values, DofVector &dofs) const
 
template<class QuadratureType , class VectorA , class VectorB , class DofVector >
void axpy (const QuadratureType &quad, const VectorA &valuesA, const VectorB &valuesB, DofVector &dofs) const
 
template<class Point , class DofVector >
void axpy (const Point &x, const RangeType &valueFactor, DofVector &dofs) const
 
template<class Point , class DofVector >
void axpy (const Point &x, const JacobianRangeType &jacobianFactor, DofVector &dofs) const
 
template<class Point , class DofVector >
void axpy (const Point &x, const RangeType &valueFactor, const JacobianRangeType &jacobianFactor, DofVector &dofs) const
 
template<int i>
const SubBasisFunctionSet< i >::typesubBasisFunctionSet () const
 return i-th subbasisfunctionSet More...
 
std::size_t offset (int i) const
 return offset of the i-th subbasisfunctionSet in the whole set More...
 

Static Public Member Functions

static const int numSubBasisFunctionSets ()
 return number of subBasisFunctionSets More...
 

Static Public Attributes

static const int dimDomain = ContainedFunctionSpaceType::dimDomain
 size of domian space More...
 
static constexpr const int dimRange = Std::sum( static_cast< int >( BasisFunctionSets::FunctionSpaceType::dimRange ) ... )
 size of range space More...
 

Protected Member Functions

template<std::size_t... i>
int order (Std::index_sequence< i... >) const
 
template<std::size_t... i>
std::size_t size (Std::index_sequence< i... >) const
 

Member Typedef Documentation

type of Domain Vector

template<class... BasisFunctionSets>
typedef std::tuple_element< 0, BasisFunctionSetTupleType >::type::EntityType Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::EntityType

type of Entity the basis function set is initialized on

template<class... BasisFunctionSets>
typedef FunctionSpace< typename ContainedFunctionSpaceType::DomainFieldType, typename ContainedFunctionSpaceType::RangeFieldType, dimDomain, dimRange > Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::FunctionSpaceType

type of analytical combiend function space

type of Hessian Matrix

type of Jacobian Vector/Matrix

type of Range Vector field

type of Range Vector

template<class... BasisFunctionSets>
typedef std::tuple_element< 0, BasisFunctionSetTupleType >::type::ReferenceElementType Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::ReferenceElementType

type of reference element for this BasisFunctionSet

Constructor & Destructor Documentation

template<class... BasisFunctionSets>
Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::TupleBasisFunctionSet ( )
inline
template<class... BasisFunctionSets>
Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::TupleBasisFunctionSet ( const BasisFunctionSets &...  basisFunctionSets)
inline
template<class... BasisFunctionSets>
Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::TupleBasisFunctionSet ( const BasisFunctionSetTupleType &  basisFunctionSetTuple)
inline

Member Function Documentation

template<class... BasisFunctionSets>
template<class QuadratureType , class Vector , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::axpy ( const QuadratureType &  quad,
const Vector &  values,
DofVector &  dofs 
) const
inline
template<class... BasisFunctionSets>
template<class QuadratureType , class VectorA , class VectorB , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::axpy ( const QuadratureType &  quad,
const VectorA &  valuesA,
const VectorB &  valuesB,
DofVector &  dofs 
) const
inline
template<class... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::axpy ( const Point &  x,
const RangeType valueFactor,
DofVector &  dofs 
) const
inline

template<class... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::axpy ( const Point &  x,
const JacobianRangeType jacobianFactor,
DofVector &  dofs 
) const
inline

template<class... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::axpy ( const Point &  x,
const RangeType valueFactor,
const JacobianRangeType jacobianFactor,
DofVector &  dofs 
) const
inline

template<class... BasisFunctionSets>
const EntityType& Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::entity ( ) const
inline

return entity

template<class... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::evaluateAll ( const Point &  x,
const DofVector &  dofs,
RangeType value 
) const
inline
template<class... BasisFunctionSets>
template<class Point , class RangeArray >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::evaluateAll ( const Point &  x,
RangeArray &  values 
) const
inline
template<class... BasisFunctionSets>
template<class QuadratureType , class DofVector , class RangeArray >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::evaluateAll ( const QuadratureType &  quad,
const DofVector &  dofs,
RangeArray &  ranges 
) const
inline
template<class... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::hessianAll ( const Point &  x,
const DofVector &  dofs,
HessianRangeType hessian 
) const
inline
template<class... BasisFunctionSets>
template<class Point , class HessianRangeArray >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::hessianAll ( const Point &  x,
HessianRangeArray &  hessians 
) const
inline
template<class... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::jacobianAll ( const Point &  x,
const DofVector &  dofs,
JacobianRangeType jacobian 
) const
inline
template<class... BasisFunctionSets>
template<class Point , class JacobianRangeArray >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::jacobianAll ( const Point &  x,
JacobianRangeArray &  jacobians 
) const
inline
template<class... BasisFunctionSets>
template<class QuadratureType , class DofVector , class JacobianArray >
void Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::jacobianAll ( const QuadratureType &  quad,
const DofVector &  dofs,
JacobianArray &  jacobians 
) const
inline

evaluate the jacobian of all basis functions and store the result in the jacobians array

References Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::jacobianAll().

template<class... BasisFunctionSets>
static const int Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::numSubBasisFunctionSets ( )
inlinestatic

return number of subBasisFunctionSets

template<class... BasisFunctionSets>
std::size_t Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::offset ( int  i) const
inline

return offset of the i-th subbasisfunctionSet in the whole set

Referenced by Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::size().

template<class... BasisFunctionSets>
int Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::order ( ) const
inline

return order of basis function set, maximal order in the tupleset

Referenced by Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::order().

template<class... BasisFunctionSets>
template<std::size_t... i>
int Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::order ( Std::index_sequence< i... >  ) const
inlineprotected
template<class... BasisFunctionSets>
const ReferenceElementType& Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::referenceElement ( ) const
inline

return entity

template<class... BasisFunctionSets>
std::size_t Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::size ( ) const
inline
template<class... BasisFunctionSets>
template<std::size_t... i>
std::size_t Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::size ( Std::index_sequence< i... >  ) const
inlineprotected
template<class... BasisFunctionSets>
template<int i>
const SubBasisFunctionSet< i >::type& Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::subBasisFunctionSet ( ) const
inline

return i-th subbasisfunctionSet

template<class... BasisFunctionSets>
Dune::GeometryType Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::type ( ) const
inline

Member Data Documentation

template<class... BasisFunctionSets>
const int Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::dimDomain = ContainedFunctionSpaceType::dimDomain
static

size of domian space

template<class... BasisFunctionSets>
constexpr const int Dune::Fem::TupleBasisFunctionSet< BasisFunctionSets >::dimRange = Std::sum( static_cast< int >( BasisFunctionSets::FunctionSpaceType::dimRange ) ... )
static

size of range space


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