dune-grid
2.2.0
|
#include <dune/grid/alugrid/3d/iterator.hh>
Public Types | |
typedef GridImp::GridObjectFactoryType | FactoryType |
typedef GridImp::template Codim< 0 >::Entity | Entity |
typedef GridImp::template Codim< 1 >::Geometry | Geometry |
typedef GridImp::template Codim< 1 >::LocalGeometry | LocalGeometry |
typedef ALU3dGridIntersectionIterator < GridImp > | ImplementationType |
typedef Dune::Intersection < GridImp, Dune::ALU3dGridIntersectionIterator > | Intersection |
type of the intersection | |
typedef FieldVector < alu3d_ctype, dimworld > | NormalType |
typedef ALU3dGridEntityPointer < 0, GridImp > | EntityPointer |
typedef ALUMemoryProvider < ThisType > | StorageType |
Public Member Functions | |
ALU3dGridIntersectionIterator (const FactoryType &factory, HElementType *el, int wLevel, bool end=false) | |
ALU3dGridIntersectionIterator (const FactoryType &factory, int wLevel) | |
ALU3dGridIntersectionIterator (const ALU3dGridIntersectionIterator< GridImp > &org) | |
The copy constructor. | |
void | assign (const ALU3dGridIntersectionIterator< GridImp > &org) |
assignment of iterators | |
const Intersection & | dereference () const |
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 | |
size_t | boundarySegmentIndex () const |
return the boundary segment index | |
LocalGeometry | geometryInInside () const |
Geometry | geometry () const |
GeometryType | type () const |
obtain the type of reference element for this intersection | |
int | indexInInside () const |
LocalGeometry | geometryInOutside () const |
int | indexInOutside () const |
int | twistInSelf () const |
returns twist of face compared to inner element | |
int | twistInNeighbor () const |
returns twist of face compared to outer element | |
int | twistInInside () const |
returns twist of face compared to inner element | |
int | twistInOutside () 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 (level of item) | |
int | outsideLevel () const |
bool | conforming () const |
return true if intersection is conforming | |
const GEOFaceType & | getItem () const |
return current face |
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 | setFirstItem (const HElementType &elem, int wLevel) |
void | setInteriorItem (const HElementType &elem, const BNDFaceType &bnd, int wLevel) |
template<class EntityType > | |
void | first (const EntityType &en, int wLevel) |
void | setNewFace (const GEOFaceType &newFace) |
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 FactoryType & | factory_ |
const IMPLElementType * | item_ |
current element from which we started the intersection iterator | |
const BNDFaceType * | ghost_ |
current pointer to ghost face if iterator was started from ghost element | |
int | innerLevel_ |
int | index_ |
GeometryImpl | intersectionGlobal_ |
GeometryImpl | intersectionSelfLocal_ |
GeometryImpl | intersectionNeighborLocal_ |
NormalType | unitOuterNormal_ |
bool | done_ |
Friends | |
class | ALU3dGridEntity< 0, dim, GridImp > |
class | IntersectionIteratorWrapper< GridImp, ThisType > |
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!
typedef GridImp::template Codim<0>::Entity Dune::ALU3dGridIntersectionIterator< GridImp >::Entity |
typedef ALU3dGridEntityPointer<0,GridImp> Dune::ALU3dGridIntersectionIterator< GridImp >::EntityPointer |
typedef GridImp::GridObjectFactoryType Dune::ALU3dGridIntersectionIterator< GridImp >::FactoryType |
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
typedef GridImp::template Codim<1>::Geometry Dune::ALU3dGridIntersectionIterator< GridImp >::Geometry |
|
protected |
typedef ALU3dGridIntersectionIterator< GridImp > Dune::ALU3dGridIntersectionIterator< GridImp >::ImplementationType |
typedef Dune::Intersection< GridImp, Dune::ALU3dGridIntersectionIterator > Dune::ALU3dGridIntersectionIterator< GridImp >::Intersection |
type of the intersection
typedef GridImp::template Codim<1>::LocalGeometry Dune::ALU3dGridIntersectionIterator< GridImp >::LocalGeometry |
|
protected |
typedef FieldVector<alu3d_ctype, dimworld> Dune::ALU3dGridIntersectionIterator< GridImp >::NormalType |
typedef ALUMemoryProvider< ThisType > Dune::ALU3dGridIntersectionIterator< GridImp >::StorageType |
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
|
protected |
Dune::ALU3dGridIntersectionIterator< GridImp >::ALU3dGridIntersectionIterator | ( | const FactoryType & | factory, |
HElementType * | el, | ||
int | wLevel, | ||
bool | end = false |
||
) |
The default Constructor , level tells on which level we want neighbours
Dune::ALU3dGridIntersectionIterator< GridImp >::ALU3dGridIntersectionIterator | ( | const FactoryType & | factory, |
int | wLevel | ||
) |
Dune::ALU3dGridIntersectionIterator< GridImp >::ALU3dGridIntersectionIterator | ( | const ALU3dGridIntersectionIterator< GridImp > & | org | ) |
The copy constructor.
void Dune::ALU3dGridIntersectionIterator< GridImp >::assign | ( | const ALU3dGridIntersectionIterator< GridImp > & | org | ) |
assignment of iterators
bool Dune::ALU3dGridIntersectionIterator< GridImp >::boundary | ( | ) | const |
return true if intersection is with boundary.
int Dune::ALU3dGridIntersectionIterator< GridImp >::boundaryId | ( | ) | const |
return information about the Boundary
size_t Dune::ALU3dGridIntersectionIterator< GridImp >::boundarySegmentIndex | ( | ) | const |
return the boundary segment index
|
protected |
|
inline |
return true if intersection is conforming
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
References Dune::ALU3dGridFaceInfo< type, Comm >::conformanceState(), Dune::ALU3dGridFaceInfo< GridImp::elementType, Comm >::CONFORMING, and Dune::ALU3dGridIntersectionIterator< GridImp >::connector_.
|
inline |
|
protected |
|
inlineprotected |
References Dune::ALU3dGridIntersectionIterator< GridImp >::done().
Referenced by Dune::ALU3dGridIntersectionIterator< GridImp >::done().
bool Dune::ALU3dGridIntersectionIterator< GridImp >::equals | ( | const ALU3dGridIntersectionIterator< GridImp > & | i | ) | const |
The copy constructor.
|
protected |
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
Geometry Dune::ALU3dGridIntersectionIterator< GridImp >::geometry | ( | ) | const |
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.
LocalGeometry Dune::ALU3dGridIntersectionIterator< GridImp >::geometryInInside | ( | ) | const |
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.
LocalGeometry Dune::ALU3dGridIntersectionIterator< GridImp >::geometryInOutside | ( | ) | const |
intersection of codimension 1 of this neighbor with element where iteration started. Here returned element is in LOCAL coordinates of neighbor
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
return current face
References Dune::ALU3dGridIntersectionIterator< GridImp >::connector_, and Dune::ALU3dGridFaceInfo< type, Comm >::face().
void Dune::ALU3dGridIntersectionIterator< GridImp >::increment | ( | ) |
increment iterator
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
int Dune::ALU3dGridIntersectionIterator< GridImp >::indexInInside | ( | ) | const |
local index of codim 1 entity in self where intersection is contained in
int Dune::ALU3dGridIntersectionIterator< GridImp >::indexInOutside | ( | ) | const |
local index of codim 1 entity in neighbor where intersection is contained
EntityPointer Dune::ALU3dGridIntersectionIterator< GridImp >::inside | ( | ) | const |
access entity where iteration started
NormalType& Dune::ALU3dGridIntersectionIterator< GridImp >::integrationOuterNormal | ( | const FieldVector< alu3d_ctype, dim-1 > & | local | ) | const |
return outer normal, this should be dependent on local coordinates for higher order boundary
bool Dune::ALU3dGridIntersectionIterator< GridImp >::leafNeighbor | ( | ) | const |
return true if across the edge an neighbor on leaf level exists
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
int Dune::ALU3dGridIntersectionIterator< GridImp >::level | ( | ) | const |
return level of iterator (level of item)
bool Dune::ALU3dGridIntersectionIterator< GridImp >::levelNeighbor | ( | ) | const |
return true if across the edge an neighbor on this level exists
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
bool Dune::ALU3dGridIntersectionIterator< GridImp >::neighbor | ( | ) | const |
return true if across the edge an neighbor on this level exists
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
NormalType& Dune::ALU3dGridIntersectionIterator< GridImp >::outerNormal | ( | const FieldVector< alu3d_ctype, dim-1 > & | local | ) | const |
return outer normal, this should be dependent on local coordinates for higher order boundary
EntityPointer Dune::ALU3dGridIntersectionIterator< GridImp >::outside | ( | ) | const |
access neighbor
|
inline |
|
protected |
|
protected |
|
protected |
int Dune::ALU3dGridIntersectionIterator< GridImp >::twistInInside | ( | ) | const |
returns twist of face compared to inner element
Referenced by Dune::ALU3dGridIntersectionIterator< GridImp >::twistInSelf().
|
inline |
returns twist of face compared to outer element
References Dune::ALU3dGridIntersectionIterator< GridImp >::twistInOutside().
int Dune::ALU3dGridIntersectionIterator< GridImp >::twistInOutside | ( | ) | const |
returns twist of face compared to outer element
Referenced by Dune::ALU3dGridIntersectionIterator< GridImp >::twistInNeighbor().
|
inline |
returns twist of face compared to inner element
References Dune::ALU3dGridIntersectionIterator< GridImp >::twistInInside().
GeometryType Dune::ALU3dGridIntersectionIterator< GridImp >::type | ( | ) | const |
obtain the type of reference element for this intersection
NormalType& Dune::ALU3dGridIntersectionIterator< GridImp >::unitOuterNormal | ( | const FieldVector< alu3d_ctype, dim-1 > & | local | ) | const |
return unit outer normal, this should be dependent on local coordinates for higher order boundary
|
friend |
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
|
friend |
Reimplemented in Dune::ALU3dGridLevelIntersectionIterator< GridImp >.
|
mutableprotected |
structure containing the topological and geometrical information about the face which the iterator points to
Referenced by Dune::ALU3dGridIntersectionIterator< GridImp >::conforming(), Dune::ALU3dGridLevelIntersectionIterator< GridImp >::conforming(), Dune::ALU3dGridIntersectionIterator< GridImp >::getItem(), and Dune::ALU3dGridIntersectionIterator< GridImp >::outsideLevel().
|
protected |
|
protected |
|
mutableprotected |
|
protected |
current pointer to ghost face if iterator was started from ghost element
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
current element from which we started the intersection iterator
|
mutableprotected |