dune-grid  2.2.0
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Dune::ALU2dGridIntersectionBase< GridImp > Class Template Reference

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

Inheritance diagram for Dune::ALU2dGridIntersectionBase< GridImp >:
Dune::ALU2dGridLeafIntersectionIterator< GridImp > Dune::ALU2dGridLevelIntersectionIterator< GridImp >

Classes

struct  impl

Public Types

enum  { dimension = GridImp::dimension }
enum  { dimensionworld = GridImp::dimensionworld }
typedef
GridImp::GridObjectFactoryType 
FactoryType
typedef
ALU2dGridIntersectionBase
< GridImp > 
ImplementationType
typedef Dune::Intersection
< GridImp,
Dune::ALU2dGridIntersectionBase
Intersection
 type of the intersection
typedef GridImp::template
Codim< 0 >::Entity 
Entity
typedef GridImp::template
Codim< 0 >::EntityPointer 
EntityPointer
typedef GridImp::template
Codim< 1 >::Geometry 
Geometry
typedef GridImp::template
Codim< 1 >::LocalGeometry 
LocalGeometry
typedef ALU2dGridEntity
< 0, dim, GridImp > 
EntityImp
typedef FieldVector
< alu2d_ctype, dimworld > 
NormalType
typedef FieldVector
< alu2d_ctype, dim-1 > 
LocalCoordinate
typedef ALU2dGridEntityPointer
< 0, GridImp > 
EntityPointerImp
typedef ALU2dImplTraits
< dimworld, eltype >
::ThinelementType 
ThinelementType
typedef ALU2dImplTraits
< dimworld, eltype >
::HElementType 
HElementType
typedef ALU2dImplTraits
< dimworld, eltype >
::HBndElType 
HBndElType
typedef
ALU2DIntersectionGeometryStorage
< LocalGeometryImpl > 
LocalGeometryStorageType
typedef
ALU2dGridIntersectionBase
< GridImp > 
ThisType

Public Member Functions

 ALU2dGridIntersectionBase (const FactoryType &factory, int wLevel)
 The default Constructor , creating an empty ALU2dGridIntersectionIterator.
 ALU2dGridIntersectionBase (const ThisType &org)
 The copy constructor.
virtual ~ALU2dGridIntersectionBase ()
void assign (const ThisType &org)
 The copy constructor.
const Intersectiondereference () const
bool equals (const ThisType &i) const
 check whether entities are the same or whether iterator is done
int level () const
 return level of inside(entity)
bool boundary () const
 return true if intersection is with boundary
int boundaryId () const
 return boundary type
size_t boundarySegmentIndex () const
 return the boundary segment index
bool neighbor () const
 return true if intersection is with neighbor on this level
EntityPointer inside () const
 return EntityPointer to the Entity on the inside of this intersection.
EntityPointer outside () const
 return EntityPointer to the Entity on the outside of this intersection.
int indexInInside () const
 local index of codim 1 entity in self where intersection is contained in
int indexInOutside () const
 local index of codim 1 entity in neighbor where intersection is contained in
int twistInInside () const
int twistInOutside () const
int twistInSelf () const
int twistInNeighbor () const
NormalType outerNormal (const LocalCoordinate &local) const
NormalType integrationOuterNormal (const LocalCoordinate &local) const
NormalType unitOuterNormal (const LocalCoordinate &local) const
LocalGeometry geometryInInside () const
LocalGeometry geometryInOutside () const
Geometry geometry () const
GeometryType type () const
 obtain the type of reference element for this intersection

Protected Member Functions

const GridImp & grid () const
virtual bool conforming () const =0
void checkValid ()
 return true if intersection is with boundary
void done (const HElementType *inside)
void done (const EntityImp &en)
void unsetUp2Date ()
void first (const EntityImp &en, int wLevel)
 reset IntersectionIterator to first neighbour
virtual void setFirstItem (const HElementType &elem, int wLevel)=0

Protected Attributes

struct
Dune::ALU2dGridIntersectionBase::impl 
current
GeometryImpl intersectionGlobal_
LocalGeometryImpl intersectionSelfLocal_
LocalGeometryImpl intersectionNeighborLocal_
const FactoryTypefactory_
const LocalGeometryStorageTypelocalGeomStorage_
int walkLevel_

Friends

class LevelIntersectionIteratorWrapper< GridImp >
class LeafIntersectionIteratorWrapper< GridImp >
class IntersectionIteratorWrapper< GridImp, ThisType >

Detailed Description

template<class GridImp>
class Dune::ALU2dGridIntersectionBase< 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!

Member Typedef Documentation

