dune-alugrid  3.0.0
Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::ALU3dGridLevelIntersectionIterator< GridImp > Class Template Reference

#include <dune/alugrid/3d/grid.hh>

Inheritance diagram for Dune::ALU3dGridLevelIntersectionIterator< GridImp >:
Inheritance graph

Public Types

typedef ALUTwists<(dim==3) ? GridImp::elementType==tetra ? 3 :4 :2, dim-1 > Twists
 
typedef Twists::Twist Twist
 
typedef GridImp::template Codim< 0 >::Entity Entity
 
typedef GridImp::template Codim< 1 >::Geometry Geometry
 
typedef GridImp::template Codim< 1 >::LocalGeometry LocalGeometry
 
typedef GridImp::template Codim< 0 >::EntityPointerImpl EntityPointerImpl
 
typedef ALU3dGridIntersectionIterator< GridImp > ImplementationType
 
typedef Dune::Intersection< GridImp, Dune::ALU3dGridIntersectionIterator< GridImp > > Intersection
 type of the intersection More...
 
typedef FieldVector< alu3d_ctype, dimworld > NormalType
 

Public Member Functions

 ALU3dGridLevelIntersectionIterator ()
 The default Constructor. More...
 
 ALU3dGridLevelIntersectionIterator (const ThisType &org)
 The copy constructor. More...
 
void assign (const ThisType &org)
 assignment of iterators More...
 
void increment ()
 increment iterator More...
 
template<class EntityType >
void first (const EntityType &en, int wLevel, const bool conformingRefinement, const bool ghostCellsEnabled)
 
bool neighbor () const
 return true if across the edge an neighbor on this level exists More...
 
bool conforming () const
 return true if intersection is conforming More...
 
bool equals (const ALU3dGridIntersectionIterator< GridImp > &i) const
 The copy constructor. More...
 
EntityPointerImpl outside () const
 access neighbor More...
 
EntityPointerImpl inside () const
 access entity where iteration started More...
 
bool boundary () const
 return true if intersection is with boundary. More...
 
int boundaryId () const
 return information about the Boundary More...
 
size_t boundarySegmentIndex () const
 return the boundary segment index More...
 
LocalGeometry geometryInInside () const
 
Geometry geometry () const
 
GeometryType type () const
 obtain the type of reference element for this intersection More...
 
int indexInInside () const
 
LocalGeometry geometryInOutside () const
 
int indexInOutside () const
 
Twist twistInInside () const
 returns twist of face compared to inner element More...
 
Twist twistInOutside () const
 returns twist of face compared to outer element More...
 
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 (level of item) More...
 
int outsideLevel () const
 
const GEOFaceType & getItem () const
 return current face More...
 
int weight () const
 return communication weight More...
 
void invalidate ()
 

Public Attributes

unsigned int refCount_
 

Protected Types

enum  IntersectionIteratorType { IntersectionLeaf, IntersectionLevel, IntersectionBoth }
 
typedef GridImp::Traits::template Codim< 1 >::GeometryImpl GeometryImpl
 
typedef GridImp::Traits::template Codim< 1 >::LocalGeometryImpl LocalGeometryImpl
 

Protected Member Functions

void done ()
 
template<class EntityType >
void done (const EntityType &en)
 
void buildLocalGeometries () const
 
const ALU3dImplTraits< tetra, Comm >::GEOFaceType * getFace (const GEOTriangleBndType &bnd, int index) const
 
const ALU3dImplTraits< hexa, Comm >::GEOFaceType * getFace (const GEOQuadBndType &bnd, int index) const
 
const ALU3dImplTraits< tetra, Comm >::GEOFaceType * getFace (const GEOTetraElementType &elem, int index) const
 
const ALU3dImplTraits< hexa, Comm >::GEOFaceType * getFace (const GEOHexaElementType &elem, int index) const
 

Protected Attributes

FaceInfoType connector_
 
GeometryInfoType geoProvider_
 
const IMPLElementType * item_
 current element from which we started the intersection iterator More...
 
