dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets > Class Template Reference

#include <dune/fem/space/basisfunctionset/tuple.hh>

Inheritance diagram for Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >:
Inheritance graph

Classes

struct  CombinationTraits
 
struct  CombinationTraits< dummy, TupleSpaceProduct >
 
struct  CombinationTraits< dummy, TupleSpaceSummation >
 
struct  SubBasisFunctionSet
 

Public Types

typedef Indices< BasisFunctionSets::FunctionSpaceType::dimRange ... > RangeIndices
 helper class to compute static rangeoffsets
 
typedef CombinationType::FunctionSpaceType FunctionSpaceType
 type of analytical combined function space
 
typedef FunctionSpaceType::DomainType DomainType
 type of Domain Vector
 
typedef FunctionSpaceType::RangeType RangeType
 type of Range Vector
 
typedef FunctionSpaceType::RangeFieldType RangeFieldType
 type of Range Vector field
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 type of Jacobian Vector/Matrix
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 type of Hessian Matrix
 
typedef std::tuple_element< 0, BasisFunctionSetTupleType >::type::EntityType EntityType
 type of Entity the basis function set is initialized on
 
typedef std::tuple_element< 0, BasisFunctionSetTupleType >::type::Geometry Geometry
 type of Geometry the basis function set is initialized on
 
typedef std::tuple_element< 0, BasisFunctionSetTupleType >::type::ReferenceElementType ReferenceElementType
 type of reference element for this BasisFunctionSet
 

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
 
std::size_t size () const
 return size of basis function set
 
Dune::GeometryType type () const
 
bool valid () const
 return true if entity was set
 
const EntityTypeentity () const
 return entity
 
const Geometrygeometry () const
 
const ReferenceElementTypereferenceElement () const
 return entity
 
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
 
template<class Point , class DofVector >
void hessianAll (const Point &x, const DofVector &dofs, HessianRangeType &hessian) const
 
template<class QuadratureType , class DofVector , class HessianArray >
void hessianAll (const QuadratureType &quad, const DofVector &dofs, HessianArray &hessians) const
 evaluate the hessian of all basis functions and store the result in the hessians array
 
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 HessianRangeType &hessianFactor, 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
 
std::size_t offset (int i) const
 return offset of the i-th subbasisfunctionSet in the whole set
 

Static Public Member Functions

static int numSubBasisFunctionSets ()
 return number of subBasisFunctionSets
 

Static Public Attributes

static const int dimRange = FunctionSpaceType::dimRange
 size of domain space
 

Protected Types

typedef CombinationTraits< 0, CombineOp > CombinationType
 

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

◆ CombinationType

template<class CombineOp , class ... BasisFunctionSets>
typedef CombinationTraits< 0, CombineOp > Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::CombinationType
protected

◆ DomainType

template<class CombineOp , class ... BasisFunctionSets>
typedef FunctionSpaceType::DomainType Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::DomainType

type of Domain Vector

◆ EntityType

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

type of Entity the basis function set is initialized on

◆ FunctionSpaceType

template<class CombineOp , class ... BasisFunctionSets>
typedef CombinationType::FunctionSpaceType Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::FunctionSpaceType

type of analytical combined function space

◆ Geometry

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

type of Geometry the basis function set is initialized on

◆ HessianRangeType

template<class CombineOp , class ... BasisFunctionSets>
typedef FunctionSpaceType::HessianRangeType Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::HessianRangeType

type of Hessian Matrix

◆ JacobianRangeType

template<class CombineOp , class ... BasisFunctionSets>
typedef FunctionSpaceType::JacobianRangeType Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::JacobianRangeType

type of Jacobian Vector/Matrix

◆ RangeFieldType

template<class CombineOp , class ... BasisFunctionSets>
typedef FunctionSpaceType::RangeFieldType Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::RangeFieldType

type of Range Vector field

◆ RangeIndices

template<class CombineOp , class ... BasisFunctionSets>
typedef Indices< BasisFunctionSets::FunctionSpaceType::dimRange ... > Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::RangeIndices

helper class to compute static rangeoffsets

◆ RangeType

template<class CombineOp , class ... BasisFunctionSets>
typedef FunctionSpaceType::RangeType Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::RangeType

type of Range Vector

◆ ReferenceElementType

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

type of reference element for this BasisFunctionSet

Constructor & Destructor Documentation

