Dune::ALU3dGridIntersectionIterator< GridImp > Class Template Reference

#include <iterator.hh>

Inheritance diagram for Dune::ALU3dGridIntersectionIterator< GridImp >:

Dune::IntersectionIteratorDefaultImplementation< GridImp, IntersectionIteratorImp >

List of all members.


Detailed Description

template<class GridImp>
class Dune::ALU3dGridIntersectionIterator< GridImp >

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

Public Member Functions

 ALU3dGridIntersectionIterator (const GridImp &grid, ALU3DSPACE HElementType *el, int wLevel, bool end=false)
 ALU3dGridIntersectionIterator (const ALU3dGridIntersectionIterator< GridImp > &org)
 The copy constructor.
void assign (const ALU3dGridIntersectionIterator< GridImp > &org)
 assignment of iterators
bool equals (const ALU3dGridIntersectionIterator< GridImp > &i) const
 The copy constructor.
void increment ()
 increment iterator
EntityPointer outside () const
 access neighbor
EntityPointer inside () const
 access entity where iteration started
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
bool levelNeighbor () const
 return true if across the edge an neighbor on this level exists
bool leafNeighbor () const
 return true if across the edge an neighbor on leaf level exists
int boundaryId () const
 return information about the Boundary
const LocalGeometry & intersectionSelfLocal () const
const GeometryintersectionGlobal () const
int numberInSelf () const
const LocalGeometry & intersectionNeighborLocal () const
int numberInNeighbor () const
int twistInSelf () const
 returns twist of face compared to inner element
int twistInNeighbor () const
 returns twist of face compared to outer element
NormalType & unitOuterNormal (const FieldVector< alu3d_ctype, dim-1 > &local) const
NormalType & outerNormal (const FieldVector< alu3d_ctype, dim-1 > &local) const
NormalType & integrationOuterNormal (const FieldVector< alu3d_ctype, dim-1 > &local) const
int level () const
 return level of iterator
bool conforming () const
 return true if intersection is conforming
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

Protected Attributes

FaceInfoType connector_
const IMPLElementType * item_
 current element from which we started the intersection iterator

Constructor & Destructor Documentation

template<class GridImp>
Dune::ALU3dGridIntersectionIterator< GridImp >::ALU3dGridIntersectionIterator ( const GridImp &  grid,
ALU3DSPACE HElementType *  el,
int  wLevel,
bool  end = false 
) [inline]

The default Constructor , level tells on which level we want neighbours


Member Function Documentation

template<class GridImp>
const ALU3dGridIntersectionIterator< GridImp >::LocalGeometry & Dune::ALU3dGridIntersectionIterator< 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 ALU3dGridIntersectionIterator< GridImp >::Geometry & Dune::ALU3dGridIntersectionIterator< 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>
int Dune::ALU3dGridIntersectionIterator< GridImp >::numberInSelf (  )  const [inline]

local number of codim 1 entity in self where intersection is contained in

References Dune::ALU3dGridIntersectionIterator< GridImp >::connector_, and Dune::ElementTopologyMapping< type >::dune2aluFace().

template<class GridImp>
const ALU3dGridIntersectionIterator< GridImp >::LocalGeometry & Dune::ALU3dGridIntersectionIterator< 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

References Dune::ALU3dGridIntersectionIterator< GridImp >::neighbor().

template<class GridImp>
int Dune::ALU3dGridIntersectionIterator< GridImp >::numberInNeighbor (  )  const [inline]

local number of codim 1 entity in neighbor where intersection is contained

References Dune::ElementTopologyMapping< type >::alu2duneFace(), and Dune::ALU3dGridIntersectionIterator< GridImp >::connector_.

template<class GridImp>
ALU3dGridIntersectionIterator< GridImp >::NormalType & Dune::ALU3dGridIntersectionIterator< GridImp >::unitOuterNormal ( const FieldVector< alu3d_ctype, dim-1 > &  local  )  const [inline]

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

References Dune::ALU3dGridIntersectionIterator< GridImp >::outerNormal().

template<class GridImp>
ALU3dGridIntersectionIterator< GridImp >::NormalType & Dune::ALU3dGridIntersectionIterator< GridImp >::outerNormal ( const FieldVector< alu3d_ctype, dim-1 > &  local  )  const [inline]

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

References Dune::ALU3dGridIntersectionIterator< GridImp >::item_.

Referenced by Dune::ALU3dGridIntersectionIterator< GridImp >::integrationOuterNormal(), and Dune::ALU3dGridIntersectionIterator< GridImp >::unitOuterNormal().

template<class GridImp>
ALU3dGridIntersectionIterator< GridImp >::NormalType & Dune::ALU3dGridIntersectionIterator< GridImp >::integrationOuterNormal ( const FieldVector< alu3d_ctype, dim-1 > &  local  )  const [inline]

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

References Dune::ALU3dGridIntersectionIterator< GridImp >::outerNormal().

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.


Member Data Documentation


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

Generated on 6 Nov 2008 with Doxygen (ver 1.5.6) [logfile].