dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
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::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 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

◆ 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

◆ 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: