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

Class for 2D elements. More...

#include <geoelement.hpp>

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

List of all members.

Public Types

typedef GeoND< Dim, GEOSHAPE,
T, GeoElement0D< Dim,
SubFaceOfNone, T > > 
super
typedef SubFace super2
typedef GEOSHAPE GeoShape
typedef super::face_type entity_face_type
typedef GeoElement2D< Dim,
GEOSHAPE, SubFace, T > 
self_type
typedef self_type element_type
typedef GeoElement1D< Dim,
entity_face_type, SubFaceOf
< self_type >, 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::edge_permutation_type 
permutation_type
typedef
super::face_permutation_type 
face_permutation_type
typedef
super2::element_connectivity_type 
element_connectivity_type
typedef ublas::bounded_array
< edge_type *, numLocalEdges >
::iterator 
face_iterator
typedef ublas::bounded_array
< edge_type *, numLocalEdges >
::const_iterator 
face_const_iterator

Public Member Functions

 BOOST_MPL_ASSERT_MSG ((condition), INVALID_ELEMENT_REAL_DIMENSION,(mpl::int_< Dim >, mpl::int_< nRealDim >, GEOSHAPE))
 GeoElement2D (size_type id=0)
 GeoElement2D (GeoElement2D const &g)
 ~GeoElement2D ()
GeoElement2Doperator= (GeoElement2D 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
edge_type const & edge (uint16_type i) const
edge_type const & face (uint16_type i) const
edge_type const * facePtr (uint16_type i) const
void setFace (uint16_type const i, edge_type const &p)
edge_permutation_type edgePermutation (uint16_type i) const
edge_permutation_type facePermutation (uint16_type i) const
edge_permutation_type permutation (uint16_type i) const
void setEdge (uint16_type i, edge_type const &p)
void setEdgePermutation (uint16_type i, edge_permutation_type o)
std::pair< face_iterator,
face_iterator > 
faces ()
std::pair< face_const_iterator,
face_const_iterator > 
faces () const

Static Public Attributes

static const uint16_type nDim = super::nDim
static const uint16_type nOrder = super::nOrder
static const uint16_type nRealDim = super::nRealDim
static const bool condition = (Dim==nRealDim)
static const uint16_type numLocalEdges = super::numEdges
 Number of element edges.
static const uint16_type numLocalFaces = super::numFaces

Detailed Description

template<uint16_type Dim, typename GEOSHAPE, typename SubFace = SubFaceOfNone, typename T = double>
class Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >

Class for 2D elements.

In the 3D case, we store the size_types of the adjacent 3D elements and their relative position.


Constructor & Destructor Documentation

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::GeoElement2D ( size_type  id = 0) [inline, explicit]

default constructor, make it explicit to avoid implict inversion to size_type

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::GeoElement2D ( GeoElement2D< Dim, GEOSHAPE, SubFace, T > const &  g) [inline]

copy consttructor

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::~GeoElement2D ( ) [inline]

destructor


Member Function Documentation

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
edge_type const& Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::edge ( uint16_type  i) const [inline]
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
edge_permutation_type Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::edgePermutation ( uint16_type  i) const [inline]
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
edge_type const& Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::face ( uint16_type  i) const [inline]
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
edge_permutation_type Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::facePermutation ( uint16_type  i) const [inline]
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
std::pair<face_iterator,face_iterator> Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::faces ( ) [inline]
Returns:
the iterator pair (begin,end) of faces
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
std::pair<face_const_iterator,face_const_iterator> Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::faces ( ) const [inline]
Returns:
the iterator pair (begin,end) of faces
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
size_type Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::id ( ) const [inline]
Returns:
true if on the boundary, false otherwise

Reimplemented from Feel::GeoEntity< GEOSHAPE >.

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
bool Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, 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 SubFace = SubFaceOfNone, typename T = double>
bool Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::isInterProcessDomain ( ) const [inline]
Returns:
true if interprocess domain face, false otherwise

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

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
bool Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, 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 SubFace = SubFaceOfNone, typename T = double>
MeshBase const* Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::mesh ( ) const [inline]
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
GeoElement2D& Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::operator= ( GeoElement2D< Dim, GEOSHAPE, SubFace, T > const &  g) [inline]

copy operator

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
edge_permutation_type Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::permutation ( uint16_type  i) const [inline]
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
uint16_type Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::processId ( ) const [inline]
Returns:
process id

Reimplemented from Feel::GeoEntity< GEOSHAPE >.

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

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
void Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::setEdge ( uint16_type  i,
edge_type const &  p 
) [inline]

Inserts a point. Uses point references put point

See also:
setFace()

References Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::numLocalEdges.

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
void Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T >::setFace ( uint16_type const  i,
edge_type const &  p 
) [inline]