const BNDFaceType * ghost_
 current pointer to ghost face if iterator was started from ghost element More...
 
int innerLevel_
 
int index_
 
GeometryImpl intersectionGlobal_
 
LocalGeometryImpl intersectionSelfLocal_
 
LocalGeometryImpl intersectionNeighborLocal_
 
NormalType unitOuterNormal_
 

Member Typedef Documentation

◆ Entity

template<class GridImp>
typedef GridImp::template Codim<0>::Entity Dune::ALU3dGridIntersectionIterator< GridImp >::Entity
inherited

◆ EntityPointerImpl

template<class GridImp>
typedef GridImp::template Codim<0>::EntityPointerImpl Dune::ALU3dGridIntersectionIterator< GridImp >::EntityPointerImpl
inherited

◆ Geometry

template<class GridImp>
typedef GridImp::template Codim<1>::Geometry Dune::ALU3dGridIntersectionIterator< GridImp >::Geometry
inherited

◆ GeometryImpl

template<class GridImp>
typedef GridImp::Traits::template Codim< 1 >::GeometryImpl Dune::ALU3dGridIntersectionIterator< GridImp >::GeometryImpl
protectedinherited

◆ ImplementationType

template<class GridImp>
typedef ALU3dGridIntersectionIterator< GridImp > Dune::ALU3dGridIntersectionIterator< GridImp >::ImplementationType
inherited

◆ Intersection

template<class GridImp>
typedef Dune::Intersection< GridImp, Dune::ALU3dGridIntersectionIterator< GridImp > > Dune::ALU3dGridIntersectionIterator< GridImp >::Intersection
inherited

type of the intersection

◆ LocalGeometry

template<class GridImp>
typedef GridImp::template Codim<1>::LocalGeometry Dune::ALU3dGridIntersectionIterator< GridImp >::LocalGeometry
inherited

◆ LocalGeometryImpl

template<class GridImp>
typedef GridImp::Traits::template Codim< 1 >::LocalGeometryImpl Dune::ALU3dGridIntersectionIterator< GridImp >::LocalGeometryImpl
protectedinherited

◆ NormalType

template<class GridImp>
typedef FieldVector<alu3d_ctype, dimworld> Dune::ALU3dGridIntersectionIterator< GridImp >::NormalType
inherited

◆ Twist

template<class GridImp>
typedef Twists::Twist Dune::ALU3dGridIntersectionIterator< GridImp >::Twist
inherited

◆ Twists

template<class GridImp>
typedef ALUTwists< (dim == 3 ) ? GridImp::elementType == tetra ? 3 : 4 : 2, dim-1 > Dune::ALU3dGridIntersectionIterator< GridImp >::Twists
inherited

Member Enumeration Documentation

◆ IntersectionIteratorType

template<class GridImp>
enum Dune::ALU3dGridIntersectionIterator::IntersectionIteratorType
protectedinherited
Enumerator
IntersectionLeaf 
IntersectionLevel 
IntersectionBoth 

Constructor & Destructor Documentation

◆ ALU3dGridLevelIntersectionIterator() [1/2]

template<class GridImp >
Dune::ALU3dGridLevelIntersectionIterator< GridImp >::ALU3dGridLevelIntersectionIterator ( )
inline

The default Constructor.

◆ ALU3dGridLevelIntersectionIterator() [2/2]

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

The copy constructor.

Member Function Documentation

◆ assign()

template<class GridImp >
void Dune::ALU3dGridLevelIntersectionIterator< GridImp >::assign ( const ThisType org)
inline

assignment of iterators

◆ boundary()

template<class GridImp >
bool Dune::ALU3dGridIntersectionIterator< GridImp >::boundary ( ) const
inlineinherited

return true if intersection is with boundary.

◆ boundaryId()

template<class GridImp >
int Dune::ALU3dGridIntersectionIterator< GridImp >::boundaryId ( ) const
inlineinherited

return information about the Boundary

◆ boundarySegmentIndex()

template<class GridImp >
size_t Dune::ALU3dGridIntersectionIterator< GridImp >::boundarySegmentIndex ( ) const
inlineinherited

