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

#include <dune/grid/albertagrid/entity.hh>

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

List of all members.

Classes

struct  Codim

Public Types

typedef GridImp::template
Codim< 0 >::Entity 
Entity
typedef GridImp::template
Codim< 0 >::EntitySeed 
EntitySeed
 The corresponding entity seed (for storage of entities).
typedef GridImp::template
Codim< 0 >::Geometry 
Geometry
typedef GridImp::template
Codim< 0 >::LocalGeometry 
LocalGeometry
typedef
AlbertaGridGlobalGeometry
< dimension, dimworld, GridImp > 
GeometryImp
typedef GridImp::template
Codim< 0 >::LevelIterator 
LevelIterator
typedef GridImp::HierarchicIterator HierarchicIterator
typedef GridImp::template
Codim< 0 >::EntityPointer 
EntityPointer
 The corresponding entity seed (for storage of entities).
typedef
Dune::AlbertaGridLeafIntersectionIterator
< GridImp > 
AlbertaGridLeafIntersectionIterator
typedef
AlbertaGridLeafIntersectionIterator 
AlbertaGridLevelIntersectionIterator
typedef Alberta::ElementInfo
< dimension
ElementInfo
enum  
 

know your own codimension

More...
enum  
 

know your own dimension

More...
enum  
 

Know dimension of the entity.

More...
enum  
 

know your own dimension of world

More...
typedef GridImp::ctype ctype
 define type used for coordinates in grid module

Public Member Functions

 AlbertaGridEntity (const GridImp &grid)
 constructor
 AlbertaGridEntity (const GridImp &grid, const ElementInfo &elementInfo, int subEntity)
 constructor
int level () const
 level of this element
int boundaryId () const
 index of the boundary which is associated with the entity, 0 for inner entities
const Geometrygeometry () const
 geometry of this entity
GeometryType type () const
 type of geometry of this entity
EntitySeed seed () const
 obtain entity seed
template<int codim>
int count () const
template<int codim>
Codim< codim >::EntityPointer subEntity (int i) const
AlbertaGridLeafIntersectionIterator ileafbegin () const
AlbertaGridLeafIntersectionIterator ileafend () const
 Reference to one past the last intersection with neighbor.
AlbertaGridLevelIntersectionIterator ilevelbegin () const
AlbertaGridLevelIntersectionIterator ilevelend () const
bool isLeaf () const
 returns true if entity is leaf entity, i.e. has no children
EntityPointer father () const
bool hasFather () const
 returns true if father entity exists
const LocalGeometrygeometryInFather () const
 Location of this element relative to the father's reference element.
HierarchicIterator hbegin (int maxlevel) const
HierarchicIterator hend (int maxlevel) const
 Returns iterator to one past the last son.
bool isNew () const
 Was the entity created during the last adaptation cycle?
bool mightVanish () const
 Might the entity vanish during the next adaptation cycle?
bool hasBoundaryIntersections () const
 Returns true, if entity has intersections with boundary.
PartitionType partitionType () const
 return partition type of this entity ( see grid.hh )
bool equals (const AlbertaGridEntity< 0, dim, GridImp > &i) const
 equality of entities
ALBERTA EL_INFO * getElInfo () const
const ElementInfoelementInfo () const
void clearElement ()
void setElement (const ElementInfo &elementInfo, int subEntity)
void setEntity (const This &other)
const GridImp & grid () const
 obtain a reference to the grid
int subEntity () const
 obtain number of the subentity within the element (in ALBERTA numbering)
int twist () const
 obtain twist
template<int codim>
int twist (int i) const
 obtain twist of a subentity

Static Public Attributes

static const int dimension = dim
static const int codimension = 0
static const int mydimension = dimension - codimension

Friends

class AlbertaGrid< dim, dimworld >
class AlbertaGridLeafIntersection< GridImp >
class AlbertaGridHierarchicIterator< GridImp >
class AlbertaGridTreeIterator
class AlbertaGridEntityPointer< 0, GridImp >

Detailed Description

template<int dim, class GridImp>
class Dune::AlbertaGridEntity< 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 Dune::AlbertaGridLeafIntersectionIterator< GridImp > Dune::AlbertaGridEntity< 0, dim, GridImp >::AlbertaGridLeafIntersectionIterator
template<int dim, class GridImp >
typedef AlbertaGridLeafIntersectionIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::AlbertaGridLevelIntersectionIterator
typedef GridImp::ctype Dune::EntityDefaultImplementation< cd, dim, GridImp, AlbertaGridEntity >::ctype [inherited]

