40 #ifndef MESHELEMENTMARKED_H 41 #define MESHELEMENTMARKED_H 43 #include <lifev/core/LifeV.hpp> 44 #include <lifev/core/mesh/MarkerDefinitions.hpp> 45 #include <lifev/core/mesh/MeshElement.hpp> 46 #include <lifev/core/mesh/MeshElementBare.hpp> 60 template <
int elemDim,
int geoDim,
typename GeoShape,
typename MC>
70 template <
int geoDim,
typename GeoShape,
typename MC>
148 <
typename GeoShape,
typename MC>
312 <
typename GeoShape,
typename MC>
315 public MC::edgeMarker_Type
356 <
typename GeoShape,
typename MC>
359 public MC::edgeMarker_Type
399 <
typename GeoShape,
typename MC>
532 <
typename GeoShape,
typename MC>
535 public MC::faceMarker_Type
669 <
typename GeoShape,
typename MC>
722 <
typename GeoShape,
typename MC>
725 public MC::volumeMarker_Type
785 template <
int geoDim,
typename GeoShape,
typename MC>
790 template <
int geoDim,
typename GeoShape,
typename MC>
795 template <
int geoDim,
typename GeoShape,
typename MC>
800 template <
int geoDim,
typename GeoShape,
typename MC>
810 template <
int geoDim,
typename GeoShape,
typename MC>
814 if (
this != &Element )
826 template <
int geoDim,
typename GeoShape,
typename MC>
833 template <
int geoDim,
typename GeoShape,
typename MC>
843 template <
int geoDim,
typename GeoShape,
typename MC>
859 template <
typename GeoShape,
typename MC>
864 template <
typename GeoShape,
typename MC>
869 template <
typename GeoShape,
typename MC>
874 template <
typename GeoShape,
typename MC>
883 template <
typename GeoShape,
typename MC>
887 if (
this != &Element )
899 template <
typename GeoShape,
typename MC>
906 template <
typename GeoShape,
typename MC>
916 template <
typename GeoShape,
typename MC>
934 template <
typename GeoShape,
typename MC>
938 ASSERT_PRE ( GeoShape::S_nDimensions == 1 ,
"geoElement2D with incorrect GeoShape" ) ;
942 template <
typename GeoShape,
typename MC>
947 ASSERT_PRE ( GeoShape::S_nDimensions == 1 ,
"geoElement2D with incorrect GeoShape" ) ;
958 template <
typename GeoShape,
typename MC>
962 ASSERT_PRE ( geoShape_Type::S_nDimensions == 1 ,
"geoElement1D with incorrect GeoShape" ) ;
966 template <
typename GeoShape,
typename MC>
971 ASSERT_PRE ( geoShape_Type::S_nDimensions == 1 ,
"geoElement1D with incorrect GeoShape" ) ;
980 template <
typename GeoShape,
typename MC>
987 template <
typename GeoShape,
typename MC>
995 ASSERT_PRE ( geoShape_Type::S_nDimensions == 1 ,
"geoElement1D in 2D geometry with incorrect GeoShape" ) ;
998 template <
typename GeoShape,
typename MC>
1007 ASSERT_PRE ( geoShape_Type::S_nDimensions == 1 ,
"geoElement1D in 2D Geometry with incorrect GeoShape" ) ;
1015 template <
typename GeoShape,
typename MC>
1023 template <
typename GeoShape,
typename MC>
1031 ASSERT_PRE ( geoShape_Type::S_nDimensions == 2 ,
"geoElement2D with incorrect GeoShape" ) ;
1034 template <
typename GeoShape,
typename MC>
1043 ASSERT_PRE ( geoShape_Type::S_nDimensions == 2 ,
"geoElement2D with incorrect GeoShape" ) ;
1052 template <
typename GeoShape,
typename MC>
1054 template <
typename GeoShape,
typename MC>
1061 template <
typename GeoShape,
typename MC>
1065 ASSERT_PRE ( GeoShape::S_nDimensions == 2 ,
"geoElement2D in 2D geometry with incorrect GeoShape" )
1068 template <
typename GeoShape,
typename MC>
1073 ASSERT_PRE ( GeoShape::S_nDimensions == 2 ,
"geoElement2D in 2D geometry with incorrect GeoShape" )
1081 template <
typename GeoShape,
typename MC>
1083 template <
typename GeoShape,
typename MC>
1085 template <
typename GeoShape,
typename MC>
1092 template <
int elemDim,
int geoDim,
typename GeoShape,
typename MC>
1099 template <
typename GeoShape,
typename MC>
1103 ASSERT_PRE ( GeoShape::S_nDimensions == 3 ,
"geoElement3D with incorrect GeoShape" )
1106 template <
typename GeoShape,
typename MC>
1111 ASSERT_PRE ( GeoShape::S_nDimensions == 3 ,
"geoElement3D with incorrect GeoShape" )
static const UInt S_numLocalEdges
Number of element edges, for compatibility.
ID & secondAdjacentElementPosition()
Returns the position of the second adjacent element.
static const UInt S_numLocalEdges
Number of local Edges (using Euler Formula)
static const UInt S_numLocalVertices
Number of local Vertices.
MeshElementMarked< 0, 1, GeoShape, MC > geoBElement_Type
ID secondAdjacentElementPosition() const
Returns the position of the second adjacent element.
MeshElementMarked(ID identity, Real x, Real y, Real z, bool boundary=false)
Declares item identity, provides coordinate and states if it is on boundary.
edge_Type geoBElement_Type
ID M_secondAdjacentElementIdentity
ID firstAdjacentElementPosition() const
Returns the position of the first adjacent element.
MC::pointMarker_Type marker_Type
static const UInt S_numLocalVertices
Number of local Vertices.
MeshElementMarked< 0, 1, GeoShape, MC > point_Type
ID & firstAdjacentElementIdentity()
Returns the identity of the first adjacent element.
ID & secondAdjacentElementIdentity()
Returns the identity of the second adjacent element.
ID & secondAdjacentElementPosition()
Returns the position of the second adjacent element.
ID & firstAdjacentElementIdentity()
Returns the identity of the first adjacent element.
static const UInt S_numLocalFaces
Number of local Faces.
ID firstAdjacentElementIdentity() const
Returns the identity of the first adjacent element.
MC::edgeMarker_Type marker_Type
MeshElementMarked< 2, 2, GeoShape, MC > face_Type
GeoShape::GeoBShape::GeoBShape geoShape_Type
void setPoint(ID const identity, MeshElementMarked< 0, geoDim, GeoShape, MC > const *point)
ID M_firstAdjacentElementIdentity
GeoShape::GeoBShape faceShape_Type
MeshElementMarked(ID identity=NotAnId)
Declares element identity.
static const UInt S_numLocalRidges
ID M_firstAdjacentElementPosition
MeshElementMarked(const MeshElementMarked< 1, 2, GeoShape, MC > &Element)
Copy constructor.
MeshElementMarked(ID identity=NotAnId)
Declares element identity.
MeshElementMarked(ID identity, bool boundary=false)
Declares item identity and states if it is on boundary.
face_Type geoBElement_Type
MeshElementMarked< 0, 3, GeoShape, MC > point_Type
static const UInt S_numLocalFacets
MeshElementMarked< 0, 3, GeoShape, MC > point_Type
MeshElementMarked< 0, 3, GeoShape, MC > point_Type
faceShape_Type::GeoBShape edgeShape_Type
MeshVertex - Zero dimensional entity.
MeshElementMarked< 0, 1, GeoShape, MC > const & point(ID const identity) const
face_Type geoBElement_Type
ID M_secondAdjacentElementIdentity
ID firstAdjacentElementPosition() const
Returns the position of the first adjacent element.
MeshVertex - Zero dimensional entity.
MeshElementMarked(const MeshElementMarked< 1, 1, GeoShape, MC > &Element)
Copy constructor.
ID secondAdjacentElementIdentity() const
Returns the identity of the second adjacent element.
MC::faceMarker_Type marker_Type
ID M_secondAdjacentElementPosition
MeshElementMarked< 1, 3, GeoShape, MC > edge_Type
MeshElementMarked< 1, 3, GeoShape, MC > edge_Type
MC::volumeMarker_Type marker_Type
void updateInverseJacobian(const UInt &iQuadPt)
ID M_secondAdjacentElementIdentity
ID & firstAdjacentElementPosition()
Returns the position of the first adjacent element.
static const UInt S_numLocalVertices
MeshElementMarked & operator=(const MeshElementMarked< 0, 1, GeoShape, MC > &Element)
The equivalence operator.
MeshElementMarked(ID identity, Real x, Real y, Real z, bool boundary=false)
Declares item identity, provides coordinate and states if it is on boundary.
ID & secondAdjacentElementIdentity()
Returns the identity of the second adjacent element.
GeoShape::GeoBShape geoShape_Type
ID & secondAdjacentElementIdentity()
Returns the identity of the second adjacent element.
geoShape_Type::GeoBShape edgeShape_Type
MeshElementMarked(MeshVertex const &Element, MC const &Marker)
Copy constructor.
virtual ~MeshElementMarked()
Destructor.
MeshElementMarked(const MeshElementMarked< 1, 3, GeoShape, MC > &Element)
Copy constructor.
ID secondAdjacentElementIdentity() const
Returns the identity of the second adjacent element.
void setPoint(ID const, MeshElementMarked< 0, 1, GeoShape, MC > const &point)
ID & firstAdjacentElementPosition()
Returns the position of the first adjacent element.
ID M_firstAdjacentElementIdentity
MeshElementMarked< 0, 3, GeoShape, MC > geoBElement_Type
MeshElementMarked(ID identity=NotAnId)
Declares element identity.
static const UInt S_numLocalRidges
MeshElementMarked(ID identity=NotAnId)
Declares element identity.
MeshElementMarked(ID identity=NotAnId)
Declares element identity.
ID M_firstAdjacentElementPosition
virtual ~MeshElementMarked()
Destructor.
static const UInt S_numLocalFacets
MeshElementMarked(MeshElementMarked< 0, 1, GeoShape, MC > const &Element)
Copy constructor.
virtual ~MeshElementMarked()
Destructor.
ID firstAdjacentElementPosition() const
Returns the position of the first adjacent element.
MC::volumeMarker_Type marker_Type
ID firstAdjacentElementIdentity() const
Returns the identity of the first adjacent element.
MeshElementMarked< 0, 2, GeoShape, MC > point_Type
MeshElementMarked< 0, 2, GeoShape, MC > point_Type
void setPoint(ID const identity, MeshElementMarked< 0, 1, GeoShape, MC > const *point)
ID & secondAdjacentElementPosition()
Returns the position of the second adjacent element.
MeshElementMarked(ID identity, bool boundary=false)
Declares item identity and states if it is on boundary.
ID M_secondAdjacentElementPosition
MeshElementMarked()
Empty Constructor.
double Real
Generic real data.
ID secondAdjacentElementPosition() const
Returns the position of the second adjacent element.
MeshElementMarked()
Empty Constructor.
GeoShape::GeoBShape geoShape_Type
MeshElementMarked(const MeshElementMarked< 2, 2, GeoShape, MC > &Element)
Copy constructor.
MeshElementMarked & operator=(const MeshElementMarked< 0, geoDim, GeoShape, MC > &Element)
The equivalence operator.
MC::faceMarker_Type marker_Type
ID M_firstAdjacentElementPosition
Class for describing a geometric Entity immersed in 1D, 2D or 3D Geometry.
void setPoint(ID const, MeshElementMarked< 0, geoDim, GeoShape, MC > const &point)
static const UInt S_numPoints
MeshElementMarked< 2, 3, GeoShape, MC > face_Type
static const UInt S_numLocalEdges
Number of local Faces.
MeshElementMarked(const MeshElementMarked< 2, 3, GeoShape, MC > &Element)
Copy constructor.
static const UInt S_numLocalFacets
ID M_secondAdjacentElementPosition
faceShape_Type::GeoBShape edgeShape_Type
ID secondAdjacentElementIdentity() const
Returns the identity of the second adjacent element.
virtual ~MeshElementMarked()
Destructor.
virtual ~MeshElementMarked()
Destructor.
virtual ~MeshElementMarked()
Destructor.
MC::edgeMarker_Type marker_Type
GeoShape::GeoBShape faceShape_Type
ID & firstAdjacentElementIdentity()
Returns the identity of the first adjacent element.
ID firstAdjacentElementIdentity() const
Returns the identity of the first adjacent element.
MeshElementMarked< 0, geoDim, GeoShape, MC > const & point(ID const identity) const
MeshElementMarked(MeshElementMarked< 0, geoDim, GeoShape, MC > const &Element)
Copy constructor.
MeshElementMarked(const MeshElementMarked< 3, 3, GeoShape, MC > &Element)
Copy constructor.
MeshElementMarked< 1, 2, GeoShape, MC > edge_Type
virtual ~MeshElementMarked()
Destructor.
virtual ~MeshElementMarked()
Destructor.
MeshElementMarked< 1, 2, GeoShape, MC > edge_Type
MeshElementMarked(MeshVertex const &Element, MC const &Marker)
Copy constructor.
ID M_firstAdjacentElementIdentity
MC::pointMarker_Type marker_Type
MeshElementMarked(ID identity=NotAnId)
Declares element identity.
uint32_type UInt
generic unsigned integer (used mainly for addressing)
ID secondAdjacentElementPosition() const
Returns the position of the second adjacent element.
edge_Type geoBElement_Type
ID & firstAdjacentElementPosition()
Returns the position of the first adjacent element.
geoShape_Type::GeoBShape edgeShape_Type
static const UInt S_numLocalVertices
Number of element edges, for compatibility.