dune-grid  2.3.1
Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
Dune::ALU2dGridEntity< 0, dim, GridImp > Class Template Reference

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

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

Classes

struct  Codim

Public Types

typedef
GridImp::GridObjectFactoryType 
FactoryType
typedef GridImp::template
Codim< 0 >::Geometry 
Geometry
 type of our Geometry interface
typedef GridImp::template
Codim< 0 >::LocalGeometry 
LocalGeometry
 type of corresponding interface local geometry
typedef GridImp::template
Codim< 0 >::EntitySeed 
EntitySeed
 typedef of my type
typedef
LeafIntersectionIteratorWrapper
< GridImp > 
ALU2dGridLeafIntersectionIteratorType
 tpye of intersection iterator
typedef
LevelIntersectionIteratorWrapper
< GridImp > 
ALU2dGridLevelIntersectionIteratorType
typedef
ALU2dGridLeafIntersectionIteratorType 
ALU2dGridIntersectionIteratorType
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 More...
enum  
 Dimension of the grid. More...
enum  
 Know dimension of the entity. More...
typedef GridImp::ctype ctype
 define type used for coordinates in grid module

Public Member Functions

 ALU2dGridEntity (const FactoryType &factory, int level)
 Constructor creating empty Entity.
 ALU2dGridEntity (const ALU2dGridEntity &org)
 Constructor creating empty Entity.
int level () const
 level of this element
Geometry geometry () const
 geometry of this entity
