15 #include "../config/config.hpp"
19 #include "../general/communication.hpp"
20 #include "../general/globals.hpp"
91 double threshold,
int nc_limit = 0,
104 ParMesh(MPI_Comm comm,
Mesh &mesh,
int *partitioning_ = NULL,
105 int part_method = 1);
108 ParMesh(MPI_Comm comm, std::istream &input);
151 void GroupEdge(
int group,
int i,
int &edge,
int &o);
152 void GroupFace(
int group,
int i,
int &face,
int &o);
215 double &kappa_min,
double &kappa_max);
232 #endif // MFEM_USE_MPI
int GetNFaceNeighbors() const
void PrintAsOneXG(std::ostream &out=mfem::out)
Old mesh format (Netgen/Truegrid) version of 'PrintAsOne'.
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)
This function is not public anymore. Use GeneralRefinement instead.
Data type dense matrix using column-major storage.
ElementTransformation * GetGhostFaceTransformation(FaceElementTransformations *FETr, int face_type, int face_geom)
void GetRow(int i, Array< int > &row) const
Return row i in array row (the Table must be finalized)
void GetCharacteristics(double &h_min, double &h_max, double &kappa_min, double &kappa_max)
Array< int > face_nbr_vertices_offset
Array< int > face_nbr_group
virtual void MarkTetMeshForRefinement(DSTable &v_to_v)
bool WantSkipSharedMaster(const NCMesh::Master &master) const
A parallel extension of the NCMesh class.
Class for PUMI parallel meshes.
int GroupVertex(int group, int i)
virtual int FindPoints(DenseMatrix &point_mat, Array< int > &elem_ids, Array< IntegrationPoint > &ips, bool warn=true, InverseElementTransformation *inv_trans=NULL)
Find the ids of the elements that contain the given points, and their corresponding reference coordin...
void ExchangeFaceNbrData()
void Rebalance()
Load balance the mesh. NC meshes only.
Array< int > face_nbr_elements_offset
void GetBoundingBox(Vector &p_min, Vector &p_max, int ref=2)
Array< Element * > shared_edges
virtual void NonconformingRefinement(const Array< Refinement > &refinements, int nc_limit=0)
This function is not public anymore. Use GeneralRefinement instead.
int GetSharedFace(int sface) const
Return the local face index for the given shared face.
void PrintAsOne(std::ostream &out=mfem::out)
FaceElementTransformations * GetSharedFaceTransformations(int sf, bool fill2=true)
Table send_face_nbr_vertices
int GetFaceSplittings(Element *face, const DSTable &v_to_v, int *middle)
Return a number(0-4) identifying how the given face has been split.
virtual void Print(std::ostream &out=mfem::out) const
Array< Element * > shared_faces
int GroupNVertices(int group)
virtual void QuadUniformRefinement()
Refine quadrilateral mesh.
virtual void HexUniformRefinement()
Refine a hexahedral mesh.
int GetFaceNbrGroup(int fn) const
void RefineGroups(const DSTable &v_to_v, int *middle)
Update the groups after tet refinement.
virtual bool NonconformingDerefinement(Array< double > &elem_error, double threshold, int nc_limit=0, int op=1)
NC version of GeneralDerefinement.
Array< Vertex > face_nbr_vertices
virtual long ReduceInt(int value) const
Utility function: sum integers from all processors (Allreduce).
void GetFaceNbrElementTransformation(int i, IsoparametricTransformation *ElTr)
void GroupFace(int group, int i, int &face, int &o)
void ExchangeFaceNbrNodes()
Table group_svert
Shared objects in each group.
int GroupNFaces(int group)
int GetEdgeSplittings(Element *edge, const DSTable &v_to_v, int *middle)
Return a number(0-1) identifying how the given edge has been split.
virtual void PrintXG(std::ostream &out=mfem::out) const
void GroupEdge(int group, int i, int &edge, int &o)
void GenerateOffsets(int N, HYPRE_Int loc_sizes[], Array< HYPRE_Int > *offsets[]) const
Array< int > svert_lvert
Shared to local index mapping.
Table send_face_nbr_elements
virtual void PrintInfo(std::ostream &out=mfem::out)
Print various parallel mesh stats.
Table * GetFaceToAllElementTable() const
OutStream out(std::cout)
Global stream used by the library for standard output. Initially it uses the same std::streambuf as s...
void ParPrint(std::ostream &out) const
Save the mesh in a parallel mesh format.
Class for parallel meshes.
Abstract data type element.
int GetFaceNbrRank(int fn) const
int GroupNEdges(int group)
virtual void NURBSUniformRefinement()
Refine NURBS mesh.