Dune::ALU3dGridEntity< 0, dim, GridImp > Class Template Reference

#include <dune/grid/alugrid/3d/entity.hh>

Inheritance diagram for Dune::ALU3dGridEntity< 0, dim, GridImp >:
Inheritance graph

List of all members.

Classes

struct  Codim

Public Types

typedef
GridImp::GridObjectFactoryType 
FactoryType
typedef GridImp::template
Codim< 0 >::Geometry 
Geometry
typedef ALU3dGridGeometry< dim,
dimworld, GridImp > 
GeometryImp
typedef
MakeableInterfaceObject
< Geometry
GeometryObject
typedef
ALU3dGridIntersectionIterator
< GridImp > 
IntersectionIteratorImp
typedef
LeafIntersectionIteratorWrapper
< GridImp > 
ALU3dGridIntersectionIteratorType
typedef
LeafIntersectionIteratorWrapper
< GridImp > 
ALU3dGridLeafIntersectionIteratorType
typedef
LevelIntersectionIteratorWrapper
< GridImp > 
ALU3dGridLevelIntersectionIteratorType
typedef GridImp::template
Codim< 0 >::Entity 
Entity
typedef GridImp::template
Codim< 0 >::EntityPointer 
EntityPointer
 The corresponding entity seed (for storage of entities).
typedef GridImp::template
Codim< 0 >::EntitySeed 
EntitySeed
 typedef of my type
enum  
 

know your own codimension

More...
enum  
 

know your own dimension

More...
enum  
 

Know dimension of the entity.

More...
enum  
 

know your own dimension of world

More...
typedef GridImp::ctype ctype
 define type used for coordinates in grid module

Public Member Functions

 ALU3dGridEntity (const FactoryType &factory, int level)
 Constructor creating empty Entity.
 ALU3dGridEntity (const ALU3dGridEntity &org)
 copy Constructor
int level () const
 level of this element
const Geometrygeometry () const
 geometry of this entity
GeometryType type () const
 type of geometry of this entity
PartitionType partitionType () const
 return partition type of this entity ( see grid.hh )
template<int cc>
int count () const
template<int codim>
Codim< codim >::EntityPointer entity (int i) const
template<int codim>
Codim< codim >::EntityPointer subEntity (int i) const
ALU3dGridLeafIntersectionIteratorType ileafbegin () const
ALU3dGridLeafIntersectionIteratorType ileafend () const
 Reference to one past the last intersection with neighbor.
ALU3dGridLevelIntersectionIteratorType ilevelbegin () const
ALU3dGridLevelIntersectionIteratorType ilevelend () const
 Reference to one past the last intersection with neighbor.
bool isLeaf () const
 returns true if Entity is leaf (i.e. has no children)
EntityPointer father () const
bool hasFather () const
 returns true if father entity exists
const GeometrygeometryInFather () const
ALU3dGridHierarchicIterator
< GridImp > 
hbegin (int maxlevel) const
ALU3dGridHierarchicIterator
< GridImp > 
hend (int maxlevel) const
 Returns iterator to one past the last son.
bool isNew () const
 returns true, if entity was created during last adaptation cycle
bool mightVanish () const
 returns true, if entity might be coarsened during next adaptation cycle
bool hasBoundaryIntersections () const
 returns true, if entity has intersections with boundary
bool mark (int refCount) const
int getMark () const
 return current adaptation mark for this entity
void setElement (HElementType &element)
void setElement (const EntitySeed &seed)
void setGhost (HBndSegType &ghost)
 set original element pointer to fake entity
void reset (int l)
 set actual walk level
void removeElement ()
 set item pointer to NULL
bool equals (const ALU3dGridEntity< 0, dim, GridImp > &org) const
 compare 2 entities, which means compare the item pointers
void setEntity (const ALU3dGridEntity< 0, dim, GridImp > &org)
template<int cc>
int getSubIndex (int i) const
int subIndex (int i, unsigned int codim) const
const IMPLElementType & getItem () const
const BNDFaceType & getGhost () const
const GridImp & grid () const
 return reference to grid
const FactoryTypefactory () const
 return reference to factory
bool isGhost () const
 returns true if entity is ghost
EntitySeed seed () const
 return key for this entity

Friends

