dune-alugrid 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::ALU3dGridEntity< 0, dim, GridImp > Class Template Reference

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

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

Classes

struct  Codim
 

Public Types

typedef GridImp::template Codim< 0 >::Geometry Geometry
 
typedef GridImp::template Codim< 0 >::LocalGeometry LocalGeometry
 
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 >::EntitySeed EntitySeed
 typedef of my type
 

Public Member Functions

 ALU3dGridEntity ()
 Constructor creating empty Entity.
 
 ALU3dGridEntity (const EntitySeed &seed)
 Constructor taking an EntitySeed.
 
 ALU3dGridEntity (const HElementType &element)
 Constructor taking an interior Element.
 
 ALU3dGridEntity (const HBndSegType &ghost)
 Constructor taking a ghost element.
 
int level () const
 level of this element
 
Geometry geometry () 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
 
unsigned int subEntities (unsigned int codim) const
 
template<int codim>
Codim< codim >::Entity subEntity (int i) const
 
template<int codim>
Codim< codim >::Twist twist (int i) const
 
bool isLeaf () const
 returns true if Entity is leaf (i.e. has no children)
 
Entity father () const
 
bool hasFather () const
 returns true if father entity exists
 
LocalGeometry geometryInFather () 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 (const int refCount, const bool conformingRefinement) 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
 
bool isGhost () const
 returns true if entity is ghost
 
EntitySeed seed () const
 return key for this entity
 
int macroId () const
 return macro id of this entity
 
int weight () const
 weight of entity (ie number of leaf elements underneath)
 
int master () const
 return rank number of master process
 
template<int cc>
alu_inline int count () const
 
template<int cc>
alu_inline int getSubIndex (int i) const
 
template<int cc>
ALU3dGridEntity< 0, dim, GridImp >::template Codim< cc >::Entity subEntity (int i) const
 
template<int codim>
ALU3dGridEntity< 0, dim, GridImp >::template Codim< codim >::Twist twist (int i) const
 

Protected Member Functions

int getIndex () const
 index is unique within the grid hierachy and per codim
 

Protected Attributes

GeometryImpl geo_
 the entity's geometry
 
IMPLElementType * item_
 
BNDFaceType * ghost_
 not zero if entity is ghost entity
 

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

◆ ALU3dGridIntersectionIteratorType

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

◆ ALU3dGridLeafIntersectionIteratorType

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

◆ ALU3dGridLevelIntersectionIteratorType

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

◆ Entity

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

◆ EntitySeed

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

typedef of my type

◆ Geometry

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

◆ IntersectionIteratorImp

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

◆ LocalGeometry

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

Constructor & Destructor Documentation

◆ ALU3dGridEntity() [1/4]

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

Constructor creating empty Entity.

◆ ALU3dGridEntity() [2/4]

template<int dim, class GridImp >
alu_inline Dune::ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridEntity ( const EntitySeed seed)

Constructor taking an EntitySeed.

◆ ALU3dGridEntity() [3/4]

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

Constructor taking an interior Element.

◆ ALU3dGridEntity() [4/4]

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

Constructor taking a ghost element.

Member Function Documentation

◆ count() [1/2]

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

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

◆ count() [2/2]

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

◆ equals()

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

compare 2 entities, which means compare the item pointers

◆ father()

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

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

◆ geometry()

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

geometry of this entity

◆ geometryInFather()

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

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.

◆ getGhost()

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

◆ getIndex()

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

index is unique within the grid hierachy and per codim

◆ getItem()

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

◆ getMark()

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

return current adaptation mark for this entity

◆ getSubIndex() [1/2]

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

◆ getSubIndex() [2/2]

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

◆ hasBoundaryIntersections()

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

returns true, if entity has intersections with boundary

◆ hasFather()

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

returns true if father entity exists

◆ hbegin()

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

◆ hend()

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

Returns iterator to one past the last son.

◆ isGhost()

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

returns true if entity is ghost

◆ isLeaf()

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

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

◆ isNew()

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

returns true, if entity was created during last adaptation cycle

◆ level()

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

level of this element

◆ macroId()

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

return macro id of this entity

◆ mark()

template<int dim, class GridImp >
bool Dune::ALU3dGridEntity< 0, dim, GridImp >::mark ( const int  refCount,
const bool  conformingRefinement 
) 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

◆ master()

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

return rank number of master process

◆ mightVanish()

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

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

◆ partitionType()

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

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

◆ removeElement()

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

set item pointer to NULL

◆ reset()

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

set actual walk level

◆ seed()

template<int dim, class GridImp >
EntitySeed Dune::ALU3dGridEntity< 0, dim, GridImp >::seed ( ) const
inline

return key for this entity

◆ setElement() [1/2]

template<int dim, class GridImp >
alu_inline void Dune::ALU3dGridEntity< 0, dim, GridImp >::setElement ( const EntitySeed seed)

◆ setElement() [2/2]

template<int dim, class GridImp >
alu_inline void Dune::ALU3dGridEntity< 0, dim, GridImp >::setElement ( HElementType &  element)

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

◆ setEntity()

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

◆ setGhost()

template<int dim, class GridImp >
alu_inline void Dune::ALU3dGridEntity< 0, dim, GridImp >::setGhost ( HBndSegType &  ghost)

set original element pointer to fake entity

◆ subEntities()

template<int dim, class GridImp >
alu_inline unsigned int Dune::ALU3dGridEntity< 0, dim, GridImp >::subEntities ( unsigned int  codim) const

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

◆ subEntity() [1/2]

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

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

◆ subEntity() [2/2]

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

◆ subIndex()

template<int dim, class GridImp >
alu_inline 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

◆ twist() [1/2]

template<int dim, class GridImp >
template<int codim>
Codim< codim >::Twist Dune::ALU3dGridEntity< 0, dim, GridImp >::twist ( int  i) const

◆ twist() [2/2]

template<int dim, class GridImp >
template<int codim>
ALU3dGridEntity< 0, dim, GridImp >::template Codim< codim >::Twist Dune::ALU3dGridEntity< 0, dim, GridImp >::twist ( int  i) const

◆ type()

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

type of geometry of this entity

◆ weight()

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

weight of entity (ie number of leaf elements underneath)

Member Data Documentation

◆ geo_

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

the entity's geometry

◆ ghost_

template<int dim, class GridImp >
BNDFaceType* Dune::ALU3dGridEntity< 0, dim, GridImp >::ghost_
mutableprotected

not zero if entity is ghost entity

◆ item_

template<int dim, class GridImp >
IMPLElementType* Dune::ALU3dGridEntity< 0, dim, GridImp >::item_
mutableprotected

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