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

convert (global) function set to local function set More...

#include <dune/fem/function/localfunction/localfunctionsetadapter.hh>

Inheritance diagram for Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >:
Inheritance graph

Public Types

typedef BaseType::EntityType EntityType
 entity type
 
typedef BaseType::Geometry Geometry
 geometry
 
typedef FunctionSet FunctionSetType
 function set type
 
typedef FunctionSet::FunctionSpaceType FunctionSpaceType
 function space type
 
typedef FunctionSpaceType::DomainType DomainType
 domain type
 
typedef FunctionSpaceType::RangeType RangeType
 range type
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 jacobian range type
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 hessian range 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

 LocalFunctionSetAdapter (const FunctionSet &functionSet=FunctionSet())
 
 LocalFunctionSetAdapter (const Entity &entity, const FunctionSet &functionSet=FunctionSet())
 
int order () const
 return order of basis functions
 
std::size_t size () const
 return number of basis functions
 
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
 
const FunctionSetType functionSet () const
 return function set
 
const Entity & entity () const
 return entity
 
bool valid () const
 return true if entity pointer is set
 
const Geometry & geometry () const
 return geometry
 
Dune::GeometryType type () const
 return geometry type
 
const ReferenceElementType & referenceElement () const
 return reference element
 
void bind (const EntityType &entity)
 set new entity object and geometry if enabled
 
void unbind ()
 release entity and geometry object
 

Protected Types

typedef EntityGeometryStorage< Entity > BaseType
 
typedef std::optional< EntityType > EntityStorageType
 
typedef std::conditional< storeGeometry, std::optional< Geometry >, Empty >::type GeometryStorageType
 

Protected Member Functions

void copyGeometry (const EntityGeometryStorageImpl &other)
 

Protected Attributes

EntityStorageType entity_
 
GeometryStorageType geometry_
 

Detailed Description

template<class Entity, class FunctionSet>
class Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >

convert (global) function set to local function set

Template Parameters
Entityentity type
FunctionSetimplementation of FunctionSet

Member Typedef Documentation

◆ BaseType

template<class Entity , class FunctionSet >
typedef EntityGeometryStorage< Entity > Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::BaseType
protected

◆ ctype

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

type of coordinate field

◆ DomainType

domain type

◆ EntityStorageType

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

◆ EntityType

entity type

◆ FunctionSetType

template<class Entity , class FunctionSet >
typedef FunctionSet Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::FunctionSetType

function set type

◆ FunctionSpaceType

function space type

◆ Geometry

geometry

◆ GeometryStorageType

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

◆ HessianRangeType

hessian range type

◆ JacobianRangeType

jacobian range type

◆ RangeType

range type

◆ 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

Constructor & Destructor Documentation

◆ LocalFunctionSetAdapter() [1/2]

template<class Entity , class FunctionSet >
Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::LocalFunctionSetAdapter ( const FunctionSet &  functionSet = FunctionSet())
inlineexplicit

◆ LocalFunctionSetAdapter() [2/2]

template<class Entity , class FunctionSet >
Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::LocalFunctionSetAdapter ( const Entity &  entity,
const FunctionSet &  functionSet = FunctionSet() 
)
inlineexplicit

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

◆ evaluateEach()

template<class Entity , class FunctionSet >
template<class Point , class Functor >
void Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::evaluateEach ( const Point &  x,
Functor  functor 
) const
inline

◆ functionSet()

template<class Entity , class FunctionSet >
const FunctionSetType Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::functionSet ( ) const
inline

return function set

◆ geometry()

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

return geometry

◆ hessianEach()

template<class Entity , class FunctionSet >
template<class Point , class Functor >
void Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::hessianEach ( const Point &  x,
Functor  functor 
) const
inline

◆ jacobianEach()

template<class Entity , class FunctionSet >
template<class Point , class Functor >
void Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::jacobianEach ( const Point &  x,
Functor  functor 
) const
inline

◆ order()

template<class Entity , class FunctionSet >
int Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::order ( ) const
inline

return order of basis functions

◆ referenceElement()

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

return reference element

◆ size()

template<class Entity , class FunctionSet >
std::size_t Dune::Fem::LocalFunctionSetAdapter< Entity, FunctionSet >::size ( ) const
inline

return number of basis functions

◆ 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

◆ 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

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