dune-foamgrid  2.8-git
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Dune::FoamGridEntity< 0, 2, GridImp > Class Template Reference

Specialization for codim-0-entities, i.e., elements for dimgrid==2. More...

#include <dune/foamgrid/foamgrid/foamgridentity.hh>

Inheritance diagram for Dune::FoamGridEntity< 0, 2, GridImp >:
Inheritance graph

Classes

struct  Codim
 

Public Types

typedef GridImp::template Codim< 0 >::Geometry Geometry
 
typedef GridImp::template Codim< 0 >::LocalGeometry LocalGeometry
 
typedef FoamGridLevelIntersectionIterator< GridImp > LevelIntersectionIterator
 The Iterator over intersections on this level. More...
 
typedef FoamGridLeafIntersectionIterator< GridImp > LeafIntersectionIterator
 The Iterator over intersections on the leaf level. More...
 
typedef FoamGridHierarchicIterator< GridImp > HierarchicIterator
 Iterator over descendants of the entity. More...
 
typedef GridImp::template Codim< 0 >::EntitySeed EntitySeed
 The type of the EntitySeed interface class. More...
 
typedef GridImp::Traits::template Codim< 0 >::Entity Entity
 

Public Member Functions

 FoamGridEntity (const FoamGridEntityImp< dimgrid, dimgrid, dimworld, ctype > *hostEntity)
 Constructor for an entity in a given grid level. More...
 
 FoamGridEntity (const FoamGridEntity &original)
 Copy constructor. More...
 
 FoamGridEntity ()
 Default constructor. More...
 
FoamGridEntityoperator= (const FoamGridEntity &original)
 
int level () const
 Level of this element. More...
 
PartitionType partitionType () const
 The partition type for parallel computing. More...
 
Geometry geometry () const
 Geometry of this entity. More...
 
EntitySeed seed () const
 Create EntitySeed. More...
 
template<int cc>
int count () const
 Return the number of subEntities of codimension cc. More...
 
unsigned int count (unsigned int codim) const
 Return the number of subEntities of codimension cc. More...
 
unsigned int subEntities (unsigned int codim) const
 
int subId (int i, unsigned int codim) const
 Return index of sub entity with codim = cc and local number i. More...
 
template<int codim>
std::enable_if< codim==0, typename Codim< 0 >::Entity >::type subEntity (int i) const
 Access to codim 0 subentities. More...
 
template<int codim>
std::enable_if< codim==1, typename Codim< 1 >::Entity >::type subEntity (int i) const
 Access to codim 1 subentities. More...
 
template<int codim>
std::enable_if< codim==2, typename Codim< 2 >::Entity >::type subEntity (int i) const
 Access to codim 2 subentities. More...
 
FoamGridLevelIntersectionIterator< GridImp > ilevelbegin () const
 First level intersection. More...
 
FoamGridLevelIntersectionIterator< GridImp > ilevelend () const
 Reference to one past the last neighbor. More...
 
FoamGridLeafIntersectionIterator< GridImp > ileafbegin () const
 First leaf intersection. More...
 
FoamGridLeafIntersectionIterator< GridImp > ileafend () const
 Reference to one past the last leaf intersection. More...
 
bool isLeaf () const
 returns true if Entity has NO children More...
 
bool hasFather () const
 Return true if this element has a father element. More...
 
bool isNew () const
 
bool mightVanish () const
 
Entity father () const
 
LocalGeometry geometryInFather () const
 Location of this element relative to the reference element element of the father. This is sufficient to interpolate all dofs in conforming case. Nonconforming may require access to neighbors of father and computations with local coordinates. On the fly case is somewhat inefficient since dofs are visited several times. If we store interpolation matrices, this is tolerable. We assume that on-the-fly implementation of numerical algorithms is only done for simple discretizations. Assumes that meshes are nested. More...
 
FoamGridHierarchicIterator< GridImp > hbegin (int maxLevel) const
 Inter-level access to son elements on higher levels<=maxlevel. This is provided for sparsely stored nested unstructured meshes. Returns iterator to first son. More...
 
FoamGridHierarchicIterator< GridImp > hend (int maxLevel) const
 Returns iterator to one past the last son. More...
 
void setToTarget (const FoamGridEntityImp< dimgrid, dimgrid, dimworld, ctype > *target)
 Make this class point to a new FoamGridEntityImp object. More...
 