class ALU3dGrid< elementType, Comm >
class ALU3dGridIntersectionIterator< GridImp >
class ALU3dGridIntersectionIterator< const GridImp >
class ALU3dGridHierarchicIterator< const GridImp >
class ALU3dGridHierarchicIterator< GridImp >
class ALU3dGridLevelIterator< 0, All_Partition, GridImp >
class ALU3dGridLevelIterator< 1, All_Partition, GridImp >
class ALU3dGridLevelIterator< 2, All_Partition, GridImp >
class ALU3dGridLevelIterator< 3, All_Partition, GridImp >
class ALU3dGridLeafIterator< 0, All_Partition, GridImp >
class ALU3dGridLeafIterator< 1, All_Partition, GridImp >
class ALU3dGridLeafIterator< 2, All_Partition, GridImp >
class ALU3dGridLeafIterator< 3, All_Partition, GridImp >
class ALU3dGridHierarchicIndexSet< elementType, Comm >
class ALU3dGridFactory

Detailed Description

template<int dim, class GridImp>
class Dune::ALU3dGridEntity< 0, dim, GridImp >

A Grid is a container of grid entities. An entity is parametrized by the codimension. An entity of codimension c in dimension d is a d-c dimensional object.

Entities of codimension 0 ("elements") are defined through template specialization. Note that this specialization has an extended interface compared to the general case

Entities of codimension 0 allow to visit all neighbors, where a neighbor is an entity of codimension 0 which has a common entity of codimension 1 with the These neighbors are accessed via an iterator. This allows the implementation of non-matching meshes. The number of neigbors may be different from the number of faces/edges of an element!


Member Typedef Documentation

template<int dim, class GridImp >
typedef LeafIntersectionIteratorWrapper<GridImp> Dune::ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridIntersectionIteratorType
template<int dim, class GridImp >
typedef LeafIntersectionIteratorWrapper<GridImp> Dune::ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLeafIntersectionIteratorType
template<int dim, class GridImp >
typedef LevelIntersectionIteratorWrapper<GridImp> Dune::ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLevelIntersectionIteratorType
typedef GridImp::ctype Dune::EntityDefaultImplementation< cd, dim, GridImp, ALU3dGridEntity >::ctype [inherited]

define type used for coordinates in grid module

template<int dim, class GridImp >
typedef GridImp::template Codim<0>::Entity Dune::ALU3dGridEntity< 0, dim, GridImp >::Entity
template<int dim, class GridImp >
typedef GridImp::template Codim<0>::EntityPointer Dune::ALU3dGridEntity< 0, dim, GridImp >::EntityPointer

The corresponding entity seed (for storage of entities).

Reimplemented from Dune::EntityDefaultImplementation< 0, dim, GridImp, ALU3dGridEntity >.

template<int dim, class GridImp >
typedef GridImp::template Codim<0>::EntitySeed Dune::ALU3dGridEntity< 0, dim, GridImp >::EntitySeed
template<int dim, class GridImp >
typedef GridImp::GridObjectFactoryType Dune::ALU3dGridEntity< 0, dim, GridImp >::FactoryType
template<int dim, class GridImp >
typedef GridImp::template Codim<0>::Geometry Dune::ALU3dGridEntity< 0, dim, GridImp >::Geometry
template<int dim, class GridImp >
typedef ALU3dGridGeometry<dim,dimworld,GridImp> Dune::ALU3dGridEntity< 0, dim, GridImp >::GeometryImp
template<int dim, class GridImp >
typedef MakeableInterfaceObject<Geometry> Dune::ALU3dGridEntity< 0, dim, GridImp >::GeometryObject
template<int dim, class GridImp >
typedef ALU3dGridIntersectionIterator<GridImp> Dune::ALU3dGridEntity< 0, dim, GridImp >::IntersectionIteratorImp

Member Enumeration Documentation

anonymous enum [inherited]

know your own codimension

anonymous enum [inherited]

know your own dimension

anonymous enum [inherited]

Know dimension of the entity.

anonymous enum [inherited]

know your own dimension of world


Constructor & Destructor Documentation

template<int dim, class GridImp >
Dune::ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridEntity ( const FactoryType factory,
int  level 
)

Constructor creating empty Entity.

template<int dim, class GridImp >
Dune::ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridEntity ( const ALU3dGridEntity< 0, dim, GridImp > &  org  ) 

copy Constructor


Member Function Documentation

template<int dim, class GridImp >
template<int cc>
int Dune::ALU3dGridEntity< 0, dim, GridImp >::count (  )  const [inline]

Intra-element access to entities of codimension cc > codim. Return number of entities with codimension cc.

References Dune::ALU3dGridEntity< cd, dim, GridImp >::grid().

template<int dim, class GridImp >
template<int codim>
Codim< codim >::EntityPointer Dune::ALU3dGridEntity< 0, dim, GridImp >::entity ( int  i  )  const [inline]

Provide access to mesh entity i of given codimension. Entities are numbered 0 ... count<cc>()-1

References Dune::ALU3dGridEntity< cd, dim, GridImp >::type().

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::equals ( const ALU3dGridEntity< 0, dim, GridImp > &  org  )  const [inline]

compare 2 entities, which means compare the item pointers

template<int dim, class GridImp >
const FactoryType& Dune::ALU3dGridEntity< 0, dim, GridImp >::factory (  )  const [inline]

return reference to factory

template<int dim, class GridImp >
EntityPointer Dune::ALU3dGridEntity< 0, dim, GridImp >::father (  )  const

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

template<int dim, class GridImp >
const Geometry& Dune::ALU3dGridEntity< 0, dim, GridImp >::geometry (  )  const

geometry of this entity

template<int dim, class GridImp >
const Geometry& Dune::ALU3dGridEntity< 0, dim, GridImp >::geometryInFather (  )  const

Location of this element relative to the reference 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.

template<int dim, class GridImp >
const BNDFaceType& Dune::ALU3dGridEntity< 0, dim, GridImp >::getGhost (  )  const [inline]
template<int dim, class GridImp >
const IMPLElementType& Dune::ALU3dGridEntity< 0, dim, GridImp >::getItem (  )  const [inline]
template<int dim, class GridImp >
int Dune::ALU3dGridEntity< 0, dim, GridImp >::getMark (  )  const

return current adaptation mark for this entity

template<int dim, class GridImp >
template<int cc>
int Dune::ALU3dGridEntity< 0, dim, GridImp >::getSubIndex ( int  i  )  const

return index of sub entity with codim = cc and local number i i.e. return global number of vertex i for use in hierarchical index set

template<int dim, class GridImp >
const GridImp& Dune::ALU3dGridEntity< 0, dim, GridImp >::grid (  )  const [inline]

return reference to grid

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::hasBoundaryIntersections (  )  const

returns true, if entity has intersections with boundary

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::hasFather (  )  const [inline]

returns true if father entity exists

References Dune::ALU3dGridEntity< cd, dim, GridImp >::level().

template<int dim, class GridImp >
ALU3dGridHierarchicIterator< GridImp > Dune::ALU3dGridEntity< 0, dim, 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.

template<int dim, class GridImp >
ALU3dGridHierarchicIterator< GridImp > Dune::ALU3dGridEntity< 0, dim, GridImp >::hend ( int  maxlevel  )  const [inline]

Returns iterator to one past the last son.

template<int dim, class GridImp >
ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLeafIntersectionIteratorType Dune::ALU3dGridEntity< 0, dim, GridImp >::ileafbegin (  )  const [inline]

Access to intersection with neighboring elements that are leaf elements. A neighbor is an entity of codimension 0 which has an entity of codimension 1 in commen with this entity. Access to neighbors is provided using iterators. This allows meshes to be nonmatching. Returns iterator referencing the first neighbor.

References Dune::ALU3dGridEntity< cd, dim, GridImp >::level().

template<int dim, class GridImp >
ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLeafIntersectionIteratorType Dune::ALU3dGridEntity< 0, dim, GridImp >::ileafend (  )  const [inline]

Reference to one past the last intersection with neighbor.

References Dune::ALU3dGridEntity< cd, dim, GridImp >::level().

template<int dim, class GridImp >
ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLevelIntersectionIteratorType Dune::ALU3dGridEntity< 0, dim, GridImp >::ilevelbegin (  )  const [inline]

Intra-level access to intersection with neighboring elements. A neighbor is an entity of codimension 0 which has an entity of codimension 1 in commen with this entity. Access to neighbors is provided using iterators. This allows meshes to be nonmatching. Returns iterator referencing the first neighbor.