define type used for coordinates in grid module

template<int dim, class GridImp >
typedef Alberta::ElementInfo< dimension > Dune::AlbertaGridEntity< 0, dim, GridImp >::ElementInfo
template<int dim, class GridImp >
typedef GridImp::template Codim< 0 >::Entity Dune::AlbertaGridEntity< 0, dim, GridImp >::Entity
template<int dim, class GridImp >
typedef GridImp::template Codim<0>::EntityPointer Dune::AlbertaGridEntity< 0, dim, GridImp >::EntityPointer

The corresponding entity seed (for storage of entities).

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

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

The corresponding entity seed (for storage of entities).

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

template<int dim, class GridImp >
typedef GridImp::template Codim< 0 >::Geometry Dune::AlbertaGridEntity< 0, dim, GridImp >::Geometry
template<int dim, class GridImp >
typedef AlbertaGridGlobalGeometry< dimension, dimworld, GridImp > Dune::AlbertaGridEntity< 0, dim, GridImp >::GeometryImp
template<int dim, class GridImp >
typedef GridImp::HierarchicIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::HierarchicIterator
template<int dim, class GridImp >
typedef GridImp::template Codim<0>::LevelIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::LevelIterator
template<int dim, class GridImp >
typedef GridImp::template Codim< 0 >::LocalGeometry Dune::AlbertaGridEntity< 0, dim, GridImp >::LocalGeometry

Member Enumeration Documentation

anonymous enum [inherited]

know your own codimension

anonymous enum [inherited]

know your own dimension

anonymous enum [inherited]

Know dimension of the entity.

anonymous enum [inherited]

know your own dimension of world


Constructor & Destructor Documentation

template<int dim, class GridImp >
Dune::AlbertaGridEntity< 0, dim, GridImp >::AlbertaGridEntity ( const GridImp &  grid  )  [inline, explicit]

constructor

template<int dim, class GridImp >
Dune::AlbertaGridEntity< 0, dim, GridImp >::AlbertaGridEntity ( const GridImp &  grid,
const ElementInfo elementInfo,
int  subEntity 
) [inline]

constructor


Member Function Documentation

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

index of the boundary which is associated with the entity, 0 for inner entities

template<int dim, class GridImp >
void Dune::AlbertaGridEntity< 0, dim, GridImp >::clearElement (  )  [inline]
template<int dim, class GridImp >
template<int codim>
int Dune::AlbertaGridEntity< 0, dim, GridImp >::count (  )  const [inline]

obtain the number of subentities of a codimension

Template Parameters:
codim codimension
Returns:
the number of subentities of the given codimension
template<int dim, class GridImp >
const ElementInfo& Dune::AlbertaGridEntity< 0, dim, GridImp >::elementInfo (  )  const [inline]

Referenced by equals().

template<int dim, class GridImp >
bool Dune::AlbertaGridEntity< 0, dim, GridImp >::equals ( const AlbertaGridEntity< 0, dim, GridImp > &  i  )  const [inline]
template<int dim, class GridImp >
AlbertaGridEntity< 0, dim, GridImp >::EntityPointer Dune::AlbertaGridEntity< 0, dim, GridImp >::father (  )  const [inline]

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

References Dune::Alberta::ElementInfo< dim >::father(), and Dune::AlbertaGridEntity< codim, dim, GridImp >::grid().

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

Location of this element relative to the father's reference element.

This information 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.

References Dune::Alberta::ElementInfo< dim >::indexInFather(), and Dune::Alberta::ElementInfo< dim >::type().

template<int dim, class GridImp >
ALBERTA EL_INFO * Dune::AlbertaGridEntity< 0, dim, GridImp >::getElInfo (  )  const [inline]
template<int dim, class GridImp >
const GridImp& Dune::AlbertaGridEntity< 0, dim, GridImp >::grid (  )  const [inline]

obtain a reference to the grid

template<int dim, class GridImp >
bool Dune::AlbertaGridEntity< 0, dim, GridImp >::hasBoundaryIntersections (  )  const [inline]

Returns true, if entity has intersections with boundary.

References Dune::Alberta::ElementInfo< dim >::isBoundary().

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

returns true if father entity exists

References Dune::AlbertaGridEntity< codim, dim, GridImp >::level().

template<int dim, class GridImp >
AlbertaGridEntity< 0, dim, GridImp >::HierarchicIterator Dune::AlbertaGridEntity< 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::AlbertaGridEntity< codim, dim, GridImp >::grid().

