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

Protected Types

typedef EntityGeometryStorage< EntityBaseType
 
typedef std::optional< EntityTypeEntityStorageType
 
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: