Logo  0.95.0-final
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T > Class Template Reference

#include <geoelement.hpp>

Detailed Description

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

class for 1D elements

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

+ Inheritance diagram for Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T >:

Public Types

typedef
super::edge_permutation_type 
edge_permutation_type
 
typedef self_type element_type
 
typedef ublas::bounded_array
< point_type
*, numLocalVertices >
::const_iterator 
face_const_iterator
 
typedef ublas::bounded_array
< point_type
*, numLocalVertices >
::iterator 
face_iterator
 
typedef
super::face_permutation_type 
face_permutation_type
 
typedef point_type GeoBElement
 
typedef GEOSHAPE GeoShape
 
typedef super::node_type node_type
 
typedef super::permutation_type permutation_type
 
typedef mpl::if_
< mpl::equal_to< mpl::int_
< nRealDim >, mpl::int_
< 1 > >, mpl::identity
< GeoElement0D< Dim, SubFaceOf
< self_type >, T >
>, mpl::identity
< GeoElement0D< Dim,
SubFaceOfMany< self_type >, T >
> >::type::type 
point_type
 
typedef GeoElement1D< Dim,
GEOSHAPE, SubFace, T > 
self_type
 
typedef GeoND< Dim, GEOSHAPE,
T, GeoElement0D< Dim,
SubFaceOfNone, T > > 
super
 
typedef SubFace super2
 
typedef
super::vertex_permutation_type 
vertex_permutation_type
 
- Public Types inherited from Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >
typedef
super::edge_permutation_type 
edge_permutation_type
 
typedef self_type element_type
 
typedef
super::face_permutation_type 
face_permutation_type
 
typedef super::face_type face_type
 
typedef GEOSHAPE GeoShape
 
typedef GetGm< 1 >::ptrtype gm1_ptrtype
 
typedef GetGm< 1 >::type gm1_type
 
typedef GetGm< nOrder >::ptrtype gm_ptrtype
 
typedef GetGm< nOrder >::type gm_type
 
typedef matrix_node
< value_type >::type 
matrix_node_type
 
typedef node< value_type >::type node_type
 
typedef mpl::if_
< mpl::equal_to< mpl::int_
< nDim >, mpl::int_
< 1 > >, mpl::identity
< vertex_permutation_type >
, typename mpl::if_
< mpl::equal_to< mpl::int_
< nDim >, mpl::int_
< 2 > >, mpl::identity
< edge_permutation_type >
, mpl::identity
< face_permutation_type >
>::type >::type::type 
permutation_type
 
typedef ublas::bounded_array
< point_type *, numPoints >
::const_iterator 
point_const_iterator
 
typedef ublas::bounded_array
< point_type *, numPoints >
::iterator 
point_iterator
 
typedef PointType point_type
 
typedef GeoElement0D< Dim,
SubFaceOfNone, T > 
PointType
 
typedef GeoND< Dim, GEOSHAPE,
value_type, GeoElement0D< Dim,
SubFaceOfNone, T > > 
self_type
 
typedef T value_type
 
typedef
super::vertex_permutation_type 
vertex_permutation_type
 
- Public Types inherited from Feel::GeoEntity< GEOSHAPE >
typedef GEOSHAPE super
 
typedef GeoEntity< GEOSHAPE > GeoShape
 
typedef GeoEntity< GEOSHAPE > self_type
 
typedef
super::topological_face_type 
face_type
 
typedef face_type GeoBShape
 
typedef
GEOSHAPE::edge_permutation_type 
edge_permutation_type
 
typedef
GEOSHAPE::face_permutation_type 
face_permutation_type
 
typedef GEOSHAPE convex_type
 

Public Member Functions

 BOOST_MPL_ASSERT_MSG ((condition), INVALID_ELEMENT_REAL_DIMENSION,(mpl::int_< Dim >, mpl::int_< nRealDim >, GEOSHAPE))
 
uint16_type boundaryEntityDimension () const
 
point_type const & edge (uint16_type i) const
 
point_type const & face (uint16_type i) const
 
vertex_permutation_type facePermutation (uint16_type i) const
 
point_type const * facePtr (uint16_type i) const
 
point_type * facePtr (uint16_type i)
 
std::pair< face_iterator,
face_iterator > 
faces ()
 
std::pair< face_const_iterator,
face_const_iterator > 
faces () const
 
 GeoElement1D (size_type id=0)
 
 GeoElement1D (GeoElement1D const &g)
 
