dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::BasisFunctionSetStorage< Entity, ShapeFunctionSet > Class Template Reference

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

Inheritance diagram for Dune::Fem::BasisFunctionSetStorage< Entity, ShapeFunctionSet >:
Inheritance graph

Public Types

typedef BaseType::EntityType EntityType
 entity type
 
typedef BaseType::Geometry Geometry
 type of geometry
 
typedef ShapeFunctionSet ShapeFunctionSetType
 shape function set type
 
typedef Geometry::ctype ctype
 type of coordinate field
 
typedef std::decay_t< decltype(Dune::ReferenceElements< ctype, Geometry::coorddimension >::general(std::declval< const Dune::GeometryType & >())) > ReferenceElementType
 type of reference element
 

Public Member Functions

 BasisFunctionSetStorage ()
 constructor
 
 BasisFunctionSetStorage (const EntityType &entity, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
 constructor
 
 BasisFunctionSetStorage (const BasisFunctionSetStorage &other)
 
BasisFunctionSetStorageoperator= (const BasisFunctionSetStorage &other)
 
const ShapeFunctionSetTypeshapeFunctionSet () const
 return shape function set
 
int order () const
 return order of basis function set
 
std::size_t size () const
 return size of basis function set
 
const Entityentity () const
 return entity
 
bool valid () const
 return true if entity pointer is set
 
const Geometrygeometry () const
 return geometry
 
Dune::GeometryType type () const
 return geometry type
 
const ReferenceElementTypereferenceElement () const
 return reference element
 
void bind (const EntityType &entity)
 set new entity object and geometry if enabled
 
void unbind ()
 release entity and geometry object
 

Static Public Attributes

static constexpr bool codegenShapeFunctionSet = detail::IsCodegenShapeFunctionSet< ShapeFunctionSetType >::value
 
static const int pointSetId = detail::SelectPointSetId< ShapeFunctionSetType >::value
 

Protected Types

typedef std::optional< EntityTypeEntityStorageType
 
typedef std::conditional< storeGeometry, std::optional< Geometry >, Empty >::type GeometryStorageType
 

Protected Member Functions

void copyGeometry (const EntityGeometryStorageImpl &other)
 

Protected Attributes

ShapeFunctionSetType shapeFunctionSet_
 
EntityStorageType entity_
 
GeometryStorageType geometry_
 

Member Typedef Documentation

◆ ctype

template<class Entity , bool storeGeometry = true>
typedef Geometry::ctype Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::ctype
inherited

type of coordinate field

◆ EntityStorageType

template<class Entity , bool storeGeometry = true>
typedef std::optional< EntityType > Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::EntityStorageType
protectedinherited

◆ EntityType

entity type

◆ Geometry

type of geometry

◆ GeometryStorageType

template<class Entity , bool storeGeometry = true>
typedef std::conditional<storeGeometry,std::optional<Geometry>,Empty>::type Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::GeometryStorageType
protectedinherited

◆ ReferenceElementType

template<class Entity , bool storeGeometry = true>
typedef std::decay_t< decltype( Dune::ReferenceElements< ctype, Geometry::coorddimension >:: general( std::declval< const Dune::GeometryType & >() ) ) > Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::ReferenceElementType
inherited

type of reference element

◆ ShapeFunctionSetType

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

shape function set type

Constructor & Destructor Documentation

◆ BasisFunctionSetStorage() [1/3]

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

constructor

◆ BasisFunctionSetStorage() [2/3]

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

constructor

◆ BasisFunctionSetStorage() [3/3]

template<class Entity , class ShapeFunctionSet >
Dune::Fem::BasisFunctionSetStorage< Entity, ShapeFunctionSet >::BasisFunctionSetStorage ( const BasisFunctionSetStorage< Entity, ShapeFunctionSet > &  other)
inline

Member Function Documentation

◆ bind()

template<class Entity , bool storeGeometry = true>
void Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::bind ( const EntityType entity)
inlineinherited

set new entity object and geometry if enabled

◆ copyGeometry()

template<class Entity , bool storeGeometry = true>
void Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::copyGeometry ( const EntityGeometryStorageImpl< Entity, storeGeometry > &  other)
inlineprotectedinherited

◆ entity()

template<class Entity , bool storeGeometry = true>
const Entity & Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::entity ( ) const
inlineinherited

return entity

◆ geometry()

template<class Entity , bool storeGeometry = true>
const Geometry & Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::geometry ( ) const
inlineinherited

return geometry

◆ operator=()

◆ order()

template<class Entity , class ShapeFunctionSet >
int Dune::Fem::BasisFunctionSetStorage< Entity, ShapeFunctionSet >::order ( ) const
inline

return order of basis function set

◆ referenceElement()

template<class Entity , bool storeGeometry = true>
const ReferenceElementType & Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::referenceElement ( ) const
inlineinherited

return reference element

◆ shapeFunctionSet()

template<class Entity , class ShapeFunctionSet >
const ShapeFunctionSetType & Dune::Fem::BasisFunctionSetStorage< Entity, ShapeFunctionSet >::shapeFunctionSet ( ) const
inline

return shape function set

◆ size()

return size of basis function set

◆ type()

template<class Entity , bool storeGeometry = true>
Dune::GeometryType Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::type ( ) const
inlineinherited

return geometry type

◆ unbind()

template<class Entity , bool storeGeometry = true>
void Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::unbind ( )
inlineinherited

release entity and geometry object

◆ valid()

template<class Entity , bool storeGeometry = true>
bool Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::valid ( ) const
inlineinherited

return true if entity pointer is set

Member Data Documentation

◆ codegenShapeFunctionSet

template<class Entity , class ShapeFunctionSet >
constexpr bool Dune::Fem::BasisFunctionSetStorage< Entity, ShapeFunctionSet >::codegenShapeFunctionSet = detail::IsCodegenShapeFunctionSet< ShapeFunctionSetType >::value
staticconstexpr

◆ entity_

template<class Entity , bool storeGeometry = true>
EntityStorageType Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::entity_
protectedinherited

◆ geometry_

template<class Entity , bool storeGeometry = true>
GeometryStorageType Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::geometry_
protectedinherited

◆ pointSetId

template<class Entity , class ShapeFunctionSet >
const int Dune::Fem::BasisFunctionSetStorage< Entity, ShapeFunctionSet >::pointSetId = detail::SelectPointSetId< ShapeFunctionSetType >::value
static

◆ shapeFunctionSet_


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