template<int dim, class GridImp >
AlbertaGridEntity< 0, dim, GridImp >::HierarchicIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::hend ( int  maxlevel  )  const [inline]
template<int dim, class GridImp >
AlbertaGridEntity< 0, dim, GridImp >::AlbertaGridLeafIntersectionIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::ileafbegin (  )  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.

References Dune::AlbertaGridEntity< codim, dim, GridImp >::dimension, and Dune::AlbertaGridEntity< codim, dim, GridImp >::getElInfo().

template<int dim, class GridImp >
AlbertaGridEntity< 0, dim, GridImp >::AlbertaGridLeafIntersectionIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::ileafend (  )  const [inline]

Reference to one past the last intersection with neighbor.

template<int dim, class GridImp >
AlbertaGridLevelIntersectionIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::ilevelbegin (  )  const [inline]
template<int dim, class GridImp >
AlbertaGridLevelIntersectionIterator Dune::AlbertaGridEntity< 0, dim, GridImp >::ilevelend (  )  const [inline]
template<int dim, class GridImp >
bool Dune::AlbertaGridEntity< 0, dim, GridImp >::isLeaf (  )  const [inline]

returns true if entity is leaf entity, i.e. has no children

References Dune::Alberta::ElementInfo< dim >::isLeaf().

template<int dim, class GridImp >
bool Dune::AlbertaGridEntity< 0, dim, GridImp >::isNew (  )  const [inline]

Was the entity created during the last adaptation cycle?

References Dune::AlbertaGridEntity< codim, dim, GridImp >::grid().

template<int dim, class GridImp >
int Dune::AlbertaGridEntity< 0, dim, GridImp >::level (  )  const [inline]
template<int dim, class GridImp >
bool Dune::AlbertaGridEntity< 0, dim, GridImp >::mightVanish (  )  const [inline]

Might the entity vanish during the next adaptation cycle?

References Dune::Alberta::ElementInfo< dim >::mightVanish().

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

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

template<int dim, class GridImp >
EntitySeed Dune::AlbertaGridEntity< 0, dim, GridImp >::seed (  )  const [inline]
template<int dim, class GridImp >
void Dune::AlbertaGridEntity< 0, dim, GridImp >::setElement ( const ElementInfo elementInfo,
int  subEntity 
) [inline]
template<int dim, class GridImp >
void Dune::AlbertaGridEntity< 0, dim, GridImp >::setEntity ( const This other  )  [inline]
template<int dim, class GridImp >
int Dune::AlbertaGridEntity< 0, dim, GridImp >::subEntity (  )  const [inline]

obtain number of the subentity within the element (in ALBERTA numbering)

template<int dim, class GridImp >
template<int codim>
AlbertaGridEntity< 0, dim, GridImp >::template Codim< codim >::EntityPointer Dune::AlbertaGridEntity< 0, dim, GridImp >::subEntity ( int  i  )  const [inline]

obtain a subentity

Template Parameters:
codim codimension of the desired subentity
Parameters:
[in] i number of the subentity (in generic numbering)
Returns:
an EntityPointer to the subentity
Note:
: The subentities are numbered 0, ..., count< codim >-1

References Dune::AlbertaGridEntity< codim, dim, GridImp >::grid().

template<int dim, class GridImp >
template<int codim>
int Dune::AlbertaGridEntity< 0, dim, GridImp >::twist ( int  i  )  const [inline]
template<int dim, class GridImp >
int Dune::AlbertaGridEntity< 0, dim, GridImp >::twist (  )  const [inline]
template<int dim, class GridImp >
GeometryType Dune::AlbertaGridEntity< 0, dim, GridImp >::type (  )  const [inline]

type of geometry of this entity

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


Friends And Related Function Documentation

template<int dim, class GridImp >
friend class AlbertaGrid< dim, dimworld > [friend]
template<int dim, class GridImp >
friend class AlbertaGridEntityPointer< 0, GridImp > [friend]
template<int dim, class GridImp >
friend class AlbertaGridHierarchicIterator< GridImp > [friend]
template<int dim, class GridImp >
friend class AlbertaGridLeafIntersection< GridImp > [friend]
template<int dim, class GridImp >
friend class AlbertaGridTreeIterator [friend]

Member Data Documentation

template<int dim, class GridImp >
const int Dune::AlbertaGridEntity< 0, dim, GridImp >::codimension = 0 [static]
template<int dim, class GridImp >
const int Dune::AlbertaGridEntity< 0, dim, GridImp >::dimension = dim [static]
template<int dim, class GridImp >
const int Dune::AlbertaGridEntity< 0, dim, GridImp >::mydimension = dimension - codimension [static]

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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].