size_type id () const
 
bool isGhostCell () const
 
bool isGhostFace () const
 
bool isInterProcessDomain () const
 
bool isOnBoundary () const
 
uint8_type map (uint8_type k_1) const
 
Marker1 const & marker () const
 
Marker1 & marker ()
 
Marker2 const & marker2 () const
 
Marker3 const & marker3 () const
 
MeshBase const * mesh () const
 
GeoElement1Doperator= (GeoElement1D const &g)
 
edge_permutation_type permutation (uint16_type) const
 
uint16_type processId () const
 
void setFace (uint16_type const i, point_type const &p)
 
void setMap (uint8_type k_1, uint8_type k_2)
 
 ~GeoElement1D ()
 
- Public Member Functions inherited from Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >
void applyDisplacement (int i, ublas::vector< double > const &u)
 
void applyDisplacementG (int i, ublas::vector< double > const &u)
 
node_type barycenter () const
 
point_iterator beginPoint ()
 
point_const_iterator beginPoint () const
 
point_iterator endPoint ()
 
point_const_iterator endPoint () const
 
void exchangePoints (const uint16_type otn[numPoints])
 
node_type faceBarycenter (uint16_type f) const
 
matrix_node_type faceBarycenters () const
 
double faceMeasure (uint16_type f) const
 
std::vector< double > const & faceMeasures () const
 
PointType const & facePoint (uint16_type __f, uint16_type const __i) const
 
uint16_type faceToOppositePoint (uint16_type const _localFace, uint16_type const _point) const
 
matrix_node_type const & G () const
 
matrix_node_type & G ()
 
 GeoND ()
 
 GeoND (size_type id)
 
 GeoND (GeoND const &e)
 
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
 
double h () const
 
bool hasPoints () const
 
double hEdge (uint16_type f) const
 
double hFace (uint16_type f) const
 
bool isAnticlockwiseOriented () const
 
bool isNeighbor (self_type const &G) const
 
Marker1 const & marker () const
 
Marker1 & marker ()
 
Marker2 const & marker2 () const
 
Marker2 & marker2 ()
 
Marker3 const & marker3 () const
 
Marker3 & marker3 ()
 
double measure () const
 
value_type measurePointElementNeighbors () const
 
MeshBase const * mesh () const
 
std::pair< size_type,
size_type > const & 
neighbor (uint16_type n) const
 
uint16_type nNeighbors () const
 
uint16_type nOppositePointsPerFace () const
 
ublas::matrix_column
< matrix_node_type const > 
normal (uint16_type f) const
 
matrix_node_type const & normals () const
 
uint16_type nPoints () const
 
size_type numberOfPointElementNeighbors () const
 
permutation_type permutation (uint16_type) const
 
PointTypepoint (uint16_type i)
 
PointType const & point (uint16_type i) const
 
std::set< size_type > const & pointElementNeighborIds () const
 
PointTypepointPtr (uint16_type i)
 
PointType const * pointPtr (uint16_type i) const
 
PointTypereversepoint (uint16_type const i)
 
PointType const & reversepoint (uint16_type const i) const
 
void setMarker (flag_type v)
 
void setMarker2 (flag_type v)
 
void setMarker3 (flag_type v)
 
void setMeasurePointElementNeighbors (value_type meas)
 set the measure of point element neighbors
 
void setMesh (MeshBase const *m) const
 
void setMeshAndGm (MeshBase const *m, gm_ptrtype const &gm, gm1_ptrtype const &gm1) const
 
void setNeighbor (uint16_type n, size_type neigh_id, size_type proc_id)
 
void setPoint (uint16_type const i, point_type const &p)
 
void setTags (std::vector< int > const &tags)
 
std::ostream & showMe (bool verbose=false, std::ostream &c=std::cout) const
 
void swapPoints (const uint16_type &pt1, const uint16_type &pt2)
 
void update ()
 
void updateWithPc (typename gm_type::precompute_ptrtype const &pc, typename gm_type::faces_precompute_type &pcf)
 
matrix_node_type vertices () const
 
 ~GeoND ()
 
- 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
 
size_type id () const
 
uint16_type refDim () const
 
uint16_type nPoints () const
 
uint16_type nVertices () const
 
uint16_type nEdges () const
 
uint16_type nFaces () const
 