return the boundary segment index

◆ buildLocalGeometries()

template<class GridImp >
void Dune::ALU3dGridIntersectionIterator< GridImp >::buildLocalGeometries ( ) const
inlineprotectedinherited

◆ conforming()

template<class GridImp >
bool Dune::ALU3dGridLevelIntersectionIterator< GridImp >::conforming ( ) const
inline

return true if intersection is conforming

◆ done() [1/2]

template<class GridImp >
void Dune::ALU3dGridIntersectionIterator< GridImp >::done ( )
inlineprotectedinherited

◆ done() [2/2]

template<class GridImp>
template<class EntityType >
void Dune::ALU3dGridIntersectionIterator< GridImp >::done ( const EntityType &  en)
inlineprotectedinherited

◆ equals()

template<class GridImp>
bool Dune::ALU3dGridIntersectionIterator< GridImp >::equals ( const ALU3dGridIntersectionIterator< GridImp > &  i) const
inlineinherited

The copy constructor.

◆ first()

template<class GridImp >
template<class EntityType >
void Dune::ALU3dGridLevelIntersectionIterator< GridImp >::first ( const EntityType &  en,
int  wLevel,
const bool  conformingRefinement,
const bool  ghostCellsEnabled 
)
inline

◆ geometry()

template<class GridImp >
ALU3dGridIntersectionIterator< GridImp >::Geometry Dune::ALU3dGridIntersectionIterator< GridImp >::geometry ( ) const
inlineinherited

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.

◆ geometryInInside()

template<class GridImp >
ALU3dGridIntersectionIterator< GridImp >::LocalGeometry Dune::ALU3dGridIntersectionIterator< GridImp >::geometryInInside ( ) const
inlineinherited

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.

◆ geometryInOutside()

template<class GridImp >
ALU3dGridIntersectionIterator< GridImp >::LocalGeometry Dune::ALU3dGridIntersectionIterator< GridImp >::geometryInOutside ( ) const
inlineinherited

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

◆ getFace() [1/4]

template<class GridImp >
const ALU3dImplTraits< hexa, typename GridImp::MPICommunicatorType >::GEOFaceType * Dune::ALU3dGridIntersectionIterator< GridImp >::getFace ( const GEOHexaElementType &  elem,
int  index 
) const
inlineprotectedinherited

◆ getFace() [2/4]

template<class GridImp >
const ALU3dImplTraits< hexa, typename GridImp::MPICommunicatorType >::GEOFaceType * Dune::ALU3dGridIntersectionIterator< GridImp >::getFace ( const GEOQuadBndType &  bnd,
int  index 
) const
inlineprotectedinherited

◆ getFace() [3/4]

template<class GridImp >
const ALU3dImplTraits< tetra, typename GridImp::MPICommunicatorType >::GEOFaceType * Dune::ALU3dGridIntersectionIterator< GridImp >::getFace ( const GEOTetraElementType &  elem,
int  index 
) const
inlineprotectedinherited

◆ getFace() [4/4]

template<class GridImp >
const ALU3dImplTraits< tetra, typename GridImp::MPICommunicatorType >::GEOFaceType * Dune::ALU3dGridIntersectionIterator< GridImp >::getFace ( const GEOTriangleBndType &  bnd,
int  index 
) const
inlineprotectedinherited

◆ getItem()

template<class GridImp>
const GEOFaceType& Dune::ALU3dGridIntersectionIterator< GridImp >::getItem ( ) const
inlineinherited

return current face

◆ increment()

template<class GridImp >
void Dune::ALU3dGridLevelIntersectionIterator< GridImp >::increment ( )
inline

increment iterator

◆ indexInInside()

template<class GridImp >
int Dune::ALU3dGridIntersectionIterator< GridImp >::indexInInside ( ) const
inlineinherited

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

◆ indexInOutside()

template<class GridImp >
int Dune::ALU3dGridIntersectionIterator< GridImp >::indexInOutside ( ) const
inlineinherited

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

◆ inside()

