Dune::AlbertaGridIntersectionIterator< GridImp > Class Template Reference

#include <agrid.hh>

Inheritance diagram for Dune::AlbertaGridIntersectionIterator< GridImp >:

Dune::IntersectionIteratorDefaultImplementation< GridImp, IntersectionIteratorImp > List of all members.

Detailed Description

template<class GridImp>
class Dune::AlbertaGridIntersectionIterator< GridImp >

Mesh entities of codimension 0 ("elements") allow to visit all neighbors, where a neighbor is an entity of codimension 0 which has a common entity of codimension 1 These neighbors are accessed via a IntersectionIterator. This allows the implementation of non-matching meshes. The number of neigbors may be different from the number of faces of an element!


Public Types

enum  
 know your own dimension
enum  
 know your own dimension of world
typedef GridImp::ctype ctype
 define type used for coordinates in grid module
typedef FieldVector< albertCtype,
GridImp::dimensionworld > 
NormalVecType

Public Member Functions

bool equals (const AlbertaGridIntersectionIterator< GridImp > &i) const
 equality
void increment ()
 increment
bool operator== (const AlbertaGridIntersectionIterator< GridImp > &i) const
 equality
EntityPointer outside () const
 access neighbor
EntityPointer inside () const
 access element where IntersectionIterator started
 AlbertaGridIntersectionIterator (const GridImp &grid, int level)
 The default Constructor.
 AlbertaGridIntersectionIterator (const GridImp &grid, int level, ALBERTA EL_INFO *elInfo, bool leafIt)
 The Constructor.
 AlbertaGridIntersectionIterator (const AlbertaGridIntersectionIterator< GridImp > &org)
 The copy constructor.
void assign (const AlbertaGridIntersectionIterator< GridImp > &org)
 assignment operator, implemented because default does not the right thing
bool boundary () const
 return true if intersection is with boundary.
bool neighbor () const
 return true if across the edge an neighbor on this level exists
int boundaryId () const
 return information about the Boundary
const LocalGeometry & intersectionSelfLocal () const
const LocalGeometry & intersectionNeighborLocal () const
const GeometryintersectionGlobal () const
int numberInSelf () const
 local number of codim 1 entity in self where intersection is contained in
int numberInNeighbor () const
 local number of codim 1 entity in neighbor where intersection is contained in
int twistInSelf () const
 twist of the face seen from the inner element
int twistInNeighbor () const
 twist of the face seen from the outer element
const NormalVecTypeouterNormal (const LocalCoordType &local) const
const NormalVecTypeintegrationOuterNormal (const LocalCoordType &local) const
int level () const
 return level of inside entity
FieldVector< ct, dimworld > integrationOuterNormal (const FieldVector< ct, dim-1 > &local) const
FieldVector< ct, dimworld > unitOuterNormal (const FieldVector< ct, dim-1 > &local) const
 return unit outer normal

Member Typedef Documentation

template<class GridImp>
typedef FieldVector<albertCtype, GridImp::dimensionworld> Dune::AlbertaGridIntersectionIterator< GridImp >::NormalVecType

return unit outer normal, this should be dependent on local coordinates for higher order boundary


Member Function Documentation

template<class GridImp>
bool Dune::AlbertaGridIntersectionIterator< GridImp >::equals ( const AlbertaGridIntersectionIterator< GridImp > &  i  )  const [inline]

equality

and then also check done status

template<class GridImp>
const AlbertaGridIntersectionIterator< GridImp >::LocalGeometry & Dune::AlbertaGridIntersectionIterator< GridImp >::intersectionSelfLocal (  )  const [inline]

intersection of codimension 1 of this neighbor with element where iteration started. Here returned element is in LOCAL coordinates of the element where iteration started.

template<class GridImp>
const AlbertaGridIntersectionIterator< GridImp >::LocalGeometry & Dune::AlbertaGridIntersectionIterator< GridImp >::intersectionNeighborLocal (  )  const [inline]

intersection of codimension 1 of this neighbor with element where iteration started. Here returned element is in LOCAL coordinates of neighbor

template<class GridImp>
const AlbertaGridIntersectionIterator< GridImp >::Geometry & Dune::AlbertaGridIntersectionIterator< GridImp >::intersectionGlobal (  )  const [inline]

intersection of codimension 1 of this neighbor with element where iteration started. Here returned element is in GLOBAL coordinates of the element where iteration started.

template<class GridImp>
const AlbertaGridIntersectionIterator< GridImp >::NormalVecType & Dune::AlbertaGridIntersectionIterator< GridImp >::outerNormal ( const LocalCoordType &  local  )  const [inline]

return outer normal, this should be dependent on local coordinates for higher order boundary

template<class GridImp>
const AlbertaGridIntersectionIterator< GridImp >::NormalVecType & Dune::AlbertaGridIntersectionIterator< GridImp >::integrationOuterNormal ( const LocalCoordType &  local  )  const [inline]

return outer normal, this should be dependent on local coordinates for higher order boundary

template<class GridImp, template< class > class IntersectionIteratorImp>
FieldVector<ct, dimworld> Dune::IntersectionIteratorDefaultImplementation< GridImp, IntersectionIteratorImp >::integrationOuterNormal ( const FieldVector< ct, dim-1 > &  local  )  const [inline, inherited]

return unit outer normal, this should be dependent on local coordinates for higher order boundary the normal is scaled with the integration element of the intersection.


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

Generated on 12 Dec 2007 with Doxygen (ver 1.5.1)