◆ TupleBasisFunctionSet() [1/3]

template<class CombineOp , class ... BasisFunctionSets>
Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::TupleBasisFunctionSet ( )
inline

◆ TupleBasisFunctionSet() [2/3]

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

◆ TupleBasisFunctionSet() [3/3]

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

Member Function Documentation

◆ axpy() [1/6]

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

◆ axpy() [2/6]

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

◆ axpy() [3/6]

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

◆ axpy() [4/6]

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

◆ axpy() [5/6]

template<class CombineOp , class ... BasisFunctionSets>
template<class QuadratureType , class Vector , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::axpy ( const QuadratureType &  quad,
const Vector &  values,
DofVector &  dofs 
) const
inline

◆ axpy() [6/6]

template<class CombineOp , class ... BasisFunctionSets>
template<class QuadratureType , class VectorA , class VectorB , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::axpy ( const QuadratureType &  quad,
const VectorA &  valuesA,
const VectorB &  valuesB,
DofVector &  dofs 
) const
inline

◆ entity()

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

return entity

◆ evaluateAll() [1/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::evaluateAll ( const Point &  x,
const DofVector &  dofs,
RangeType value 
) const
inline

◆ evaluateAll() [2/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class Point , class RangeArray >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::evaluateAll ( const Point &  x,
RangeArray &  values 
) const
inline

◆ evaluateAll() [3/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class QuadratureType , class DofVector , class RangeArray >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::evaluateAll ( const QuadratureType &  quad,
const DofVector &  dofs,
RangeArray &  ranges 
) const
inline

◆ geometry()

template<class CombineOp , class ... BasisFunctionSets>
const Geometry & Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::geometry ( ) const
inline

◆ hessianAll() [1/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class Point , class DofVector >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::hessianAll ( const Point &  x,
const DofVector &  dofs,
HessianRangeType hessian 
) const
inline

◆ hessianAll() [2/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class Point , class HessianRangeArray >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::hessianAll ( const Point &  x,
HessianRangeArray &  hessians 
) const
inline

◆ hessianAll() [3/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class QuadratureType , class DofVector , class HessianArray >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::hessianAll ( const QuadratureType &  quad,
const DofVector &  dofs,
HessianArray &  hessians 
) const
inline

evaluate the hessian of all basis functions and store the result in the hessians array

◆ jacobianAll() [1/3]

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

◆ jacobianAll() [2/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class Point , class JacobianRangeArray >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::jacobianAll ( const Point &  x,
JacobianRangeArray &  jacobians 
) const
inline

◆ jacobianAll() [3/3]

template<class CombineOp , class ... BasisFunctionSets>
template<class QuadratureType , class DofVector , class JacobianArray >
void Dune::Fem::TupleBasisFunctionSet< CombineOp, 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

◆ numSubBasisFunctionSets()

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

return number of subBasisFunctionSets

◆ offset()

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

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

◆ order() [1/2]

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

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

◆ order() [2/2]

template<class CombineOp , class ... BasisFunctionSets>
template<std::size_t ... i>
int Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::order ( std::index_sequence< i ... >  ) const
inlineprotected

◆ referenceElement()

template<class CombineOp , class ... BasisFunctionSets>
const ReferenceElementType & Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::referenceElement ( ) const
inline

return entity

◆ size() [1/2]

template<class CombineOp , class ... BasisFunctionSets>
std::size_t Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::size ( ) const
inline

return size of basis function set

◆ size() [2/2]

template<class CombineOp , class ... BasisFunctionSets>
template<std::size_t ... i>
std::size_t Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::size ( std::index_sequence< i ... >  ) const
inlineprotected

◆ subBasisFunctionSet()

template<class CombineOp , class ... BasisFunctionSets>
template<int i>
const SubBasisFunctionSet< i >::type & Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::subBasisFunctionSet ( ) const
inline

return i-th subbasisfunctionSet

◆ type()

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

◆ valid()

template<class CombineOp , class ... BasisFunctionSets>
bool Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::valid ( ) const
inline

return true if entity was set

Member Data Documentation

◆ dimRange

template<class CombineOp , class ... BasisFunctionSets>
const int Dune::Fem::TupleBasisFunctionSet< CombineOp, BasisFunctionSets >::dimRange = FunctionSpaceType::dimRange
static

size of domain space


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