15 #include "../config/config.hpp"
19 #include "../general/communication.hpp"
51 int GetEdgeSplittings(
Element *edge,
const DSTable &v_to_v,
int *middle);
53 int GetFaceSplittings(
Element *face,
const DSTable &v_to_v,
int *middle);
55 void GetFaceNbrElementTransformation(
59 virtual void QuadUniformRefinement();
62 virtual void HexUniformRefinement();
64 virtual void NURBSUniformRefinement();
67 virtual void LocalRefinement(
const Array<int> &marked_el,
int type = 3);
73 void DeleteFaceNbrData();
83 ParMesh(MPI_Comm comm,
Mesh &mesh,
int *partitioning_ = NULL,
86 MPI_Comm
GetComm()
const {
return MyComm; }
113 {
return svert_lvert[group_svert.
GetJ()[group_svert.
GetI()[group-1]+i]]; }
114 void GroupEdge(
int group,
int i,
int &edge,
int &o);
115 void GroupFace(
int group,
int i,
int &face,
int &o);
145 virtual void Print(std::ostream &out = std::cout)
const;
149 virtual void PrintXG(std::ostream &out = std::cout)
const;
155 void PrintAsOne(std::ostream &out = std::cout);
161 virtual void PrintInfo(std::ostream &out = std::cout);
168 #endif // MFEM_USE_MPI
int GetNFaceNeighbors() const
int Size() const
Logical size of the array.
virtual void ReorientTetMesh()
See the remarks for the serial version in mesh.hpp.
Array< Element * > face_nbr_elements
int GetNSharedFaces() const
Return the number of shared faces (3D), edges (2D), vertices (1D)
Array< int > face_nbr_vertices_offset
Array< int > face_nbr_group
A parallel extension of the NCMesh class.
int GroupVertex(int group, int i)
void ExchangeFaceNbrData()
void PrintAsOne(std::ostream &out=std::cout)
Array< int > face_nbr_elements_offset
int GetSharedFace(int sface) const
Return the local face index for the given shared face.
Table send_face_nbr_vertices
int GroupNVertices(int group)
int GetFaceNbrGroup(int fn) const
void RefineGroups(const DSTable &v_to_v, int *middle)
Update the groups after tet refinement.
Array< Vertex > face_nbr_vertices
virtual void PrintInfo(std::ostream &out=std::cout)
Print various parallel mesh stats.
virtual void PrintXG(std::ostream &out=std::cout) const
void GroupFace(int group, int i, int &face, int &o)
void ExchangeFaceNbrNodes()
int GroupNFaces(int group)
void GroupEdge(int group, int i, int &edge, int &o)
void PrintAsOneXG(std::ostream &out=std::cout)
Old mesh format (Netgen/Truegrid) version of 'PrintAsOne'.
Table send_face_nbr_elements
Table * GetFaceToAllElementTable() const
FaceElementTransformations * GetSharedFaceTransformations(int)
Class for parallel meshes.
Abstract data type element.
int GetFaceNbrRank(int fn) const
int GroupNEdges(int group)
virtual void Print(std::ostream &out=std::cout) const