Feel++ 0.91.0
|
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 |
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::Mesh1D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh3D< Shape >.
Feel::MeshBase::MeshBase | ( | ) |
Default constructor
Feel::MeshBase::MeshBase | ( | MeshBase const & | m | ) |
copy constructor
Feel::MeshBase::~MeshBase | ( | ) | [virtual] |
destructor. make it virtual for derived classes
virtual void Feel::MeshBase::check | ( | ) | const [protected, pure virtual] |
check mesh connectivity
virtual void Feel::MeshBase::checkAndFixPermutation | ( | ) | [protected, pure virtual] |
check elements orientation and fix it if needed
void Feel::MeshBase::clear | ( | ) | [virtual] |
Empty all containers of the mesh. Must be redefined by derived classes.
Reimplemented in Feel::Mesh1D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh3D< Shape >.
Context const& Feel::MeshBase::components | ( | ) | const [inline] |
Context
) that encodes the components to be updated by the mesh data structure. Referenced by setComponents().
Context& Feel::MeshBase::components | ( | ) | [inline] |
Context
) that encodes the components to be updated by the mesh data structure. bool Feel::MeshBase::isParametric | ( | ) | const [inline] |
bool Feel::MeshBase::isPartitioned | ( | ) | const |
true
if mesh is partitioned, false
otherwise bool Feel::MeshBase::isUpdatedForUse | ( | ) | const [inline] |
true
if the mesh is ready for use, false
otherwise virtual double Feel::MeshBase::measure | ( | ) | const [pure virtual] |
uint16_type Feel::MeshBase::numberOfPartitions | ( | ) | const [inline] |
Returns the number of partitions.
virtual size_type Feel::MeshBase::numElements | ( | ) | const [pure virtual] |
Implemented in Feel::Mesh1D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh3D< Shape >.
virtual size_type Feel::MeshBase::numFaces | ( | ) | const [pure virtual] |
Implemented in Feel::Mesh1D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh3D< Shape >.
virtual size_type Feel::MeshBase::numPoints | ( | ) | const [pure virtual] |
Implemented in Feel::Mesh1D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh3D< Shape >.
size_type Feel::MeshBase::numVertices | ( | ) | const [inline] |
virtual void Feel::MeshBase::partition | ( | const uint16_type | n_parts | ) | [pure virtual] |
Call the default partitioner (currently metis_partition()
).
virtual void Feel::MeshBase::renumber | ( | ) | [protected, pure 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::Mesh1D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh3D< Shape >.
void Feel::MeshBase::setComponents | ( | size_type | components = MESH_ALL_COMPONENTS | ) | [inline] |
set the components to be updated by updateForUse()
References components().
Referenced by updateForUse().
void Feel::MeshBase::setNumberOfPartitions | ( | uint16_type | n | ) | [inline] |
set the number of partitions
void Feel::MeshBase::setNumVertices | ( | size_type | n | ) | [inline] |
set the number of vertices
void Feel::MeshBase::setParametric | ( | bool | x | ) | [inline] |
set if the mesh is parametric ( e.g. has parametric nodes )
void Feel::MeshBase::setUpdatedForUse | ( | bool | u | ) | [inline, protected] |
set to the flag whether the mesh is updated for proper use
virtual void Feel::MeshBase::updateEntitiesCoDimensionOne | ( | ) | [protected, pure virtual] |
update the entities of co-dimension 1
virtual void Feel::MeshBase::updateEntitiesCoDimensionTwo | ( | ) | [protected, pure virtual] |
update the entities of co-dimension 2
Implemented in Feel::Mesh1D< Shape >, Feel::Mesh2D< Shape >, and Feel::Mesh3D< Shape >.
virtual void Feel::MeshBase::updateForUse | ( | ) | [pure virtual] |
update all info for this mesh.
Referenced by updateForUse().
void Feel::MeshBase::updateForUse | ( | size_type | components | ) | [virtual] |
update all info for this mesh according the components
References setComponents(), and updateForUse().