15 #include "../config/config.hpp"
19 #include "../general/communication.hpp"
47 int GetEdgeSplittings(
Element *edge,
const DSTable &v_to_v,
int *middle);
49 int GetFaceSplittings(
Element *face,
const DSTable &v_to_v,
int *middle);
51 void GetFaceNbrElementTransformation(
55 virtual void QuadUniformRefinement();
58 virtual void HexUniformRefinement();
60 virtual void NURBSUniformRefinement();
62 void DeleteFaceNbrData();
65 ParMesh(MPI_Comm comm,
Mesh &mesh,
int *partitioning_ = NULL,
93 {
return svert_lvert[group_svert.
GetJ()[group_svert.
GetI()[group-1]+i]]; }
94 void GroupEdge(
int group,
int i,
int &edge,
int &o);
95 void GroupFace(
int group,
int i,
int &face,
int &o);
125 virtual void Print(std::ostream &out = std::cout)
const;
129 virtual void PrintXG(std::ostream &out = std::cout)
const;
136 void PrintAsOne(std::ostream &out = std::cout);
142 void PrintInfo(std::ostream &out = std::cout);
149 #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)
virtual void LocalRefinement(const Array< int > &marked_el, int type=3)
Refine the marked elements.
Array< int > face_nbr_vertices_offset
Array< int > face_nbr_group
int GroupVertex(int group, int i)
void ExchangeFaceNbrData()
void PrintAsOne(std::ostream &out=std::cout)
Array< int > face_nbr_elements_offset
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
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()
ParMesh(MPI_Comm comm, Mesh &mesh, int *partitioning_=NULL, int part_method=1)
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