bool equals (const Dune::FoamGridEntity< 0, dimgrid, GridImp > &other) const
 equality More...
 
GeometryType type () const
 return the entity's type More...
 

Public Attributes

const FoamGridEntityImp< dimgrid, dimgrid,dimworld, ctype > * target_
 pointer to the implementation More...
 

Detailed Description

template<class GridImp>
class Dune::FoamGridEntity< 0, 2, GridImp >

Specialization for codim-0-entities, i.e., elements for dimgrid==2.

This class embodies the topological parts of elements of the grid. It has an extended interface compared to the general entity class. For example, Entities of codimension 0 allow to visit all neighbors.

Member Typedef Documentation

◆ Entity

template<class GridImp >
typedef GridImp::Traits::template Codim<0>::Entity Dune::FoamGridEntity< 0, 2, GridImp >::Entity

◆ EntitySeed

template<class GridImp >
typedef GridImp::template Codim<0>::EntitySeed Dune::FoamGridEntity< 0, 2, GridImp >::EntitySeed

The type of the EntitySeed interface class.

◆ Geometry

template<class GridImp >
typedef GridImp::template Codim<0>::Geometry Dune::FoamGridEntity< 0, 2, GridImp >::Geometry

◆ HierarchicIterator

template<class GridImp >
typedef FoamGridHierarchicIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::HierarchicIterator

Iterator over descendants of the entity.

◆ LeafIntersectionIterator

template<class GridImp >
typedef FoamGridLeafIntersectionIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::LeafIntersectionIterator

The Iterator over intersections on the leaf level.

◆ LevelIntersectionIterator

template<class GridImp >
typedef FoamGridLevelIntersectionIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::LevelIntersectionIterator

The Iterator over intersections on this level.

◆ LocalGeometry

template<class GridImp >
typedef GridImp::template Codim<0>::LocalGeometry Dune::FoamGridEntity< 0, 2, GridImp >::LocalGeometry

Constructor & Destructor Documentation

◆ FoamGridEntity() [1/3]

template<class GridImp >
Dune::FoamGridEntity< 0, 2, GridImp >::FoamGridEntity ( const FoamGridEntityImp< dimgrid, dimgrid, dimworld, ctype > *  hostEntity)
inlineexplicit

Constructor for an entity in a given grid level.

◆ FoamGridEntity() [2/3]

template<class GridImp >
Dune::FoamGridEntity< 0, 2, GridImp >::FoamGridEntity ( const FoamGridEntity< 0, 2, GridImp > &  original)
inline

Copy constructor.

◆ FoamGridEntity() [3/3]

template<class GridImp >
Dune::FoamGridEntity< 0, 2, GridImp >::FoamGridEntity ( )
inline

Default constructor.

Member Function Documentation

◆ count() [1/2]

template<class GridImp >
template<int cc>
int Dune::FoamGridEntity< 0, 2, GridImp >::count ( ) const
inline

Return the number of subEntities of codimension cc.

◆ count() [2/2]

template<class GridImp >
unsigned int Dune::FoamGridEntity< 0, 2, GridImp >::count ( unsigned int  codim) const
inline

Return the number of subEntities of codimension cc.

◆ equals()

template<class GridImp >
bool Dune::FoamGridEntity< 0, 2, GridImp >::equals ( const Dune::FoamGridEntity< 0, dimgrid, GridImp > &  other) const
inline

equality

◆ father()

template<class GridImp >
Entity Dune::FoamGridEntity< 0, 2, GridImp >::father ( ) const
inline

Inter-level access to father element on coarser grid. Assumes that meshes are nested.

◆ geometry()

template<class GridImp >
Geometry Dune::FoamGridEntity< 0, 2, GridImp >::geometry ( ) const
inline

Geometry of this entity.

◆ geometryInFather()

template<class GridImp >
LocalGeometry Dune::FoamGridEntity< 0, 2, GridImp >::geometryInFather ( ) const
inline

Location of this element relative to the reference element element of the father. This is sufficient to interpolate all dofs in conforming case. Nonconforming may require access to neighbors of father and computations with local coordinates. On the fly case is somewhat inefficient since dofs are visited several times. If we store interpolation matrices, this is tolerable. We assume that on-the-fly implementation of numerical algorithms is only done for simple discretizations. Assumes that meshes are nested.

◆ hasFather()

template<class GridImp >
bool Dune::FoamGridEntity< 0, 2, GridImp >::hasFather ( ) const
inline

