dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets > Class Template Reference

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

Public Types

template<std::size_t i>
using SubShapeFunctionSetType = std::tuple_element_t< i, std::tuple< ShapeFunctionSets... > >
 
typedef ToNewDimRangeFunctionSpace< typenameSubShapeFunctionSetType< 0 >::FunctionSpaceType, dimRange >::Type FunctionSpaceType
 
typedef FunctionSpaceType::DomainType DomainType
 
typedef FunctionSpaceType::RangeType RangeType
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 

Public Member Functions

 TupleShapeFunctionSet ()
 
 TupleShapeFunctionSet (GeometryType type)
 
template<class ... Args>
 TupleShapeFunctionSet (Args &&... args)
 
 TupleShapeFunctionSet (const std::tuple< ShapeFunctionSets... > &shapeFunctionSetTuple)
 
int order () const
 
std::size_t size () const
 
template<class Point , class Functor >
void evaluateEach (const Point &x, Functor functor) const
 
template<class Point , class Functor >
void jacobianEach (const Point &x, Functor functor) const
 
template<class Point , class Functor >
void hessianEach (const Point &x, Functor functor) const
 
template<std::size_t i>
const SubShapeFunctionSetType< i > & subShapeFunctionSet (std::integral_constant< std::size_t, i >={}) const
 

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
 

Static Protected Member Functions

template<int >
static GeometryType makeGeometryType (GeometryType type)
 
template<std::size_t ... I>
static std::tuple< decltype(makeGeometryType< I >(std::declval< GeometryType >())) ... > makeGeometryTypeTuple (GeometryType type, std::index_sequence< I ... >)
 

Protected Attributes

std::tuple< ShapeFunctionSets... > shapeFunctionSetTuple_
 
Offset offset_
 

Member Typedef Documentation

◆ DomainType

template<class ... ShapeFunctionSets>
typedef FunctionSpaceType::DomainType Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::DomainType

◆ FunctionSpaceType

template<class ... ShapeFunctionSets>
typedef ToNewDimRangeFunctionSpace<typenameSubShapeFunctionSetType<0>::FunctionSpaceType,dimRange>::Type Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::FunctionSpaceType

◆ HessianRangeType

template<class ... ShapeFunctionSets>
typedef FunctionSpaceType::HessianRangeType Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::HessianRangeType

◆ JacobianRangeType

template<class ... ShapeFunctionSets>
typedef FunctionSpaceType::JacobianRangeType Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::JacobianRangeType

◆ RangeType

template<class ... ShapeFunctionSets>
typedef FunctionSpaceType::RangeType Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::RangeType

◆ SubShapeFunctionSetType

template<class ... ShapeFunctionSets>
template<std::size_t i>
using Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::SubShapeFunctionSetType = std::tuple_element_t< i, std::tuple< ShapeFunctionSets... > >

Constructor & Destructor Documentation

◆ TupleShapeFunctionSet() [1/4]

template<class ... ShapeFunctionSets>
Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::TupleShapeFunctionSet ( )
inline

◆ TupleShapeFunctionSet() [2/4]

template<class ... ShapeFunctionSets>
Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::TupleShapeFunctionSet ( GeometryType  type)
inline

◆ TupleShapeFunctionSet() [3/4]

template<class ... ShapeFunctionSets>
template<class ... Args>
Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::TupleShapeFunctionSet ( Args &&...  args)
inline

◆ TupleShapeFunctionSet() [4/4]

template<class ... ShapeFunctionSets>
Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::TupleShapeFunctionSet ( const std::tuple< ShapeFunctionSets... > &  shapeFunctionSetTuple)
inlineexplicit

Member Function Documentation

◆ evaluateEach()

template<class ... ShapeFunctionSets>
template<class Point , class Functor >
void Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::evaluateEach ( const Point &  x,
Functor  functor 
) const
inline

◆ hessianEach()

template<class ... ShapeFunctionSets>
template<class Point , class Functor >
void Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::hessianEach ( const Point &  x,
Functor  functor 
) const
inline

◆ jacobianEach()

template<class ... ShapeFunctionSets>
template<class Point , class Functor >
void Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::jacobianEach ( const Point &  x,
Functor  functor 
) const
inline

◆ makeGeometryType()

template<class ... ShapeFunctionSets>
template<int >
static GeometryType Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::makeGeometryType ( GeometryType  type)
inlinestaticprotected

◆ makeGeometryTypeTuple()

template<class ... ShapeFunctionSets>
template<std::size_t ... I>
static std::tuple< decltype(makeGeometryType< I >(std::declval< GeometryType >())) ... > Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::makeGeometryTypeTuple ( GeometryType  type,
std::index_sequence< I ... >   
)
inlinestaticprotected

◆ order() [1/2]

template<class ... ShapeFunctionSets>
int Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::order ( ) const
inline

◆ order() [2/2]

template<class ... ShapeFunctionSets>
template<std::size_t ... I>
int Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::order ( std::index_sequence< I ... >  ) const
inlineprotected

◆ size() [1/2]

template<class ... ShapeFunctionSets>
std::size_t Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::size ( ) const
inline

◆ size() [2/2]

template<class ... ShapeFunctionSets>
template<std::size_t ... I>
std::size_t Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::size ( std::index_sequence< I ... >  ) const
inlineprotected

◆ subShapeFunctionSet()

template<class ... ShapeFunctionSets>
template<std::size_t i>
const SubShapeFunctionSetType< i > & Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::subShapeFunctionSet ( std::integral_constant< std::size_t, i >  = {}) const
inline

Member Data Documentation

◆ offset_

template<class ... ShapeFunctionSets>
Offset Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::offset_
protected

◆ shapeFunctionSetTuple_

template<class ... ShapeFunctionSets>
std::tuple< ShapeFunctionSets... > Dune::Fem::TupleShapeFunctionSet< ShapeFunctionSets >::shapeFunctionSetTuple_
protected

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