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::GeoEntity< Entity > Class Template Referenceabstract

#include <geoentity.hpp>

Detailed Description

template<typename Entity>
class Feel::GeoEntity< Entity >

base class for all geometric entities

Author
Christophe Prud'homme
See Also

Inherits equality_comparable< GeoEntity< Entity > >, less_than_comparable< GeoEntity< Entity > >, less_than_comparable< GeoEntity< Entity >, size_type >, and Feel::Entity< ShapeE, T >.

Classes

struct  reference_convex
 

Public Member Functions

Constructors, destructor
 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 ()
 
Operator overloads
bool operator== (GeoEntity const &e) const
 
bool operator< (GeoEntity const &e) const
 
bool operator< (size_type __i) const
 
Accessors
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
 
virtual double measure () const =0
 
Mutators
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)
 

Friends

class boost::serialization::access
 

Typedefs

typedef Entity super
 
typedef GeoEntity< Entity > GeoShape
 
typedef GeoEntity< Entity > self_type
 
typedef
super::topological_face_type 
face_type
 
typedef face_type GeoBShape
 
typedef
Entity::edge_permutation_type 
edge_permutation_type
 
typedef
Entity::face_permutation_type 
face_permutation_type
 
typedef Entity convex_type
 
static const size_type Shape = super::Shape
 
static const size_type Geometry = super::Geometry
 
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 numVertices = super::numVertices
 
static const uint16_type numFaces = super::numFaces
 
static const uint16_type numGeometricFaces = super::numGeometricFaces
 
static const uint16_type numTopologicalFaces = super::numTopologicalFaces
 
static const uint16_type numEdges = super::numEdges
 
static const uint16_type numNormals = super::numNormals
 
static const uint16_type numPoints = super::numPoints
 
static const uint16_type nbPtsPerVertex = super::nbPtsPerVertex
 
static const uint16_type nbPtsPerEdge = super::nbPtsPerEdge
 
static const uint16_type nbPtsPerFace = super::nbPtsPerFace
 
static const uint16_type nbPtsPerVolume = super::nbPtsPerVolume
 
static const bool is_simplex = super::is_simplex
 
static const bool is_hypercube = super::is_hypercube
 

Methods

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 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)
 

Member Function Documentation

template<typename Entity>
bool Feel::GeoEntity< Entity >::active ( ) const
inline
Returns
true if active, false otherwise
Note
for now it is a dummy function that returns always true, will change when work on AMR starts
template<typename Entity>
self_type& Feel::GeoEntity< Entity >::addElement ( size_type  e)
inline

add a new element to which the point belongs

template<typename Entity>
self_type& Feel::GeoEntity< Entity >::addElementGhost ( int  proc,
size_type  e 
)
inline

add a new ghost element to which the point belongs

template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::boundaryEntityDimension ( ) const
inline

maximum dimension of the entity of the element touching the boundary

template<typename Entity>
std::set<size_type> const& Feel::GeoEntity< Entity >::elements ( ) const
inline
Returns
the set of ids of elements whom the point belongs to
template<typename Entity>
std::set<boost::tuple<int,size_type> > const& Feel::GeoEntity< Entity >::elementsGhost ( ) const
inline
Returns
the set of ids of ghost elements whom the point belongs to
template<typename Entity>
static uint16_type Feel::GeoEntity< Entity >::eToP ( uint16_type const  __localEdge,
uint16_type const  __point 
)
inlinestatic

eToP(i,j) = localId of jth point on ith local edge

template<typename Entity>
static uint16_type Feel::GeoEntity< Entity >::fToE ( uint16_type const  __localFace,
uint16_type const  __edge 
)
inlinestatic

fToE(i,j) = localId of jth edge on ith local face

template<typename Entity>
static uint16_type Feel::GeoEntity< Entity >::fToP ( uint16_type const  __localFace,
uint16_type const  __point 
)
inlinestatic

fToP(i,j) = localId of jth point on ith local edge

