Dune Core Modules (2.3.1)

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

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

Public Types

typedef GridImp::template Codim< 0 >::EntitySeed EntitySeed
 typedef of my type
 
enum  
 know your own codimension
 
enum  
 Dimension of the grid.
 
enum  
 Know dimension of the entity.
 
typedef GridImp::ctype ctype DUNE_DEPRECATED_MSG("Use Geometry::ctype instead!")
 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
 
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
 
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
 
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 (int refCount) const
 
int getMark () const
 return current adaptation mark for this entity
 
void setElement (HElementType &element)
 
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
 
template<int cc>
int getSubIndex (int i) const
 
int subIndex (int i, unsigned int codim) const
 
const GridImp & grid () const
 return reference to grid
 
const FactoryType & factory () const
 return reference to factory
 
bool isGhost () const
 returns true if entity is ghost
 
EntitySeed seed () const
 return key for this entity
 

Static Public Member Functions

static const int DUNE_DEPRECATED_MSG ("Use Geometry::coorddimension instead!") dimensionworld
 know your own dimension of world
 

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

◆ count()

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

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

◆ father()

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.

◆ geometryInFather()

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

◆ getSubIndex()

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

◆ hbegin()

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.

◆ ileafbegin()

template<int dim, class GridImp >
ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLeafIntersectionIteratorType Dune::ALU3dGridEntity< 0, dim, GridImp >::ileafbegin
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().

◆ ilevelbegin()

template<int dim, class GridImp >
ALU3dGridEntity< 0, dim, GridImp >::ALU3dGridLevelIntersectionIteratorType Dune::ALU3dGridEntity< 0, dim, GridImp >::ilevelbegin
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 >::grid(), and Dune::ALU3dGridEntity< cd, dim, GridImp >::level().

◆ mark()

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

◆ setElement()

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

◆ subEntity()

template<int dim, class GridImp >
template<int codim>
Codim< codim >::EntityPointer 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

◆ subIndex()

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


The documentation for this class was generated from the following files:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 12, 23:30, 2024)