constexpr uint16_type nTopologicalFaces () 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
 
bool isOnBoundary () const
 
uint16_type boundaryEntityDimension () const
 
bool isGhostCell () const
 
uint16_type processId () const
 
void setProcessId (uint16_type pid)
 
uint16_type pidInPartition () const
 
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
 
std::vector< int > & neighborPartitionIds ()
 
void setIdInOthersPartitions (uint16_type pid, size_type id)
 
size_type idInOthersPartitions (uint16_type pid) const
 
std::map< uint16_type,
size_type > const & 
idInOthersPartitions () const
 
std::map< uint16_type,
size_type > & 
idInOthersPartitions ()
 
bool active () const
 
void setId (size_type id)
 
void setOnBoundary (bool b, uint16_type ent_d=invalid_uint16_type_value)
 
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
 
std::set< size_type > & elements ()
 
self_typeaddElementGhost (int proc, size_type e)
 
size_type numberOfElementsGhost () const
 
std::set< boost::tuple< int,
size_type > > const & 
elementsGhost () const
 
std::set< boost::tuple< int,
size_type > > & 
elementsGhost ()
 

Static Public Attributes

static const bool condition = ( Dim==nRealDim )
 
static const uint16_type nDim = super::nDim
 
static const uint16_type nOrder = super::nOrder
 
static const uint16_type nRealDim = super::nRealDim
 
static const uint16_type numLocalEdges = super::numEdges
 
static const uint16_type numLocalFaces = super::numLocalVertices
 
static const uint16_type numLocalVertices = super::numLocalVertices
 
- Static Public Attributes inherited from Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >
static const uint16_type nDim
 
static const uint16_type nOrder
 
static const uint16_type nRealDim
 
static const int numEdges
 
static const int numFaces
 
static const uint16_type numLocalEdges
 
static const uint16_type numLocalPoints
 
static const uint16_type numLocalVertices
 
static const uint16_type numNeighbors
 
static const uint16_type numPoints
 
static const int numTopologicalFaces
 
static const uint16_type numVertices
 
static const size_type Shape
 
- Static Public Attributes inherited from Feel::GeoEntity< GEOSHAPE >
static const size_type Shape
 
static const size_type Geometry
 
static const uint16_type nDim
 
static const uint16_type nOrder
 
static const uint16_type nRealDim
 
static const uint16_type numVertices
 
static const uint16_type numFaces
 
static const uint16_type numGeometricFaces
 
static const uint16_type numTopologicalFaces
 
static const uint16_type numEdges
 
static const uint16_type numNormals
 
static const uint16_type numPoints
 
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
 

Friends

class boost::serialization::access
 

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 Public Member Functions inherited from Feel::GeoEntity< GEOSHAPE >
static uint16_type eToP (uint16_type const __localEdge, uint16_type const __point)
 
static uint16_type fToP (uint16_type const __localFace, uint16_type const __point)
 
static uint16_type fToE (uint16_type const __localFace, uint16_type const __edge)
 

Constructor & Destructor Documentation

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::GeoElement1D ( size_type  id = 0)
inlineexplicit

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::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::GeoElement1D ( GeoElement1D< Dim, GEOSHAPE, SubFace, T > const &  g)
inline

copy consttructor

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

destructor

Member Function Documentation

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
uint16_type Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::boundaryEntityDimension ( ) const
inline
Returns
maximum dimension of the sub-entity touching the boundary of the element
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
vertex_permutation_type Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::facePermutation ( uint16_type  i) const
inline
See Also
edgePermutation(), permutation()
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
std::pair<face_iterator,face_iterator> Feel::GeoElement1D< 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::GeoElement1D< 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::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::id ( ) const
inline
Returns
true if on the boundary, false otherwise
template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
bool Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::isGhostCell ( ) const
inline
Returns
true if ghost cell, false otherwise

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

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
bool Feel::GeoElement1D< 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::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::isOnBoundary ( ) const
inline
Returns
true if on the boundary, false otherwise

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

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

copy operator

References Feel::operator=().

template<uint16_type Dim, typename GEOSHAPE , typename SubFace = SubFaceOfNone, typename T = double>
uint16_type Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T >::processId ( ) const
inline
Returns
process id

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

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

Inserts a point as face of the edge geometric element


The documentation for this class was generated from the following file:

Generated on Sun Dec 22 2013 13:11:19 for Feel++ by doxygen 1.8.5