References Dune::ALU3dGridEntity< cd, dim, GridImp >::level().

template<int dim, class GridImp >
ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLevelIntersectionIteratorType Dune::ALU3dGridEntity< 0, dim, GridImp >::ilevelend (  )  const [inline]

Reference to one past the last intersection with neighbor.

References Dune::ALU3dGridEntity< cd, dim, GridImp >::level().

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::isGhost (  )  const [inline]

returns true if entity is ghost

Referenced by Dune::ALU3dGridEntityPointer< 0, GridImp >::ALU3dGridEntityPointer().

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::isLeaf (  )  const [inline]

returns true if Entity is leaf (i.e. has no children)

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::isNew (  )  const [inline]

returns true, if entity was created during last adaptation cycle

template<int dim, class GridImp >
int Dune::ALU3dGridEntity< 0, dim, GridImp >::level (  )  const [inline]

level of this element

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::mark ( int  refCount  )  const

marks an element for refCount refines. if refCount is negative the element is coarsend -refCount times mark returns true if element was marked, otherwise false

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::mightVanish (  )  const [inline]

returns true, if entity might be coarsened during next adaptation cycle

template<int dim, class GridImp >
PartitionType Dune::ALU3dGridEntity< 0, dim, GridImp >::partitionType (  )  const [inline]

return partition type of this entity ( see grid.hh )

References Dune::GhostEntity.

template<int dim, class GridImp >
void Dune::ALU3dGridEntity< 0, dim, GridImp >::removeElement (  )  [inline]

set item pointer to NULL

template<int dim, class GridImp >
void Dune::ALU3dGridEntity< 0, dim, GridImp >::reset ( int  l  )  [inline]

set actual walk level

template<int dim, class GridImp >
EntitySeed Dune::ALU3dGridEntity< 0, dim, GridImp >::seed (  )  const [inline]
template<int dim, class GridImp >
void Dune::ALU3dGridEntity< 0, dim, GridImp >::setElement ( HElementType &  element  )  [inline]

private methods, but public because of datahandle and template arguments of these methods

template<int dim, class GridImp >
void Dune::ALU3dGridEntity< 0, dim, GridImp >::setElement ( const EntitySeed seed  )  [inline]
template<int dim, class GridImp >
void Dune::ALU3dGridEntity< 0, dim, GridImp >::setEntity ( const ALU3dGridEntity< 0, dim, GridImp > &  org  )  [inline]
template<int dim, class GridImp >
void Dune::ALU3dGridEntity< 0, dim, GridImp >::setGhost ( HBndSegType &  ghost  )  [inline]

set original element pointer to fake entity

template<int dim, class GridImp >
template<int codim>
Codim< codim >::EntityPointer Dune::ALU3dGridEntity< 0, dim, GridImp >::subEntity ( int  i  )  const
template<int dim, class GridImp >
int Dune::ALU3dGridEntity< 0, dim, GridImp >::subIndex ( int  i,
unsigned int  codim 
) const

return index of sub entity with codim = cc and local number i i.e. return global number of vertex i for use in hierarchical index set

template<int dim, class GridImp >
GeometryType Dune::ALU3dGridEntity< 0, dim, GridImp >::type (  )  const [inline]

Friends And Related Function Documentation

template<int dim, class GridImp >
friend class ALU3dGrid< elementType, Comm > [friend]
template<int dim, class GridImp >
friend class ALU3dGridFactory [friend]
template<int dim, class GridImp >
friend class ALU3dGridHierarchicIndexSet< elementType, Comm > [friend]
template<int dim, class GridImp >
friend class ALU3dGridHierarchicIterator< const GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridHierarchicIterator< GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridIntersectionIterator< const GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridIntersectionIterator< GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLeafIterator< 0, All_Partition, GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLeafIterator< 1, All_Partition, GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLeafIterator< 2, All_Partition, GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLeafIterator< 3, All_Partition, GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLevelIterator< 0, All_Partition, GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLevelIterator< 1, All_Partition, GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLevelIterator< 2, All_Partition, GridImp > [friend]
template<int dim, class GridImp >
friend class ALU3dGridLevelIterator< 3, All_Partition, GridImp > [friend]

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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].