GeometryType type () const
 return type of geometry
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
ALU2dGridLevelIntersectionIteratorType ilevelbegin () const
ALU2dGridLevelIntersectionIteratorType ilevelend () const
ALU2dGridLeafIntersectionIteratorType ileafbegin () const
ALU2dGridLeafIntersectionIteratorType ileafend () const
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
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
template<int codim>
Codim< codim >::EntityPointer subEntity (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
LocalGeometry geometryInFather () const
bool mightVanish () const
 The former state() method has been replaced by:
bool isNew () const
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 setElement (const EntitySeed &seed) const
void setElement (const ALU2dGridEntity &org) 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
HElementType & getItem () const
EntitySeed seed () const
 return seed of entity
const GridImp & grid () const
 return reference to grid
const FactoryTypefactory () const
 return reference to factory
int getFace () const
int getIndex () const
 index is unique within the grid hierachie and per codim

Static Public Attributes

static const int dimensionworld
 know your own dimension of world

Friends

class ALU2dGrid< dim, dimworld, eltype >
class ALU2dGridIntersectionIterator< GridImp >
class ALU2dGridIntersectionIterator< const GridImp >
class ALU2dGridLevelIntersectionIterator< GridImp >
class ALU2dGridLevelIntersectionIterator< const GridImp >
class ALU2dGridLeafIntersectionIterator< GridImp >
class ALU2dGridLeafIntersectionIterator< const GridImp >
class ALU2dGridHierarchicIterator< const GridImp >
class ALU2dGridHierarchicIterator< GridImp >
class ALU2dGridLevelIterator< 0, All_Partition, GridImp >
class ALU2dGridLevelIterator< 1, All_Partition, GridImp >
class ALU2dGridLevelIterator< 2, All_Partition, GridImp >
class ALU2dGridLeafIterator< 0, All_Partition, GridImp >
class ALU2dGridLeafIterator< 1, All_Partition, GridImp >
class ALU2dGridLeafIterator< 2, All_Partition, GridImp >
class ALU2dGridMakeableEntity< 0, dim, GridImp >
class ALU2dGridHierarchicIndexSet< dim, dimworld, eltype >

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!

Member Typedef Documentation

template<int dim, class GridImp >
typedef ALU2dGridLeafIntersectionIteratorType Dune::ALU2dGridEntity< 0, dim, GridImp >::ALU2dGridIntersectionIteratorType
template<int dim, class GridImp >
typedef LeafIntersectionIteratorWrapper< GridImp > Dune::ALU2dGridEntity< 0, dim, GridImp >::ALU2dGridLeafIntersectionIteratorType

tpye of intersection iterator

template<int dim, class GridImp >
typedef LevelIntersectionIteratorWrapper< GridImp > Dune::ALU2dGridEntity< 0, dim, GridImp >::ALU2dGridLevelIntersectionIteratorType
typedef GridImp::ctype Dune::EntityDefaultImplementation< cd, dim, GridImp, ALU2dGridEntity >::ctype
inherited

define type used for coordinates in grid module

Deprecated:
"Use Geometry::ctype instead!"
template<int dim, class GridImp >
typedef GridImp::template Codim<0>::Entity Dune::ALU2dGridEntity< 0, dim, GridImp >::Entity

type of entity interface

template<int dim, class GridImp >
typedef ALU2dGridEntityPointer<0,GridImp> Dune::ALU2dGridEntity< 0, dim, GridImp >::EntityPointer

tpye of entitypointer interface

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

typedef of my type

template<int dim, class GridImp >
typedef GridImp :: GridObjectFactoryType Dune::ALU2dGridEntity< 0, dim, GridImp >::FactoryType
template<int dim, class GridImp >
typedef GridImp::template Codim<0>::Geometry Dune::ALU2dGridEntity< 0, dim, GridImp >::Geometry

type of our Geometry interface

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

type of corresponding interface local geometry

Member Enumeration Documentation

anonymous enum
inherited

know your own codimension

anonymous enum
inherited

Dimension of the grid.

anonymous enum
inherited

Know dimension of the entity.

Constructor & Destructor Documentation

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

Constructor creating empty Entity.

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

Constructor creating empty Entity.

Member Function Documentation

template<int dim, class GridImp >
int Dune::ALU2dGridEntity< 0, dim, GridImp >::boundaryId ( ) const
inline

Id of the boundary which is associated with the entity, returns 0 for inner entities, arbitrary int otherwise.

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

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

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

compare 2 entities, which means compare the item pointers

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

return reference to factory

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

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

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

geometry of this entity

template<int dim, class GridImp >
LocalGeometry Dune::ALU2dGridEntity< 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 >
int Dune::ALU2dGridEntity< 0, dim, GridImp >::getFace ( ) const
inline
template<int dim, class GridImp >
int Dune::ALU2dGridEntity< 0, dim, GridImp >::getIndex ( ) const

index is unique within the grid hierachie and per codim

template<int dim, class GridImp >
HElementType& Dune::ALU2dGridEntity< 0, dim, GridImp >::getItem ( ) const
inline
template<int dim, class GridImp >
int Dune::ALU2dGridEntity< 0, dim, GridImp >::getMark ( ) const

return current adaptation mark of element

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

return reference to grid

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

returns true if father entity exists

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

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.

References Dune::ALU2dGridEntity< cd, dim, GridImp >::factory().

template<int dim, class GridImp >
ALU2dGridHierarchicIterator<GridImp> Dune::ALU2dGridEntity< 0, dim, GridImp >::hend ( int  maxLevel) const
inline

Returns iterator to one past the last son.

References Dune::ALU2dGridEntity< cd, dim, GridImp >::factory().

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.

Deprecated:
Use ileafbegin() instead. This method will be removed after Dune 2.3
Deprecated:
"Use ileafbegin() instead."
template<int dim, class GridImp >
ALU2dGridIntersectionIteratorType Dune::ALU2dGridEntity< 0, dim, GridImp >::iend ( ) const
inline

Reference to one past the last intersection with neighbor

Deprecated:
Use ileafend() instead. This method will be removed after Dune 2.3
Deprecated:
"Use ileafend() instead."
template<int dim, class GridImp >
ALU2dGridLeafIntersectionIteratorType Dune::ALU2dGridEntity< 0, dim, GridImp >::ileafbegin ( ) const
inline
template<int dim, class GridImp >
ALU2dGridLeafIntersectionIteratorType Dune::ALU2dGridEntity< 0, dim, GridImp >::ileafend ( ) const
inline
template<int dim, class GridImp >
ALU2dGridLevelIntersectionIteratorType Dune::ALU2dGridEntity< 0, dim, GridImp >::ilevelbegin ( ) const
inline
template<int dim, class GridImp >
ALU2dGridLevelIntersectionIteratorType Dune::ALU2dGridEntity< 0, dim, GridImp >::ilevelend ( ) const
inline
template<int dim, class GridImp >
bool Dune::ALU2dGridEntity< 0, dim, GridImp >::isLeaf ( ) const

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

template<int dim, class GridImp >
bool Dune::ALU2dGridEntity< 0, dim, GridImp >::isNew ( ) const
inline
template<int dim, class GridImp >
int Dune::ALU2dGridEntity< 0, dim, GridImp >::level ( ) const

level of this element

template<int dim, class GridImp >
bool Dune::ALU2dGridEntity< 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::ALU2dGridEntity< 0, dim, GridImp >::mightVanish ( ) const
inline

The former state() method has been replaced by:

References ALU2DSPACE.

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

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

References Dune::ALU2dGridEntity< cd, dim, GridImp >::grid(), and Dune::InteriorEntity.

template<int dim, class GridImp >
void Dune::ALU2dGridEntity< 0, dim, GridImp >::removeElement ( )

set item pointer to NULL

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

set actual walk level

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

return seed of entity

References Dune::ALU2dGridEntity< cd, dim, GridImp >::getItem().

template<int dim, class GridImp >
void Dune::ALU2dGridEntity< 0, dim, GridImp >::setElement ( const HElementType &  element,
int  face = -1,
int  level = -1 
) const

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

template<int dim, class GridImp >
void Dune::ALU2dGridEntity< 0, dim, GridImp >::setElement ( const EntitySeed seed) const
template<int dim, class GridImp >
void Dune::ALU2dGridEntity< 0, dim, GridImp >::setElement ( const ALU2dGridEntity< 0, dim, GridImp > &  org) const
inline
template<int dim, class GridImp >
template<int cc>
int Dune::ALU2dGridEntity< 0, dim, GridImp >::subBoundaryId ( int  i) const

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 >
template<int codim>
Codim< codim >::EntityPointer Dune::ALU2dGridEntity< 0, dim, GridImp >::subEntity ( 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 >
GeometryType Dune::ALU2dGridEntity< 0, dim, GridImp >::type ( ) const

return type of geometry

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

Friends And Related Function Documentation

template<int dim, class GridImp >
friend class ALU2dGrid< dim, dimworld, eltype >
friend
template<int dim, class GridImp >
friend class ALU2dGridHierarchicIndexSet< dim, dimworld, eltype >
friend
template<int dim, class GridImp >
friend class ALU2dGridHierarchicIterator< const GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridHierarchicIterator< GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridIntersectionIterator< const GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridIntersectionIterator< GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLeafIntersectionIterator< const GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLeafIntersectionIterator< GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLeafIterator< 0, All_Partition, GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLeafIterator< 1, All_Partition, GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLeafIterator< 2, All_Partition, GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLevelIntersectionIterator< const GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLevelIntersectionIterator< GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLevelIterator< 0, All_Partition, GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLevelIterator< 1, All_Partition, GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridLevelIterator< 2, All_Partition, GridImp >
friend
template<int dim, class GridImp >
friend class ALU2dGridMakeableEntity< 0, dim, GridImp >
friend

Member Data Documentation

const int Dune::EntityDefaultImplementation< cd, dim, GridImp, ALU2dGridEntity >::dimensionworld
staticinherited

know your own dimension of world

Deprecated:
"Use Geometry::coorddimension instead!"

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