Dune Core Modules (2.4.2)

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

#include <dune/grid/sgrid.hh>

Public Types

enum  
 know your own codimension
 
enum  
 Dimension of the grid.
 
enum  
 Know dimension of the entity.
 
typedef GridImp::template Codim< cd >::EntitySeed EntitySeed
 The corresponding entity seed (for storage of entities)
 

Public Member Functions

template<int cc>
int count () const
 
unsigned int subEntities (unsigned int codim) const
 Return number of subentities with codimension codim.
 
template<int cc>
Codim< cc >::Entity subEntity (int i) const
 
int subCompressedIndex (int codim, int i) const
 subentity compressed index
 
int subCompressedLeafIndex (int codim, int i) const
 
PersistentIndexType subPersistentIndex (int codim, int i) const
 subentity persistent index
 
IntersectionIterator ibegin () const
 
IntersectionIterator iend () const
 Reference to one past the last intersection.
 
Entity father () const
 Inter-level access to father element on coarser grid. More...
 
bool hasFather () const
 returns true if father entity exists
 
bool isLeaf () const
 return true if the entity is leaf
 
LocalGeometry geometryInFather () const
 Location of this element relative to the reference element element of the father. More...
 
HierarchicIterator hbegin (int maxLevel) const
 Inter-level access to son elements on higher levels<=maxLevel. More...
 
HierarchicIterator hend (int maxLevel) const
 Returns iterator to one past the last son.
 
 SEntity (GridImp *_grid, int _l, int _index)
 constructor
 
void make (GridImp *_grid, int _l, int _id)
 Reinitialization.
 
void make (int _l, int _id)
 Reinitialization.
 
int level () const
 level of this element
 
int globalIndex () const
 global index is calculated from the index and grid size
 
SEntitySeed< codim, GridImp > seed () const
 Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible.
 
GeometryType type () const
 return the element type identifier
 
Geometry geometry () const
 geometry of this entity
 
void makegeometry () const
 geometry of this entity
 
PersistentIndexType persistentIndex () const
 globally unique, persistent index
 
int compressedIndex () const
 consecutive, codim-wise, level-wise index
 
int compressedLeafIndex () const
 consecutive, codim-wise, level-wise index
 

Protected Attributes

GeometryImpl geo
 geometry, is only built on demand
 
bool builtgeometry
 true if geometry has been constructed
 

Detailed Description

template<int dim, class GridImp>
class Dune::SEntity< 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 entity. 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! 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 ("Cells") are defined through template specialization. Note that this specialization has an extended interface compared to the general case

Member Function Documentation

◆ count()

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

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

◆ father()

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

◆ hbegin()

template<int dim, class GridImp >
HierarchicIterator Dune::SEntity< 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.

◆ ibegin()

template<int dim, class GridImp >
IntersectionIterator Dune::SEntity< 0, dim, GridImp >::ibegin ( ) const

Intra-level access to intersections 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.

◆ subCompressedLeafIndex()

template<int dim, class GridImp >
int Dune::SEntity< 0, dim, GridImp >::subCompressedLeafIndex ( int  codim,
int  i 
) const
inline

◆ subEntity()

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

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


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 1, 22:29, 2024)