Feel++  0.91.4
Static Public Attributes | Protected Member Functions | List of all members
Feel::Mesh3D< Shape > Class Template Reference

3D mesh class More...

#include <mesh3d.hpp>

Inheritance diagram for Feel::Mesh3D< Shape >:
Feel::VisitableBase<> Feel::MeshBase

Public Member Functions

Constructors, destructor
 Mesh3D ()
 
 Mesh3D (Mesh3D const &m)
 
 ~Mesh3D ()
 
Operator overloads
Mesh3Doperator= (Mesh3D const &m)
 
Accessors
bool isEmpty () const
 
size_type numElements () const
 
size_type numLocalFaces () const
 
size_type numLocalEdges () const
 
size_type numLocalVertices () const
 
size_type numFaces () const
 
size_type numEdges () const
 
size_type numPoints () const
 
element_edge_type const & localEdgeId (element_type const &e, size_type const n) const
 
element_edge_type const & localEdgeId (size_type const e, size_type const n) const
 
Methods
virtual void setWorldComm (WorldComm const &_worldComm)
 
virtual void clear ()
 
 FEELPP_DEFINE_VISITABLE ()
 
- Public Member Functions inherited from Feel::VisitableBase<>
virtual return_type accept (VisitorBase &)=0
 accept visitor: use S_DEFINE_VISITABLE() to redefine it
 
virtual return_type accept (VisitorBase *)=0
 accept visitor: use S_DEFINE_VISITABLE() to redefine it
 
- Public Member Functions inherited from Feel::MeshBase
 MeshBase ()
 
 MeshBase (MeshBase const &)
 
virtual ~MeshBase ()
 
MeshBaseoperator= (MeshBase const &m)
 
bool isUpdatedForUse () const
 
size_type numVertices () const
 
uint16_type numberOfPartitions () const
 
bool isPartitioned () const
 
Context const & components () const
 
Contextcomponents ()
 
virtual double measure () const =0
 
bool isParametric () const
 
void setNumberOfPartitions (uint16_type n)
 
void setNumVertices (size_type n)
 
void setComponents (size_type components=MESH_ALL_COMPONENTS)
 
void setParametric (bool x)
 
virtual void updateForUse ()=0
 
virtual void updateForUse (size_type components)
 
virtual void partition (const uint16_type n_parts)=0
 
WorldComm const & worldComm () const
 
void setWorldCommMeshBase (WorldComm const &_worldComm)
 
mpi::communicator const & comm () const
 

Static Public Attributes

static const uint16_type nDim = 3
 

Protected Member Functions

void renumber ()
 
void updateEntitiesCoDimensionTwo ()
 
void updateEntitiesCoDimensionOnePermutation ()
 
- Protected Member Functions inherited from Feel::MeshBase
void setUpdatedForUse (bool u)
 
virtual void updateEntitiesCoDimensionOne ()=0
 
virtual void check () const =0
 
virtual void checkAndFixPermutation ()=0
 

Typedefs

typedef VisitableBase::return_type return_type
 
typedef VisitableBase super_visitable
 
typedef MeshBase super
 
typedef Elements< Shape > super_elements
 
typedef
super_elements::elements_type 
elements_type
 
typedef
super_elements::element_type 
element_type
 
typedef
super_elements::element_iterator 
element_iterator
 
typedef
super_elements::element_const_iterator 
element_const_iterator
 
typedef
super_elements::update_element_neighbor_type 
update_element_neighbor_type
 
typedef element_type::node_type node_type
 
typedef
element_type::edge_permutation_type 
edge_permutation_type
 
typedef
element_type::face_permutation_type 
face_permutation_type
 
typedef Points< 3 > super_points
 
typedef super_points::points_type points_type
 
typedef super_points::point_type point_type
 
typedef Faces< typename
Shape::template shape
< 2 >::type, typename
super_elements::element_type > 
super_faces
 
typedef super_faces::faces_type faces_type
 
typedef super_faces::face_type face_type
 
typedef super_faces::face_iterator face_iterator
 
typedef
super_faces::face_const_iterator 
face_const_iterator
 
typedef super_faces::location_faces location_faces
 
typedef
super_faces::location_face_iterator 
location_face_iterator
 
typedef
super_faces::location_face_const_iterator 
location_face_const_iterator
 
typedef Edges< typename
Shape::template shape
< 1 >::type > 
super_edges
 
typedef super_edges::edges_type edges_type
 
typedef super_edges::edge_type edge_type
 
