Feel++  0.91.4
Public Types | Public Member Functions | Static Public Attributes
Feel::GeoElement3D< Dim, GEOSHAPE, T > Class Template Reference

Class for 3D elements. More...

#include <geoelement.hpp>

Inheritance diagram for Feel::GeoElement3D< Dim, GEOSHAPE, T >:
Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > > Feel::SubFaceOfNone Feel::GeoEntity< GEOSHAPE > equality_comparable less_than_comparable less_than_comparable GEOSHAPE

List of all members.

Public Types

enum  { nDim = Dim }
typedef GeoND< Dim, GEOSHAPE,
T, GeoElement0D< Dim,
SubFaceOfNone, T > > 
super
typedef SubFaceOfNone super2
typedef GEOSHAPE GeoShape
typedef super::face_type entity_face_type
typedef GeoElement3D< Dim,
GEOSHAPE, T > 
self_type
typedef self_type element_type
typedef GeoElement2D< Dim,
entity_face_type, SubFaceOf
< self_type >, T > 
face_type
typedef GeoElement1D< Dim,
typename
entity_face_type::topological_face_type,
SubFaceOfNone, T > 
edge_type
typedef GeoElement0D< Dim,
SubFaceOfNone, T > 
point_type
typedef super::node_type node_type
typedef
super::vertex_permutation_type 
vertex_permutation_type
typedef
super::edge_permutation_type 
edge_permutation_type
typedef
super::face_permutation_type 
face_permutation_type
typedef
super::face_permutation_type 
permutation_type
typedef ublas::bounded_array
< face_type *, numLocalFaces >
::iterator 
face_iterator
typedef ublas::bounded_array
< face_type *, numLocalFaces >
::const_iterator 
face_const_iterator
- Public Types inherited from Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >
typedef T value_type
typedef GeoElement0D< Dim,
SubFaceOfNone, T > 
PointType
typedef ublas::bounded_array
< point_type *, numPoints >
::iterator 
point_iterator
typedef ublas::bounded_array
< point_type *, numPoints >
::const_iterator 
point_const_iterator
typedef matrix_node
< value_type >::type 
matrix_node_type
typedef GetGm< nOrder >::type gm_type
typedef GetGm< nOrder >::ptrtype gm_ptrtype
typedef GetGm< 1 >::type gm1_type
typedef GetGm< 1 >::ptrtype gm1_ptrtype
typedef face_type GeoBShape
typedef GEOSHAPE convex_type
- Public Types inherited from Feel::SubFaceOfNone
typedef boost::tuple
< size_type, size_type,
uint16_type > 
element_connectivity_type

Public Member Functions

 GeoElement3D (size_type id=0)
 GeoElement3D (GeoElement3D const &g)
 ~GeoElement3D ()
GeoElement3Doperator= (GeoElement3D const &g)
MeshBase const * mesh () const
size_type id () const
Marker1 const & marker () const
Marker1 & marker ()
Marker2 const & marker2 () const
Marker3 const & marker3 () const
bool isInterProcessDomain () const
bool isOnBoundary () const
bool isGhostCell () const
uint16_type processId () const
size_type ad_first () const
uint16_type pos_first () const
size_type ad_second () const
uint16_type pos_second () const
edge_type const & edge (uint16_type i) const
edge_type const * edgePtr (uint16_type i) const
edge_permutation_type edgePermutation (uint16_type i) const
void setEdge (uint16_type const i, edge_type const &p)
void setEdgePermutation (uint16_type i, edge_permutation_type o)
face_type const & face (uint16_type i) const
face_type const * facePtr (uint16_type i) const
face_permutation_type facePermutation (uint16_type i) const
face_permutation_type permutation (uint16_type i) const
void setFace (uint16_type const i, face_type const &p)
void setFacePermutation (uint16_type i, face_permutation_type o)
std::pair< face_iterator,
face_iterator > 
faces ()
std::pair< face_const_iterator,
face_const_iterator > 
faces () const
- Public Member Functions inherited from Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >
 GeoND ()
 GeoND (size_type id)
 GeoND (GeoND const &e)
virtual ~GeoND ()
void setMeshAndGm (MeshBase const *m, gm_ptrtype const &gm, gm1_ptrtype const &gm1) const
void setMesh (MeshBase const *m) const
gm_ptrtype gm () const
 return the geometric mapping if a mesh was set
gm1_ptrtype gm1 () const
 return the geometric mapping if a mesh was set
bool hasPoints () const
uint16_type nPoints () const
uint16_type nNeighbors () const
std::pair< size_type,
size_type > const & 
neighbor (uint16_type n) const
void setNeighbor (uint16_type n, size_type neigh_id, size_type proc_id)
bool isNeighbor (self_type const &G) const
node_type barycenter () const
node_type faceBarycenter (uint16_type f) const
matrix_node_type faceBarycenters () const
PointTypepoint (uint16_type i)
PointType const & point (uint16_type i) const
PointTypepointPtr (uint16_type i)
PointType const * pointPtr (uint16_type i) const
PointType const & facePoint (uint16_type __f, uint16_type const __i) const
PointTypereversepoint (uint16_type const i)
PointType const & reversepoint (uint16_type const i) const
void setPoint (uint16_type const i, point_type const &p)
std::ostream & showMe (bool verbose=false, std::ostream &c=std::cout) const
void swapPoints (const uint16_type &pt1, const uint16_type &pt2)
void exchangePoints (const uint16_type otn[numPoints])
matrix_node_type const & G () const
matrix_node_type & G ()
matrix_node_type vertices () const
point_iterator beginPoint ()
point_const_iterator beginPoint () const
point_iterator endPoint ()
point_const_iterator endPoint () const
double h () const
double hFace (uint16_type f) const
double hEdge (uint16_type f) const
double measure () const
double faceMeasure (uint16_type f) const
std::vector< double > const & faceMeasures () const
matrix_node_type const & normals () const
ublas::matrix_column
< matrix_node_type const > 
normal (uint16_type f) const
uint16_type nOppositePointsPerFace () const
uint16_type faceToOppositePoint (uint16_type const _localFace, uint16_type const _point) const
bool isAnticlockwiseOriented () const
void applyDisplacement (int i, ublas::vector< double > const &u)
void applyDisplacementG (int i, ublas::vector< double > const &u)
void setTags (std::vector< int > const &tags)
void setMarker (flag_type v)
Marker2 & marker2 ()
void setMarker2 (flag_type v)
Marker3 & marker3 ()
void setMarker3 (flag_type v)
size_type numberOfPointElementNeighbors () const
std::set< size_type > const & pointElementNeighborIds () const
void setMeasurePointElementNeighbors (value_type meas)
 set the measure of point element neighbors
value_type measurePointElementNeighbors () const
void update ()
void updateWithPc (typename gm_type::precompute_ptrtype const &pc, typename gm_type::faces_precompute_type &pcf)
- Public Member Functions inherited from Feel::GeoEntity< GEOSHAPE >
 GeoEntity ()
 GeoEntity (size_type i, size_type geometry=Geometry, size_type shape=Shape, size_type context=MESH_ENTITY_INTERNAL)
 GeoEntity (GeoEntity const &__me)
GeoEntityoperator= (GeoEntity const &__me)
virtual ~GeoEntity ()
bool operator== (GeoEntity const &e) const
bool operator< (GeoEntity const &e) const
bool operator< (size_type __i) const
uint16_type refDim () const
uint16_type nVertices () const
uint16_type nEdges () const
uint16_type nFaces () const
uint16_type nGeometricFaces () const
uint16_type nNormals () const
bool hasShape (size_type __shape) const
bool isAVolume () const
bool isASurface () const
bool isALine () const
bool isAPoint () const
bool isAPointShape () const
bool isALineShape () const
bool isATriangleShape () const
bool isAQuadrangleShape () const
bool isATetrahedraShape () const
bool isAHexahedraShape () const
bool isLinear () const
bool isBilinear () const
bool isQuadratic () const
bool isInternal () const
void setProcessId (uint16_type pid)
void setProcessIdInPartition (uint16_type pid)
uint16_type partitionId () const
uint16_type numberOfPartitions () const
size_type numberOfNeighborPartitions () const
bool isLinkedToOtherPartitions () const
std::vector< int > const & neighborPartitionIds () const
void setIdInPartition (uint16_type pid, size_type id)
size_type idInPartition (uint16_type pid) const
bool active () const
void setId (size_type id)
void setOnBoundary (bool b)
void setNumberOfPartitions (uint16_type np)
void setNumberOfNeighborPartitions (uint16_type nep)
void setNeighborPartitionIds (std::vector< int > const &npids)
self_typeaddElement (size_type e)
size_type numberOfElements () const
std::set< size_type > const & elements () const
- Public Member Functions inherited from Feel::SubFaceOfNone
boost::none_t element (uint16_type) const
 SubFaceOfNone (SubFaceOfNone const &)
template<typename SFO >
 SubFaceOfNone (SFO const &)
bool isInterProcessDomain (size_type) const

Static Public Attributes

static const uint16_type numLocalVertices = super::numVertices
 Number of local Vertices.
static const uint16_type numLocalFaces = super::numFaces
 Number of local Faces.
static const uint16_type numLocalEdges = super::numEdges
 Number of local Edges (using Euler Formula)
- Static Public Attributes inherited from Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >
static const size_type Shape
static const uint16_type numPoints
static const uint16_type numVertices
static const uint16_type numLocalPoints
static const int numFaces
static const int numEdges
static const int numTopologicalFaces
static const uint16_type numNeighbors
static const uint16_type nOrder
static const uint16_type nRealDim
static const size_type Geometry
static const uint16_type numGeometricFaces
static const uint16_type numNormals
static const uint16_type nbPtsPerVertex
static const uint16_type nbPtsPerEdge
static const uint16_type nbPtsPerFace
static const uint16_type nbPtsPerVolume
static const bool is_simplex
static const bool is_hypercube
- Static Public Attributes inherited from Feel::SubFaceOfNone

Additional Inherited Members

- Static Public Member Functions inherited from Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >
static uint16_type fToP (uint16_type const _localFace, uint16_type const _point)
static uint16_type eToP (uint16_type const __localEdge, uint16_type const __point)
static uint16_type fToE (uint16_type const __localFace, uint16_type const __edge)

Detailed Description

template<uint16_type Dim, typename GEOSHAPE, typename T = double>
class Feel::GeoElement3D< Dim, GEOSHAPE, T >

Class for 3D elements.


Constructor & Destructor Documentation

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
Feel::GeoElement3D< Dim, GEOSHAPE, T >::GeoElement3D ( size_type  id = 0)
inlineexplicit
Parameters:
ididentifier of the element
template<uint16_type Dim, typename GEOSHAPE , typename T = double>
Feel::GeoElement3D< Dim, GEOSHAPE, T >::GeoElement3D ( GeoElement3D< Dim, GEOSHAPE, T > const &  g)
inline

copy consttructor

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
Feel::GeoElement3D< Dim, GEOSHAPE, T >::~GeoElement3D ( )
inline

destructor


Member Function Documentation

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
std::pair<face_iterator,face_iterator> Feel::GeoElement3D< Dim, GEOSHAPE, T >::faces ( )
inline
Returns:
the iterator pair (begin,end) of faces
template<uint16_type Dim, typename GEOSHAPE , typename T = double>
std::pair<face_const_iterator,face_const_iterator> Feel::GeoElement3D< Dim, GEOSHAPE, T >::faces ( ) const
inline
Returns:
the iterator pair (begin,end) of faces
template<uint16_type Dim, typename GEOSHAPE , typename T = double>
size_type Feel::GeoElement3D< Dim, GEOSHAPE, T >::id ( ) const
inline
Returns:
true if on the boundary, false otherwise

Reimplemented from Feel::GeoEntity< GEOSHAPE >.

Referenced by Feel::GeoElement3D< Dim, GEOSHAPE, T >::permutation().

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
bool Feel::GeoElement3D< Dim, GEOSHAPE, T >::isGhostCell ( ) const
inline
Returns:
true if ghost cell, false otherwise

Reimplemented from Feel::GeoEntity< GEOSHAPE >.

References Feel::GeoEntity< GEOSHAPE >::isGhostCell().

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
bool Feel::GeoElement3D< Dim, GEOSHAPE, T >::isInterProcessDomain ( ) const
inline
Returns:
true if interprocess domain face, false otherwise

References Feel::GeoEntity< GEOSHAPE >::processId().

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
bool Feel::GeoElement3D< Dim, GEOSHAPE, T >::isOnBoundary ( ) const
inline
Returns:
true if on the boundary, false otherwise

Reimplemented from Feel::GeoEntity< GEOSHAPE >.

References Feel::GeoEntity< GEOSHAPE >::isOnBoundary().

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
MeshBase const* Feel::GeoElement3D< Dim, GEOSHAPE, T >::mesh ( ) const
inline
template<uint16_type Dim, typename GEOSHAPE , typename T = double>
GeoElement3D& Feel::GeoElement3D< Dim, GEOSHAPE, T >::operator= ( GeoElement3D< Dim, GEOSHAPE, T > const &  g)
inline

copy operator

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
face_permutation_type Feel::GeoElement3D< Dim, GEOSHAPE, T >::permutation ( uint16_type  ) const
inline
template<uint16_type Dim, typename GEOSHAPE , typename T = double>
uint16_type Feel::GeoElement3D< Dim, GEOSHAPE, T >::processId ( ) const
inline
Returns:
process id

Reimplemented from Feel::GeoEntity< GEOSHAPE >.

References Feel::GeoEntity< GEOSHAPE >::processId().

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
void Feel::GeoElement3D< Dim, GEOSHAPE, T >::setEdge ( uint16_type const  i,
edge_type const &  p 
)
inline

Inserts an edge

template<uint16_type Dim, typename GEOSHAPE , typename T = double>
void Feel::GeoElement3D< Dim, GEOSHAPE, T >::setFace ( uint16_type const  i,
face_type const &  p 
)
inline

Inserts a face.