template<class GridImp>
typedef GridImp::template Codim<0>::Entity Dune::ALU2dGridIntersectionBase< GridImp >::Entity
template<class GridImp>
typedef ALU2dGridEntity<0,dim,GridImp> Dune::ALU2dGridIntersectionBase< GridImp >::EntityImp
template<class GridImp>
typedef GridImp::template Codim<0>::EntityPointer Dune::ALU2dGridIntersectionBase< GridImp >::EntityPointer
template<class GridImp>
typedef ALU2dGridEntityPointer<0,GridImp> Dune::ALU2dGridIntersectionBase< GridImp >::EntityPointerImp
template<class GridImp>
typedef GridImp :: GridObjectFactoryType Dune::ALU2dGridIntersectionBase< GridImp >::FactoryType
template<class GridImp>
typedef GridImp::template Codim<1>::Geometry Dune::ALU2dGridIntersectionBase< GridImp >::Geometry
template<class GridImp>
typedef ALU2dImplTraits< dimworld, eltype >::HBndElType Dune::ALU2dGridIntersectionBase< GridImp >::HBndElType
template<class GridImp>
typedef ALU2dImplTraits< dimworld, eltype >::HElementType Dune::ALU2dGridIntersectionBase< GridImp >::HElementType
template<class GridImp>
typedef ALU2dGridIntersectionBase< GridImp > Dune::ALU2dGridIntersectionBase< GridImp >::ImplementationType

type of the intersection

template<class GridImp>
typedef FieldVector< alu2d_ctype, dim-1 > Dune::ALU2dGridIntersectionBase< GridImp >::LocalCoordinate
template<class GridImp>
typedef GridImp::template Codim<1>::LocalGeometry Dune::ALU2dGridIntersectionBase< GridImp >::LocalGeometry
template<class GridImp>
typedef ALU2DIntersectionGeometryStorage< LocalGeometryImpl > Dune::ALU2dGridIntersectionBase< GridImp >::LocalGeometryStorageType
template<class GridImp>
typedef FieldVector< alu2d_ctype, dimworld > Dune::ALU2dGridIntersectionBase< GridImp >::NormalType
template<class GridImp>
typedef ALU2dImplTraits< dimworld, eltype >::ThinelementType Dune::ALU2dGridIntersectionBase< GridImp >::ThinelementType
template<class GridImp>
typedef ALU2dGridIntersectionBase<GridImp> Dune::ALU2dGridIntersectionBase< GridImp >::ThisType

Member Enumeration Documentation

template<class GridImp>
anonymous enum
Enumerator:
dimension 
template<class GridImp>
anonymous enum
Enumerator:
dimensionworld 

Constructor & Destructor Documentation

template<class GridImp >
Dune::ALU2dGridIntersectionBase< GridImp >::ALU2dGridIntersectionBase ( const FactoryType factory,
int  wLevel 
)
inline

The default Constructor , creating an empty ALU2dGridIntersectionIterator.

References Dune::ALU2dGridIntersectionBase< GridImp >::done().

template<class GridImp >
Dune::ALU2dGridIntersectionBase< GridImp >::ALU2dGridIntersectionBase ( const ThisType org)
inline

The copy constructor.

template<class GridImp>
virtual Dune::ALU2dGridIntersectionBase< GridImp >::~ALU2dGridIntersectionBase ( )
inlinevirtual

Member Function Documentation

template<class GridImp>
void Dune::ALU2dGridIntersectionBase< GridImp >::assign ( const ThisType org)
inline
template<class GridImp >
bool Dune::ALU2dGridIntersectionBase< GridImp >::boundary ( ) const
inline

return true if intersection is with boundary

template<class GridImp >
int Dune::ALU2dGridIntersectionBase< GridImp >::boundaryId ( ) const
inline

return boundary type

References Dune::Alberta::abs().

template<class GridImp >
size_t Dune::ALU2dGridIntersectionBase< GridImp >::boundarySegmentIndex ( ) const
inline

return the boundary segment index

template<class GridImp >
void Dune::ALU2dGridIntersectionBase< GridImp >::checkValid ( )
inlineprotected

return true if intersection is with boundary

References Dune::All_Partition.

template<class GridImp>
virtual bool Dune::ALU2dGridIntersectionBase< GridImp >::conforming ( ) const
protectedpure virtual
template<class GridImp>
const Intersection& Dune::ALU2dGridIntersectionBase< GridImp >::dereference ( ) const
inline
template<class GridImp >
void Dune::ALU2dGridIntersectionBase< GridImp >::done ( const HElementType inside)
inlineprotected
template<class GridImp>
void Dune::ALU2dGridIntersectionBase< GridImp >::done ( const EntityImp en)
inlineprotected
template<class GridImp>
bool Dune::ALU2dGridIntersectionBase< GridImp >::equals ( const ThisType i) const
inline
template<class GridImp >
void Dune::ALU2dGridIntersectionBase< GridImp >::first ( const EntityImp en,
int  wLevel 
)
inlineprotected
template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::Geometry Dune::ALU2dGridIntersectionBase< GridImp >::geometry ( ) const
inline
template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::LocalGeometry Dune::ALU2dGridIntersectionBase< GridImp >::geometryInInside ( ) const
inline
template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::LocalGeometry Dune::ALU2dGridIntersectionBase< GridImp >::geometryInOutside ( ) const
inline