typedef super_edges::edge_iterator edge_iterator
 
typedef
super_edges::edge_const_iterator 
edge_const_iterator
 
typedef std::pair< size_type,
size_type
edge_pair_type
 
typedef Mesh3D< Shape > self_type
 
typedef boost::shared_ptr
< self_type
self_ptrtype
 
typedef super::face_processor_type face_processor_type
 
typedef boost::tuple
< size_type, int > 
element_edge_type
 
static const size_type SHAPE = Shape::Shape
 

Additional Inherited Members

- Public Types inherited from Feel::VisitableBase<>
typedef void return_type
 
- Public Types inherited from Feel::MeshBase
typedef boost::tuple
< size_type, size_type
face_processor_type
 
- Static Protected Member Functions inherited from Feel::VisitableBase<>
static return_type acceptImpl (T *visited, VisitorBase *guest)
 

Detailed Description

template<typename Shape>
class Feel::Mesh3D< Shape >

3D mesh class

// create a 3D mesh made of simplex of order 1
Mesh3D<Simplex<3,1> > mesh;
// create a 3D mesh made of simplex of order 2
Mesh3D<Simplex<3,2> > mesh;
Author
Christophe Prud'homme
See Also

Member Typedef Documentation

template<typename Shape >
typedef boost::tuple<size_type, int> Feel::Mesh3D< Shape >::element_edge_type

Tuple that contains

  1. the index of the edge
  1. +1 or -1 depending on the orientation

Constructor & Destructor Documentation

template<typename GEOSHAPE >
Feel::Mesh3D< GEOSHAPE >::Mesh3D ( )

default constructor

template<typename GEOSHAPE >
Feel::Mesh3D< GEOSHAPE >::Mesh3D ( Mesh3D< Shape > const &  m)

copy constructor

template<typename GEOSHAPE >
Feel::Mesh3D< GEOSHAPE >::~Mesh3D ( )

destructor

Member Function Documentation

template<typename GEOSHAPE >
void Feel::Mesh3D< GEOSHAPE >::clear ( )
virtual

clear out all data from the mesh, isEmpty() should return true after a clear()

Reimplemented from Feel::MeshBase.

References Feel::edges(), Feel::elements(), Feel::faces(), and Feel::points().

template<typename Shape >
bool Feel::Mesh3D< Shape >::isEmpty ( ) const
inline
Returns
true if all containers are empty, false otherwise
template<typename Shape >
element_edge_type const& Feel::Mesh3D< Shape >::localEdgeId ( element_type const &  e,
size_type const  n 
) const
inline
Returns
the edge index of the edge n in the element e
template<typename Shape >
element_edge_type const& Feel::Mesh3D< Shape >::localEdgeId ( size_type const  e,
size_type const  n 
) const
inline
Returns
the edge index of the edge n in the element e
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numEdges ( ) const
inline
Returns
the number of edges

References Feel::edges().

template<typename Shape >
size_type Feel::Mesh3D< Shape >::numElements ( ) const
inlinevirtual
Returns
the number of elements

Implements Feel::MeshBase.

References Feel::elements().

template<typename Shape >
size_type Feel::Mesh3D< Shape >::numFaces ( ) const
inlinevirtual
Returns
the number of faces

Implements Feel::MeshBase.

References Feel::faces().

template<typename Shape >
size_type Feel::Mesh3D< Shape >::numLocalEdges ( ) const
inline
Returns
the number of edges in an element
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numLocalFaces ( ) const
inline
Returns
the number of faces in an element
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numLocalVertices ( ) const
inline
Returns
the number of vertices in an element
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numPoints ( ) const
inlinevirtual
Returns
the number of points

Implements Feel::MeshBase.

References Feel::points().

template<typename Shape >
void Feel::Mesh3D< Shape >::renumber ( )
inlineprotectedvirtual

dummy implementation

See Also
Mesh

Implements Feel::MeshBase.

template<typename GEOSHAPE >
void Feel::Mesh3D< GEOSHAPE >::updateEntitiesCoDimensionOnePermutation ( )
protected

update permutation of entities of co-dimension 1

References Feel::elements(), and Feel::invalid_uint16_type_value.

template<typename GEOSHAPE >
void Feel::Mesh3D< GEOSHAPE >::updateEntitiesCoDimensionTwo ( )
protectedvirtual

update the entities of co-dimension 2

Implements Feel::MeshBase.

References Feel::edges(), Feel::elements(), and Feel::faces().