dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::BindableGridFunction< GridPart, Range > Struct Template Reference

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

Inheritance diagram for Dune::Fem::BindableGridFunction< GridPart, Range >:
Inheritance graph

Public Types

typedef GridPart GridPartType
 
typedef GridPart::template Codim< 0 >::EntityType EntityType
 
typedef EntityGeometryStorage< EntityTypeBaseType
 
typedef GridPart::IntersectionType IntersectionType
 
typedef EntityType::Geometry Geometry
 
typedef Geometry::GlobalCoordinate DomainType
 
typedef Dune::Fem::GridFunctionSpace< GridPartType, Range > FunctionSpaceType
 
typedef FunctionSpaceType::RangeFieldType RangeFieldType
 
typedef FunctionSpaceType::RangeType RangeType
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 
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

 BindableGridFunction (const GridPart &gridPart)
 
void bind (const IntersectionType &intersection, IntersectionSide side)
 
bool continuous () const
 
template<class Point >
DomainType global (const Point &x) const
 
template<class Point >
void evaluate (const Point &x, RangeType &ret) const
 
template<class Quadrature , class RangeArray >
void evaluate (const Quadrature &quadrature, RangeArray &values) const
 
const GridPart & gridPart () const
 
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 std::optional< EntityTypeEntityStorageType
 
typedef std::conditional< storeGeometry, std::optional< Geometry >, Empty >::type GeometryStorageType
 

Protected Member Functions

void copyGeometry (const EntityGeometryStorageImpl &other)
 

Protected Attributes

const GridPart & gridPart_
 
EntityStorageType entity_
 
GeometryStorageType geometry_
 

Member Typedef Documentation

◆ BaseType

template<class GridPart , class Range >
typedef EntityGeometryStorage< EntityType > Dune::Fem::BindableGridFunction< GridPart, Range >::BaseType

◆ ctype

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

type of coordinate field

◆ DomainType

template<class GridPart , class Range >
typedef Geometry::GlobalCoordinate Dune::Fem::BindableGridFunction< GridPart, Range >::DomainType

◆ EntityStorageType

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

◆ EntityType

template<class GridPart , class Range >
typedef GridPart::template Codim<0>::EntityType Dune::Fem::BindableGridFunction< GridPart, Range >::EntityType

◆ FunctionSpaceType

template<class GridPart , class Range >
typedef Dune::Fem::GridFunctionSpace<GridPartType, Range> Dune::Fem::BindableGridFunction< GridPart, Range >::FunctionSpaceType

◆ Geometry

template<class GridPart , class Range >
typedef EntityType::Geometry Dune::Fem::BindableGridFunction< GridPart, Range >::Geometry

◆ GeometryStorageType

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

◆ GridPartType

template<class GridPart , class Range >
typedef GridPart Dune::Fem::BindableGridFunction< GridPart, Range >::GridPartType

◆ HessianRangeType

template<class GridPart , class Range >
typedef FunctionSpaceType::HessianRangeType Dune::Fem::BindableGridFunction< GridPart, Range >::HessianRangeType

◆ IntersectionType

template<class GridPart , class Range >
typedef GridPart::IntersectionType Dune::Fem::BindableGridFunction< GridPart, Range >::IntersectionType

◆ JacobianRangeType

template<class GridPart , class Range >
typedef FunctionSpaceType::JacobianRangeType Dune::Fem::BindableGridFunction< GridPart, Range >::JacobianRangeType

◆ RangeFieldType

template<class GridPart , class Range >
typedef FunctionSpaceType::RangeFieldType Dune::Fem::BindableGridFunction< GridPart, Range >::RangeFieldType

◆ RangeType

template<class GridPart , class Range >
typedef FunctionSpaceType::RangeType Dune::Fem::BindableGridFunction< GridPart, Range >::RangeType

◆ 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

◆ BindableGridFunction()

template<class GridPart , class Range >
Dune::Fem::BindableGridFunction< GridPart, Range >::BindableGridFunction ( const GridPart &  gridPart)
inline

Member Function Documentation

◆ bind() [1/2]

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

◆ bind() [2/2]

template<class GridPart , class Range >
void Dune::Fem::BindableGridFunction< GridPart, Range >::bind ( const IntersectionType intersection,
IntersectionSide  side 
)
inline

◆ continuous()

template<class GridPart , class Range >
bool Dune::Fem::BindableGridFunction< GridPart, Range >::continuous ( ) const
inline

◆ 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

◆ evaluate() [1/2]

template<class GridPart , class Range >
template<class Point >
void Dune::Fem::BindableGridFunction< GridPart, Range >::evaluate ( const Point &  x,
RangeType ret 
) const

◆ evaluate() [2/2]

template<class GridPart , class Range >
template<class Quadrature , class RangeArray >
void Dune::Fem::BindableGridFunction< GridPart, Range >::evaluate ( const Quadrature quadrature,
RangeArray &  values 
) const
inline

◆ geometry()

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

return geometry

◆ global()

template<class GridPart , class Range >
template<class Point >
DomainType Dune::Fem::BindableGridFunction< GridPart, Range >::global ( const Point &  x) const
inline

◆ gridPart()

template<class GridPart , class Range >
const GridPart & Dune::Fem::BindableGridFunction< GridPart, Range >::gridPart ( ) const
inline

◆ referenceElement()

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

return reference element

◆ 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

◆ gridPart_

template<class GridPart , class Range >
const GridPart& Dune::Fem::BindableGridFunction< GridPart, Range >::gridPart_
protected

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