References Dune::conforming.

template<class GridImp>
const GridImp& Dune::ALU2dGridIntersectionBase< GridImp >::grid ( ) const
inlineprotected
template<class GridImp >
int Dune::ALU2dGridIntersectionBase< GridImp >::indexInInside ( ) const
inline

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

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

References ALU2DSPACE, Dune::mixed, and ALU2DSPACENAME::triangle.

template<class GridImp >
int Dune::ALU2dGridIntersectionBase< GridImp >::indexInOutside ( ) const
inline

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

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

References ALU2DSPACE, Dune::mixed, and ALU2DSPACENAME::triangle.

template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::EntityPointer Dune::ALU2dGridIntersectionBase< GridImp >::inside ( ) const
inline

return EntityPointer to the Entity on the inside of this intersection.

template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::NormalType Dune::ALU2dGridIntersectionBase< GridImp >::integrationOuterNormal ( const LocalCoordinate local) const
inline
template<class GridImp >
int Dune::ALU2dGridIntersectionBase< GridImp >::level ( ) const
inline

return level of inside(entity)

return level of inside() entitiy

template<class GridImp >
bool Dune::ALU2dGridIntersectionBase< GridImp >::neighbor ( ) const
inline

return true if intersection is with neighbor on this level

template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::NormalType Dune::ALU2dGridIntersectionBase< GridImp >::outerNormal ( const LocalCoordinate local) const
inline

References Dune::cube.

template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::EntityPointer Dune::ALU2dGridIntersectionBase< GridImp >::outside ( ) const
inline

return EntityPointer to the Entity on the outside of this intersection.

template<class GridImp>
virtual void Dune::ALU2dGridIntersectionBase< GridImp >::setFirstItem ( const HElementType elem,
int  wLevel 
)
protectedpure virtual
template<class GridImp >
int Dune::ALU2dGridIntersectionBase< GridImp >::twistInInside ( ) const
inline
template<class GridImp>
int Dune::ALU2dGridIntersectionBase< GridImp >::twistInNeighbor ( ) const
inline
template<class GridImp >
int Dune::ALU2dGridIntersectionBase< GridImp >::twistInOutside ( ) const
inline
template<class GridImp>
int Dune::ALU2dGridIntersectionBase< GridImp >::twistInSelf ( ) const
inline
template<class GridImp >
GeometryType Dune::ALU2dGridIntersectionBase< GridImp >::type ( ) const
inline

obtain the type of reference element for this intersection

References ALU2DSPACE, and ALU2DSPACENAME::triangle.

template<class GridImp >
ALU2dGridIntersectionBase< GridImp >::NormalType Dune::ALU2dGridIntersectionBase< GridImp >::unitOuterNormal ( const LocalCoordinate local) const
inline
template<class GridImp >
void Dune::ALU2dGridIntersectionBase< GridImp >::unsetUp2Date ( )
inlineprotected

Friends And Related Function Documentation

template<class GridImp>
friend class IntersectionIteratorWrapper< GridImp, ThisType >
friend
template<class GridImp>
friend class LeafIntersectionIteratorWrapper< GridImp >
friend
template<class GridImp>
friend class LevelIntersectionIteratorWrapper< GridImp >
friend

Member Data Documentation

template<class GridImp>
struct Dune::ALU2dGridIntersectionBase::impl Dune::ALU2dGridIntersectionBase< GridImp >::current
protected
template<class GridImp>
const FactoryType& Dune::ALU2dGridIntersectionBase< GridImp >::factory_
protected
template<class GridImp>
GeometryImpl Dune::ALU2dGridIntersectionBase< GridImp >::intersectionGlobal_
mutableprotected
template<class GridImp>
LocalGeometryImpl Dune::ALU2dGridIntersectionBase< GridImp >::intersectionNeighborLocal_
mutableprotected
template<class GridImp>
LocalGeometryImpl Dune::ALU2dGridIntersectionBase< GridImp >::intersectionSelfLocal_
mutableprotected
template<class GridImp>
const LocalGeometryStorageType& Dune::ALU2dGridIntersectionBase< GridImp >::localGeomStorage_
protected
template<class GridImp>
int Dune::ALU2dGridIntersectionBase< GridImp >::walkLevel_
mutableprotected

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