Feel++
0.91.4
|
base mesh class More...
#include <meshbase.hpp>
Public Types | |
Typedefs | |
typedef boost::tuple < size_type, size_type > | face_processor_type |
Public Member Functions | |
Constructors, destructor | |
MeshBase () | |
MeshBase (MeshBase const &) | |
virtual | ~MeshBase () |
Operator overloads | |
MeshBase & | operator= (MeshBase const &m) |
Accessors | |
bool | isUpdatedForUse () const |
virtual size_type | numElements () const =0 |
virtual size_type | numFaces () const =0 |
virtual size_type | numPoints () const =0 |
size_type | numVertices () const |
uint16_type | numberOfPartitions () const |
bool | isPartitioned () const |
Context const & | components () const |
Context & | components () |
virtual double | measure () const =0 |
bool | isParametric () const |
Mutators | |
void | setNumberOfPartitions (uint16_type n) |
void | setNumVertices (size_type n) |
void | setComponents (size_type components=MESH_ALL_COMPONENTS) |
void | setParametric (bool x) |
Methods | |
virtual void | clear () |
virtual void | updateForUse ()=0 |
virtual void | updateForUse (size_type components) |
virtual void | partition (const uint16_type n_parts)=0 |
WorldComm const & | worldComm () const |
virtual void | setWorldComm (WorldComm const &_worldComm)=0 |
void | setWorldCommMeshBase (WorldComm const &_worldComm) |
mpi::communicator const & | comm () const |
Protected Member Functions | |
void | setUpdatedForUse (bool u) |
virtual void | renumber ()=0 |
virtual void | updateEntitiesCoDimensionOne ()=0 |
virtual void | updateEntitiesCoDimensionTwo ()=0 |
virtual void | check () const =0 |
virtual void | checkAndFixPermutation ()=0 |
base mesh class
typedef boost::tuple<size_type, size_type> Feel::MeshBase::face_processor_type |
Tuple that contains
Reimplemented in Feel::Mesh3D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh1D< Shape >.
Feel::MeshBase::MeshBase | ( | ) |
Default constructor
Feel::MeshBase::MeshBase | ( | MeshBase const & | m | ) |
copy constructor
|
virtual |
destructor. make it virtual for derived classes
|
protectedpure virtual |
check mesh connectivity
|
protectedpure virtual |
check elements orientation and fix it if needed
|
virtual |
Empty all containers of the mesh. Must be redefined by derived classes.
Reimplemented in Feel::Mesh3D< Shape >, Feel::Mesh2D< Shape >, Feel::Mesh1D< Shape >, and Feel::Mesh0D< Shape >.
|
inline |
Context
) that encodes the components to be updated by the mesh data structure. Referenced by setComponents().
|
inline |
Context
) that encodes the components to be updated by the mesh data structure.
|
inline |
bool Feel::MeshBase::isPartitioned | ( | ) | const |
true
if mesh is partitioned, false
otherwise
|
inline |
true
if the mesh is ready for use, false
otherwise
|
pure virtual |
|
inline |
Returns the number of partitions.
|
pure virtual |
Implemented in Feel::Mesh1D< Shape >, Feel::Mesh3D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh0D< Shape >.
|
pure virtual |
Implemented in Feel::Mesh3D< Shape >, Feel::Mesh2D< Shape >, Feel::Mesh1D< Shape >, and Feel::Mesh0D< Shape >.
|
pure virtual |
Implemented in Feel::Mesh3D< Shape >, Feel::Mesh2D< Shape >, Feel::Mesh1D< Shape >, and Feel::Mesh0D< Shape >.
|
inline |
|
pure virtual |
Call the default partitioner (currently metis_partition()
).
|
protectedpure virtual |
After loading/defining a mesh, we want to have as much locality as possible (elements/faces/nodes to be contiguous). In order to do that the mesh elements/faces/nodes are renumbered. That will be then most helpful when generating the Dof
table. This procedure should work also with comm()
.size() == 1
Implemented in Feel::Mesh3D< Shape >, Feel::Mesh2D< Shape >, Feel::Mesh1D< Shape >, and Feel::Mesh0D< Shape >.
|
inline |
set the components to be updated by updateForUse()
References components().
Referenced by updateForUse().
|
inline |
set the number of partitions
|
inline |
set the number of vertices
|
inline |
set if the mesh is parametric ( e.g. has parametric nodes )
|
inlineprotected |
set to the flag whether the mesh is updated for proper use
|
protectedpure virtual |
update the entities of co-dimension 1
|
protectedpure virtual |
update the entities of co-dimension 2
Implemented in Feel::Mesh2D< Shape >, Feel::Mesh3D< Shape >, Feel::Mesh1D< Shape >, and Feel::Mesh0D< Shape >.
|
pure virtual |
update all info for this mesh.
Referenced by updateForUse().
|
virtual |
update all info for this mesh according the components
References setComponents(), and updateForUse().
|
inline |