Return true if this element has a father element.

◆ hbegin()

template<class GridImp >
FoamGridHierarchicIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::hbegin ( int  maxLevel) const
inline

Inter-level access to son elements on higher levels<=maxlevel. This is provided for sparsely stored nested unstructured meshes. Returns iterator to first son.

◆ hend()

template<class GridImp >
FoamGridHierarchicIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::hend ( int  maxLevel) const
inline

Returns iterator to one past the last son.

◆ ileafbegin()

template<class GridImp >
FoamGridLeafIntersectionIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::ileafbegin ( ) const
inline

First leaf intersection.

◆ ileafend()

template<class GridImp >
FoamGridLeafIntersectionIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::ileafend ( ) const
inline

Reference to one past the last leaf intersection.

◆ ilevelbegin()

template<class GridImp >
FoamGridLevelIntersectionIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::ilevelbegin ( ) const
inline

First level intersection.

◆ ilevelend()

template<class GridImp >
FoamGridLevelIntersectionIterator<GridImp> Dune::FoamGridEntity< 0, 2, GridImp >::ilevelend ( ) const
inline

Reference to one past the last neighbor.

◆ isLeaf()

template<class GridImp >
bool Dune::FoamGridEntity< 0, 2, GridImp >::isLeaf ( ) const
inline

returns true if Entity has NO children

◆ isNew()

template<class GridImp >
bool Dune::FoamGridEntity< 0, 2, GridImp >::isNew ( ) const
inline

◆ level()

template<class GridImp >
int Dune::FoamGridEntity< 0, 2, GridImp >::level ( ) const
inline

Level of this element.

◆ mightVanish()

template<class GridImp >
bool Dune::FoamGridEntity< 0, 2, GridImp >::mightVanish ( ) const
inline

◆ operator=()

template<class GridImp >
FoamGridEntity& Dune::FoamGridEntity< 0, 2, GridImp >::operator= ( const FoamGridEntity< 0, 2, GridImp > &  original)
inline
Todo:
Please doc me !

◆ partitionType()

template<class GridImp >
PartitionType Dune::FoamGridEntity< 0, 2, GridImp >::partitionType ( ) const
inline

The partition type for parallel computing.

◆ seed()

template<class GridImp >
EntitySeed Dune::FoamGridEntity< 0, 2, GridImp >::seed ( ) const
inline

Create EntitySeed.

◆ setToTarget()

template<class GridImp >
void Dune::FoamGridEntity< 0, 2, GridImp >::setToTarget ( const FoamGridEntityImp< dimgrid, dimgrid, dimworld, ctype > *  target)
inline

Make this class point to a new FoamGridEntityImp object.

◆ subEntities()

template<class GridImp >
unsigned int Dune::FoamGridEntity< 0, 2, GridImp >::subEntities ( unsigned int  codim) const
inline

Return number of subentities with codimension cc.

That number is (dim over (dim-codim)) times 2^codim

◆ subEntity() [1/3]

template<class GridImp >
template<int codim>
std::enable_if<codim==0, typename Codim<0>::Entity>::type Dune::FoamGridEntity< 0, 2, GridImp >::subEntity ( int  i) const
inline

Access to codim 0 subentities.

◆ subEntity() [2/3]

template<class GridImp >
template<int codim>
std::enable_if<codim==1, typename Codim<1>::Entity>::type Dune::FoamGridEntity< 0, 2, GridImp >::subEntity ( int  i) const
inline

Access to codim 1 subentities.

◆ subEntity() [3/3]

template<class GridImp >
template<int codim>
std::enable_if<codim==2, typename Codim<2>::Entity>::type Dune::FoamGridEntity< 0, 2, GridImp >::subEntity ( int  i) const
inline

Access to codim 2 subentities.

◆ subId()

template<class GridImp >
int Dune::FoamGridEntity< 0, 2, GridImp >::subId ( int  i,
unsigned int  codim 
) const
inline

Return index of sub entity with codim = cc and local number i.

◆ type()

template<class GridImp >
GeometryType Dune::FoamGridEntity< 0, 2, GridImp >::type ( ) const
inline

return the entity's type

Member Data Documentation

◆ target_

template<class GridImp >
const FoamGridEntityImp<dimgrid, dimgrid ,dimworld, ctype>* Dune::FoamGridEntity< 0, 2, GridImp >::target_

pointer to the implementation


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