3 #ifndef DUNE_ALU3DGRIDFACEUTILITY_HH
4 #define DUNE_ALU3DGRIDFACEUTILITY_HH
6 #include <dune/geometry/referenceelements.hh>
30 return ((
const alu3d_ctype (&)[dim])(*( &(val[0])) ) );
41 template< ALU3dGr
idElementType type,
class Comm >
46 typedef typename ImplTraits::HasFaceType HasFaceType;
116 int duneTwist(
const int faceIdx,
const int aluTwist)
const;
136 return ! Conversion< Comm, No_Comm > :: sameType ;
154 const HasFaceType* innerElement_;
155 const HasFaceType* outerElement_;
157 int innerFaceNumber_;
158 int outerFaceNumber_;
166 enum boundary_t { noBoundary = 0,
167 periodicBoundary = 1,
168 innerGhostBoundary = 2,
170 outerGhostBoundary = 4};
175 const bool conformingRefinement_ ;
176 const bool ghostCellsEnabled_ ;
183 template< ALU3dGr
idElementType type,
class Comm >
186 template<
class Comm >
204 template<
class Comm >
227 template< ALU3dGr
idElementType type,
class Comm >
281 void generateLocalGeometries()
const;
283 int globalVertexIndex(
const int duneFaceIndex,
285 const int duneFaceVertexIndex)
const;
304 return (type ==
tetra) ?
311 return (type ==
tetra) ?
319 template<
class Comm >
343 template <
class GeometryImp>
358 mutable bool normalUp2Date_;
363 template<
class Comm >
388 template <
class GeometryImp>
406 mutable bool mappingGlobalUp2Date_;
411 #include "faceutility_imp.cc"
FieldMatrix< alu3d_ctype, numVerticesPerFace, 3 > CoordinateType
Definition: faceutility.hh:212
Definition: topology.hh:13
void resetFaceGeom()
reset status of faceGeomInfo
ElementTopologyMapping< type > ElementTopo
Definition: faceutility.hh:234
ALU3dGridGeometricFaceInfoBase(const ConnectorType &)
ALU3dGridFaceInfo< hexa, Comm >::GEOFaceType GEOFaceType
Definition: faceutility.hh:208
Definition: faceutility.hh:320
ALU3dGridGeometricFaceInfoHexa(const ConnectorType &)
bool innerBoundary() const
returns true if inside is a ghost entity
Definition: faceutility.hh:48
FieldMatrix< alu3d_ctype, numVerticesPerFace, dimworld > CoordinateType
Definition: faceutility.hh:257
ALU3dGridFaceInfo< type, Comm > ConnectorType
Definition: faceutility.hh:262
ImplTraits::GEOElementType GEOElementType
Definition: faceutility.hh:51
int innerALUFaceIndex() const
Local number of the face in inner element (ALU3dGrid reference element)
bool boundary() const
returns true if the face lies on the domain boundary
bool generatedGlobal_
Definition: faceutility.hh:299
ImplTraits::IMPLElementType IMPLElementType
Definition: faceutility.hh:53
Definition: faceutility.hh:249
int segmentIndex() const
return boundary segment index if intersection is with domain boundary
Definition: topology.hh:13
#define ALU3DSPACE
Definition: alu3dinclude.hh:26
const CoordinateType & intersectionNeighborLocal() const
A bilinear surface mapping.
Definition: mappings.hh:89
Definition: alugrid/common/declaration.hh:18
void resetFaceGeom()
reset status of faceGeomInfo
Definition: faceutility.hh:48
void updateFaceInfo(const GEOFaceType &face, int innerLevel, int innerTwist)
SideIdentifier
Definition: faceutility.hh:248
void buildGlobalGeom(GeometryImp &geo) const
update global geometry
CoordinateType coordsNeighborLocal_
Definition: faceutility.hh:297
ALU3dGridFaceInfo< tetra, Comm >::GEOFaceType GEOFaceType
Definition: faceutility.hh:192
ALU3dGridFaceInfo(const bool conformingRefinement, const bool ghostCellsEnabled)
constructor creating empty face info
ALU3dGridGeometricFaceInfoTetra(const ConnectorType &ctor)
bool parallel() const
return whether we are in a parallel environment or not
Definition: faceutility.hh:135
const GEOFaceType & face() const
Returns the ALU3dGrid face.
bool isElementLike() const
returns true if outerEntity casts into a helement
Definition: mappings.hh:387
ReferenceElements< alu3d_ctype, 3 > ReferenceElementContainerType
Definition: faceutility.hh:239
ALU3dGridFaceInfo< hexa, Comm >::GEOFaceType GEOFaceType
Definition: faceutility.hh:373
static const ReferenceElementType & getReferenceElement()
Definition: faceutility.hh:302
~ALU3dGridFaceInfo()
Destructor.
bool neighbor() const
returns true if outside is something meaningfull
bool ghostBoundary() const
A bilinear surface mapping.
Definition: mappings.hh:144
ConformanceState conformanceState() const
Description of conformance on the face.
Definition: faceutility.hh:248
Definition: alu3dinclude.hh:201
Definition: faceutility.hh:364
double alu3d_ctype
Definition: alu3dinclude.hh:59
ImplTraits::GhostPairType GhostPairType
Definition: faceutility.hh:54
bool generatedLocal_
Definition: faceutility.hh:300
FieldMatrix< alu3d_ctype, numVerticesPerFace, 3 > CoordinateType
Definition: faceutility.hh:196
BilinearSurfaceMapping SurfaceMappingType
Definition: faceutility.hh:207
void buildGlobalGeom(GeometryImp &geo) const
update global geometry
const CoordinateType & intersectionSelfLocal() const
ReferenceElements< alu3d_ctype, 2 > ReferenceFaceContainerType
Definition: faceutility.hh:241
NormalType & outerNormal(const FieldVector< alu3d_ctype, 2 > &local) const
CoordinateType coordsSelfLocal_
Definition: faceutility.hh:296
SurfaceNormalCalculator SurfaceMappingType
Definition: faceutility.hh:374
Definition: alugrid/common/declaration.hh:18
const BNDFaceType & boundaryFace() const
FieldVector< alu3d_ctype, 3 > NormalType
Definition: faceutility.hh:254
Definition: topology.hh:126
ImplTraits::GEOPeriodicType GEOPeriodicType
Definition: faceutility.hh:52
const BNDFaceType & innerFace() const
ALU3dGridFaceInfo< hexa, Comm > ConnectorType
Definition: faceutility.hh:376
Definition: faceutility.hh:248
alu3d_ctype(& fieldVector2alu3d_ctype(FieldVector< alu3d_ctype, dim > &val))[dim]
Definition: faceutility.hh:21
NonConformingFaceMapping< type, Comm > NonConformingMappingType
Definition: faceutility.hh:236
FaceTopologyMapping< type > FaceTopo
Definition: faceutility.hh:235
NormalType & outerNormal(const FieldVector< alu3d_ctype, 2 > &local) const
ImplTraits::BNDFaceType BNDFaceType
Definition: faceutility.hh:55
Definition: faceutility.hh:250
Definition: topology.hh:40
Base::FaceTopo FaceTopo
Definition: faceutility.hh:372
ReferenceElement< alu3d_ctype, 2 > ReferenceFaceType
Definition: faceutility.hh:246
Definition: faceutility.hh:184
Definition: faceutility.hh:228
Base::FaceTopo FaceTopo
Definition: faceutility.hh:328
Definition: topology.hh:16
int boundaryId() const
return boundary id if intersection is with domain boundary
const GEOElementType & innerEntity() const
Returns the inner element at that face.
void resetFaceGeom()
reset status of faceGeomInfo
FieldVector< alu3d_ctype, 3 > NormalType
Definition: faceutility.hh:327
const GEOElementType & outerEntity() const
int outerTwist() const
Twist of the face seen from the outer element.
const ConnectorType & connector_
Definition: faceutility.hh:294
ImplTraits::GEOFaceType GEOFaceType
Definition: faceutility.hh:50
ReferenceElement< alu3d_ctype, 3 > ReferenceElementType
Definition: faceutility.hh:244
static const ReferenceFaceType & getReferenceFace()
Definition: faceutility.hh:309
bool outerBoundary() const
Definition: faceutility.hh:48
Definition: faceutility.hh:48
FieldVector< alu3d_ctype, 3 > NormalType
Definition: faceutility.hh:371
Definition: faceutility.hh:42
bool conformingRefinement() const
return true if conforming refinement is enabled
Definition: faceutility.hh:140
ConformanceState
Definition: faceutility.hh:48
ALU3dGridFaceInfo< tetra, Comm > ConnectorType
Definition: faceutility.hh:331
int innerTwist() const
Twist of the face seen from the inner element.
ALU3dGridFaceInfo< tetra, Comm >::GEOFaceType GEOFaceType
Definition: faceutility.hh:329
int outerALUFaceIndex() const
Local number of the face in outer element (ALU3dGrid reference element)
ALU3DSPACE LinearSurfaceMapping SurfaceMappingType
Definition: faceutility.hh:191
ALU3dGridFaceInfo< type, Comm >::GEOFaceType GEOFaceType
Definition: faceutility.hh:259
int duneTwist(const int faceIdx, const int aluTwist) const
Twist of the face seen from the inner element.