template<typename Entity>
bool Feel::GeoEntity< Entity >::hasShape ( size_type  __shape) const
inline
Returns
true if the entoty has the shape __shape, false otherwise
template<typename Entity>
size_type Feel::GeoEntity< Entity >::idInOthersPartitions ( uint16_type  pid) const
inline
Returns
the id of the entity in a partition pid
template<typename Entity>
std::map<uint16_type, size_type> const& Feel::GeoEntity< Entity >::idInOthersPartitions ( ) const
inline
Returns
idInOthersPartitions map
template<typename Entity>
std::map<uint16_type, size_type>& Feel::GeoEntity< Entity >::idInOthersPartitions ( )
inline
Returns
idInOthersPartitions map
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAHexahedraShape ( ) const
inline
Returns
true of the entity is a hexahedra
template<typename Entity>
bool Feel::GeoEntity< Entity >::isALine ( ) const
inline
Returns
true of the entity is a line
template<typename Entity>
bool Feel::GeoEntity< Entity >::isALineShape ( ) const
inline
Returns
true of the entity is a shape line
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAPoint ( ) const
inline
Returns
true of the entity is a point
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAPointShape ( ) const
inline
Returns
true of the entity is a shape point
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAQuadrangleShape ( ) const
inline
Returns
true of the entity is a quadrangle
template<typename Entity>
bool Feel::GeoEntity< Entity >::isASurface ( ) const
inline
Returns
true of the entity is a surface
template<typename Entity>
bool Feel::GeoEntity< Entity >::isATetrahedraShape ( ) const
inline
Returns
true of the entity is a tetrahedra shape
template<typename Entity>
bool Feel::GeoEntity< Entity >::isATriangleShape ( ) const
inline
Returns
true of the entity is a triangle shape
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAVolume ( ) const
inline
Returns
true of the entity is a volume
template<typename Entity>
bool Feel::GeoEntity< Entity >::isBilinear ( ) const
inline
Returns
true if the shape is bilinear, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isGhostCell ( ) const
inline
Returns
true if ghost cell, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isInternal ( ) const
inline
Returns
true if the entity is internal, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isLinear ( ) const
inline
Returns
true if the shape is linear, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isLinkedToOtherPartitions ( ) const
inline
Returns
true if the element is linked to other partitions through one of more of its faces
template<typename Entity>
bool Feel::GeoEntity< Entity >::isOnBoundary ( ) const
inline

Tells if item is on the boundary

Returns
true if on boundary, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isQuadratic ( ) const
inline
Returns
true if the shape is quadratic, false otherwise
template<typename Entity>
virtual double Feel::GeoEntity< Entity >::measure ( ) const
pure virtual
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nEdges ( ) const
inline

number of edges on the reference shape

Returns
the number of edges on the reference shape
template<typename Entity>
std::vector<int> const& Feel::GeoEntity< Entity >::neighborPartitionIds ( ) const
inline
Returns
the number of partition the element is linked to
template<typename Entity>
std::vector<int>& Feel::GeoEntity< Entity >::neighborPartitionIds ( )
inline
Returns
the number of partition the element is linked to
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nFaces ( ) const
inline

number of faces on the reference shape

Returns
the number of edges on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nGeometricFaces ( ) const
inline

number of faces on the reference shape

Returns
the number of edges on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nNormals ( ) const
inline

number of normals on the reference shape

Returns
the number of normals on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nPoints ( ) const
inline

number of points on the reference shape

Returns
the number of points on the reference shape
template<typename Entity>
constexpr uint16_type Feel::GeoEntity< Entity >::nTopologicalFaces ( ) const
inline

number of topological faces on the reference shape

Returns
the number of topological faces on the reference shape
template<typename Entity>
size_type Feel::GeoEntity< Entity >::numberOfElements ( ) const
inline
Returns
the number of elements whom the point belongs to
template<typename Entity>
size_type Feel::GeoEntity< Entity >::numberOfElementsGhost ( ) const
inline
Returns
the number of ghost elements whom the point belongs to
template<typename Entity>
size_type Feel::GeoEntity< Entity >::numberOfNeighborPartitions ( ) const
inline
Returns
the number of partition the element is linked to
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::numberOfPartitions ( ) const
inline
Returns
the number of partition the element is linked to including the partition to which it belongs
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nVertices ( ) const
inline

number of vertices on the reference shape

Returns
the number of vertices on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::partitionId ( ) const
inline
Returns
the partition id
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::pidInPartition ( ) const
inline
Returns
the processor id of the entity
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::processId ( ) const
inline
Returns
the processor id of the entity
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::refDim ( ) const
inline

the dimension of the reference shape

Returns
the dimension of the reference shape
template<typename Entity>
void Feel::GeoEntity< Entity >::setIdInOthersPartitions ( uint16_type  pid,
size_type  id 
)
inline

set id in a partition pid of the entity

template<typename Entity>
void Feel::GeoEntity< Entity >::setNeighborPartitionIds ( std::vector< int > const &  npids)
inline
Returns
the number of partition the element is linked to
template<typename Entity>
void Feel::GeoEntity< Entity >::setNumberOfNeighborPartitions ( uint16_type  nep)
inline

set the number of partition the element is linked to

template<typename Entity>
void Feel::GeoEntity< Entity >::setNumberOfPartitions ( uint16_type  np)
inline
Returns
the number of partition the element is linked to including the partition to which it belongs
template<typename Entity>
void Feel::GeoEntity< Entity >::setOnBoundary ( bool  b,
uint16_type  ent_d = invalid_uint16_type_value 
)
inline

set the boundary flag

Parameters
btrue if the item is on the boundary, false otherwise
template<typename Entity>
void Feel::GeoEntity< Entity >::setProcessId ( uint16_type  pid)
inline

set the processor id of the entity &

Parameters
pidprocessor id
template<typename Entity>
void Feel::GeoEntity< Entity >::setProcessIdInPartition ( uint16_type  pid)
inline

set the processor id of the entity &

Parameters
pidprocessor id

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