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

#include <entity.hh>

Inheritance diagram for Dune::ALU2dGridEntity< 0, dim, GridImp >:

Dune::EntityDefaultImplementation< 0, dim, GridImp, ALU2dGridEntity > List of all members.

Detailed Description

template<int dim, class GridImp>
class Dune::ALU2dGridEntity< 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!


Public Types

typedef GridImp::template
Codim< 0 >::Geometry 
Geometry
 type of our Geometry interface
typedef MakeableInterfaceObject<
Geometry
GeometryObj
 type of our Geometry implementation
typedef LeafIntersectionIteratorWrapper<
GridImp > 
ALU2dGridLeafIntersectionIteratorType
 tpye of intersection iterator
typedef GridImp::template
Codim< 0 >::Entity 
Entity
 type of entity interface
typedef ALU2dGridEntityPointer<
0, GridImp > 
EntityPointer
 tpye of entitypointer interface
enum  
 know your own codimension
enum  
 know your own dimension
enum  
 Know dimension of the entity.
enum  
 know your own dimension of world
typedef ct ctype
 define type used for coordinates in grid module

Public Member Functions

 ALU2dGridEntity (const GridImp &grid, int level)
 Constructor creating empty Entity.
 ALU2dGridEntity (const ALU2dGridEntity &org)
 Constructor creating empty Entity.
int level () const
 level of this element
const Geometrygeometry () const
 geometry of this entity
GeometryType type () const
 geometry type of geometry of this entity
template<int cc>
int count () const
int boundaryId () const
 Id of the boundary which is associated with the entity, returns 0 for inner entities, arbitrary int otherwise.
ALU2dGridIntersectionIteratorType ibegin () const
ALU2dGridIntersectionIteratorType iend () 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
ALU2dGridHierarchicIterator<
GridImp > 
hbegin (int maxLevel) const
ALU2dGridHierarchicIterator<
GridImp > 
hend (int maxLevel) const
 Returns iterator to one past the last son.
template<int cc>
Codim< cc >::EntityPointer entity (int i) const
PartitionType partitionType () const
 return partition type of this entity ( see grid.hh )
template<int cc>
int subBoundaryId (int i) const
 The boundaryId of the i-th subentity of codimension cc.
const GeometrygeometryInFather () const
bool mightBeCoarsened () const
 The former state() method has been replaced by:.
bool mark (int refCount) const
int getMark () const
 return current adaptation mark of element
void setElement (const HElementType &element, int face=-1, int level=-1) const
void reset (int l)
 set actual walk level
void removeElement ()
 set item pointer to NULL
bool equals (const ALU2dGridEntity< 0, dim, GridImp > &org) const
 compare 2 entities, which means compare the item pointers

Member Function Documentation

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

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

template<int dim, class GridImp>
ALU2dGridIntersectionIteratorType Dune::ALU2dGridEntity< 0, dim, GridImp >::ibegin (  )  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.

template<int dim, class GridImp>
ALU2dGridEntity< 0, dim, GridImp >::EntityPointer Dune::ALU2dGridEntity< 0, dim, GridImp >::father (  )  const [inline]

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

template<int dim, class GridImp>
ALU2dGridHierarchicIterator<GridImp> Dune::ALU2dGridEntity< 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>
template<int cc>
ALU2dGridEntity< 0, dim, GridImp >::template Codim< cc >::EntityPointer Dune::ALU2dGridEntity< 0, dim, GridImp >::entity ( int  i  )  const [inline]

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

template<int dim, class GridImp>
template<int cc>
int Dune::ALU2dGridEntity< 0, dim, GridImp >::subBoundaryId ( int  i  )  const [inline]

The boundaryId of the i-th subentity of codimension cc.

This does the same as entity<cc>(i).boundaryId(), but it is usually a lot faster.

template<int dim, class GridImp>
const ALU2dGridEntity< 0, dim, GridImp >::Geometry & Dune::ALU2dGridEntity< 0, dim, GridImp >::geometryInFather (  )  const [inline]

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>
bool Dune::ALU2dGridEntity< 0, dim, GridImp >::mark ( int  refCount  )  const [inline]

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>
void Dune::ALU2dGridEntity< 0, dim, GridImp >::setElement ( const HElementType &  element,
int  face = -1,
int  level = -1 
) const [inline]

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


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

Generated on 9 Apr 2008 with Doxygen (ver 1.5.2) [logfile].