template<class GridImp >
ALU3dGridIntersectionIterator< GridImp >::EntityPointerImpl Dune::ALU3dGridIntersectionIterator< GridImp >::inside ( ) const
inlineinherited

access entity where iteration started

◆ integrationOuterNormal()

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

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

◆ invalidate()

template<class GridImp>
void Dune::ALU3dGridIntersectionIterator< GridImp >::invalidate ( )
inlineinherited

◆ level()

template<class GridImp >
int Dune::ALU3dGridIntersectionIterator< GridImp >::level ( ) const
inlineinherited

return level of iterator (level of item)

◆ neighbor()

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

return true if across the edge an neighbor on this level exists

◆ outerNormal()

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

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

◆ outside()

template<class GridImp >
ALU3dGridIntersectionIterator< GridImp >::EntityPointerImpl Dune::ALU3dGridIntersectionIterator< GridImp >::outside ( ) const
inlineinherited

access neighbor

◆ outsideLevel()

template<class GridImp>
int Dune::ALU3dGridIntersectionIterator< GridImp >::outsideLevel ( ) const
inlineinherited

◆ twistInInside()

template<class GridImp >
ALU3dGridIntersectionIterator< GridImp >::Twist Dune::ALU3dGridIntersectionIterator< GridImp >::twistInInside ( ) const
inlineinherited

returns twist of face compared to inner element

◆ twistInOutside()

template<class GridImp >
ALU3dGridIntersectionIterator< GridImp >::Twist Dune::ALU3dGridIntersectionIterator< GridImp >::twistInOutside ( ) const
inlineinherited

returns twist of face compared to outer element

◆ type()

template<class GridImp >
GeometryType Dune::ALU3dGridIntersectionIterator< GridImp >::type ( ) const
inlineinherited

obtain the type of reference element for this intersection

◆ unitOuterNormal()

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

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

◆ weight()

template<class GridImp>
int Dune::ALU3dGridIntersectionIterator< GridImp >::weight ( ) const
inlineinherited

return communication weight

Member Data Documentation

◆ connector_

template<class GridImp>
FaceInfoType Dune::ALU3dGridIntersectionIterator< GridImp >::connector_
mutableprotectedinherited

structure containing the topological and geometrical information about the face which the iterator points to

◆ geoProvider_

template<class GridImp>
GeometryInfoType Dune::ALU3dGridIntersectionIterator< GridImp >::geoProvider_
mutableprotectedinherited

◆ ghost_

template<class GridImp>
const BNDFaceType* Dune::ALU3dGridIntersectionIterator< GridImp >::ghost_
protectedinherited

current pointer to ghost face if iterator was started from ghost element

◆ index_

template<class GridImp>
int Dune::ALU3dGridIntersectionIterator< GridImp >::index_
mutableprotectedinherited

◆ innerLevel_

template<class GridImp>
int Dune::ALU3dGridIntersectionIterator< GridImp >::innerLevel_
mutableprotectedinherited

◆ intersectionGlobal_

template<class GridImp>
GeometryImpl Dune::ALU3dGridIntersectionIterator< GridImp >::intersectionGlobal_
mutableprotectedinherited

◆ intersectionNeighborLocal_

template<class GridImp>
LocalGeometryImpl Dune::ALU3dGridIntersectionIterator< GridImp >::intersectionNeighborLocal_
mutableprotectedinherited

◆ intersectionSelfLocal_

template<class GridImp>
LocalGeometryImpl Dune::ALU3dGridIntersectionIterator< GridImp >::intersectionSelfLocal_
mutableprotectedinherited

◆ item_

template<class GridImp>
const IMPLElementType* Dune::ALU3dGridIntersectionIterator< GridImp >::item_
protectedinherited

current element from which we started the intersection iterator

◆ refCount_

template<class GridImp>
unsigned int Dune::ALU3dGridIntersectionIterator< GridImp >::refCount_
inherited

◆ unitOuterNormal_

template<class GridImp>
NormalType Dune::ALU3dGridIntersectionIterator< GridImp >::unitOuterNormal_
mutableprotectedinherited

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