LifeV
MeshUtility.hpp File Reference

Base utilities operating on meshes. More...

#include <algorithm>
#include <iterator>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <lifev/core/LifeV.hpp>
#include <lifev/core/util/Switch.hpp>
#include <lifev/core/array/VectorSmall.hpp>
#include <lifev/core/mesh/MeshElementBare.hpp>
#include <lifev/core/mesh/MarkerDefinitions.hpp>
#include <lifev/core/mesh/MeshEntity.hpp>
#include <lifev/core/mesh/MeshEntityContainer.hpp>
#include <lifev/core/array/EnumMapEpetra.hpp>
+ Include dependency graph for MeshUtility.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  EnquireBFace< MeshType >
 Functor to check if a Face is on the boundary. More...
 
class  EnquireBEdge< MeshType >
 
class  EnquireBPoint< MeshType >
 
class  GetCoordComponent
 This functor is used to do some geometry checks. More...
 
class  GetOnes
 
class  MeshTransformer< REGIONMESH, RMTYPE >
 Class to transform a mesh. More...
 
struct  meshSize
 It holds statistics on mesh size. More...
 

Namespaces

 LifeV
 Default Physical Solver.
 
 LifeV::MeshUtility
 
 LifeV::MeshUtility::MeshStatistics
 Mesh statistics.
 

Typedefs

typedef std::map< BareFace, std::pair< ID, ID >, cmpBareItem< BareFace > > temporaryFaceContainer_Type
 A locally used structure, not meant for general use. More...
 
typedef std::map< BareEdge, std::pair< ID, ID >, cmpBareItem< BareEdge > > temporaryEdgeContainer_Type
 A locally used structure, not meant for general use. More...
 

Functions

template<typename MeshType >
UInt findFaces (const MeshType &mesh, temporaryFaceContainer_Type &boundaryFaceContainer, UInt &numInternalFaces, temporaryFaceContainer_Type &internalFaces, bool buildAllFaces=false)
 Finds mesh faces. More...
 
template<typename MeshType >
UInt findBoundaryFaces (const MeshType &mesh, temporaryFaceContainer_Type &boundaryFaceContainer, UInt &numInternalFaces)
 Finds boundary faces. More...
 
template<typename MeshType >
UInt findBoundaryEdges (const MeshType &mesh, temporaryEdgeContainer_Type &boundaryEdgeContainer)
 Finds boundary edges. More...
 
template<typename MeshType >
UInt findInternalEdges (const MeshType &mesh, const temporaryEdgeContainer_Type &boundaryEdgeContainer, temporaryEdgeContainer_Type &internalEdgeContainer)
 Finds internal edges. More...
 
template<typename MeshElementMarkedType >
markerID_Type inheritPointsStrongerMarker (MeshElementMarkedType &geoElement)
 
template<typename MeshElementMarkedType >
markerID_Type inheritPointsWeakerMarker (MeshElementMarkedType &geoElement)
 Sets the marker ID of a MeshElementMarked of dimension greater one. More...
 
template<typename MeshType >
UInt testDomainTopology (MeshType const &mesh, UInt &numBoundaryEdges)
 
template<typename MeshEntityListType >
bool checkIsMarkerSet (const MeshEntityListType &meshEntityList)
 Check whether all markers of a the geometry entities stored in a list are set. More...
 
template<typename MeshType >
void setBoundaryEdgesMarker (MeshType &mesh, std::ostream &logStream=std::cout, std::ostream &=std::cerr, bool verbose=true)
 Sets the marker id for all boundary edges by inheriting them from boundary points. More...
 
template<typename MeshType >
void setBoundaryFacesMarker (MeshType &mesh, std::ostream &logStream=std::cout, std::ostream &=std::cerr, bool verbose=true)
 Sets the marker ID for all boundary faces by inheriting them from boundary points. More...
 
template<typename MeshType >
void setBoundaryPointsMarker (MeshType &mesh, std::ostream &logStream=std::cout, std::ostream &=std::cerr, bool verbose=false)
 It sets the marker ID for Points, by inheriting it from facets. More...
 
template<typename MeshEntityListType >
bool checkId (const MeshEntityListType &meshEntityList)
 Verifies if a list of mesh entities have the ID properly set. More...
 
template<typename MeshEntityListType >
void fixId (MeshEntityListType &meshEntityList)
 Fixes a a list of mesh entities so that the ID is properly set. More...
 
template<typename MeshType >
void setBoundaryPointsCounters (MeshType &mesh)
 Fixes boundary points counter It fix the boundary points counter by counting how many points have the boundary flag set. It also resets the boundary points list. More...
 
template<typename MeshType >
void fixBoundaryPoints (MeshType &mesh, std::ostream &logStream=std::cout, std::ostream &=std::cerr, bool verbose=true)
 It fixes boundary flag on points laying on boundary faces. More...
 
template<class MeshType >
bool rearrangeFaces (MeshType &mesh, std::ostream &logStream, std::ostream &errorStream, Switch &sw, UInt &numFaces, UInt &numBoundaryFaces, bool verbose=false, temporaryFaceContainer_Type *externalFaceContainer=0)
 It rearranges the faces stored in the mesh. More...
 
template<class MeshType >
bool fixBoundaryFaces (MeshType &mesh, std::ostream &logStream, std::ostream &errorStream, Switch &sw, UInt &numFaces, UInt &numBoundaryFaces, bool=false, bool verbose=false, temporaryFaceContainer_Type *externalFaceContainer=0)
 It fixes boundary faces so that they are consistently numbered with volumes. More...
 
template<class MeshType >
bool buildFaces (MeshType &mesh, std::ostream &logStream, std::ostream &errorStream, UInt &numBoundaryFaces, UInt &numInternalFaces, bool buildBoundaryFaces=true, bool buildInternalFaces=false, bool verbose=false, temporaryFaceContainer_Type *externalFaceContainer=0)
 Builds faces. More...
 
template<typename MeshType >
bool buildEdges (MeshType &mesh, std::ostream &logStream, std::ostream &errorStream, UInt &numBoundaryEdgesFound, UInt &numInternalEdgesFound, bool buildBoundaryEdges=true, bool buildInternalEdges=false, bool verbose=false, temporaryEdgeContainer_Type *externalEdgeContainer=0)
 It builds edges. More...
 
template<typename MeshType >
void p2MeshFromP1Data (MeshType &mesh, std::ostream &logStream=std::cout)
 It builds a P2 mesh from P1 data. More...
 
template<typename REGIONMESH >
meshSize computeSize (const REGIONMESH &)
 Computes mesh sizes. More...
 
template<typename RegionMeshType , typename RegionFunctorType >
void assignRegionMarkerID (RegionMeshType &mesh, const RegionFunctorType &fun)
 

Detailed Description

Base utilities operating on meshes.

Contributor:
Tiziano Passerini tizia.nosp@m.no@m.nosp@m.athcs.nosp@m..emo.nosp@m.ry.ed.nosp@m.u
Maintainer:
Tiziano Passerini tizia.nosp@m.no@m.nosp@m.athcs.nosp@m..emo.nosp@m.ry.ed.nosp@m.u

This file contains a set of base utilities used to test mesh entities or operate on them

Definition in file MeshUtility.hpp.