MFEM  v3.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Public Attributes | List of all members
mfem::ParMesh Class Reference

Class for parallel meshes. More...

#include <pmesh.hpp>

Inheritance diagram for mfem::ParMesh:
[legend]
Collaboration diagram for mfem::ParMesh:
[legend]

Public Member Functions

 ParMesh (const ParMesh &pmesh, bool copy_nodes=true)
 
 ParMesh (MPI_Comm comm, Mesh &mesh, int *partitioning_=NULL, int part_method=1)
 
MPI_Comm GetComm () const
 
int GetNRanks () const
 
int GetMyRank () const
 
int GetNGroups ()
 
int GroupNVertices (int group)
 
int GroupNEdges (int group)
 
int GroupNFaces (int group)
 
int GroupVertex (int group, int i)
 
void GroupEdge (int group, int i, int &edge, int &o)
 
void GroupFace (int group, int i, int &face, int &o)
 
void ExchangeFaceNbrData ()
 
void ExchangeFaceNbrNodes ()
 
int GetNFaceNeighbors () const
 
int GetFaceNbrGroup (int fn) const
 
int GetFaceNbrRank (int fn) const
 
TableGetFaceToAllElementTable () const
 
FaceElementTransformationsGetSharedFaceTransformations (int)
 
int GetNSharedFaces () const
 Return the number of shared faces (3D), edges (2D), vertices (1D) More...
 
int GetSharedFace (int sface) const
 Return the local face index for the given shared face. More...
 
virtual void ReorientTetMesh ()
 See the remarks for the serial version in mesh.hpp. More...
 
void RefineGroups (const DSTable &v_to_v, int *middle)
 Update the groups after tet refinement. More...
 
virtual void Print (std::ostream &out=std::cout) const
 
virtual void PrintXG (std::ostream &out=std::cout) const
 
void PrintAsOne (std::ostream &out=std::cout)
 
void PrintAsOneXG (std::ostream &out=std::cout)
 Old mesh format (Netgen/Truegrid) version of 'PrintAsOne'. More...
 
virtual void PrintInfo (std::ostream &out=std::cout)
 Print various parallel mesh stats. More...
 
virtual ~ParMesh ()
 
- Public Member Functions inherited from mfem::Mesh
 Mesh ()
 
 Mesh (const Mesh &mesh, bool copy_nodes=true)
 
 Mesh (int _Dim, int NVert, int NElem, int NBdrElem=0, int _spaceDim=-1)
 
ElementNewElement (int geom)
 
void AddVertex (const double *)
 
void AddTri (const int *vi, int attr=1)
 
void AddTriangle (const int *vi, int attr=1)
 
void AddQuad (const int *vi, int attr=1)
 
void AddTet (const int *vi, int attr=1)
 
void AddHex (const int *vi, int attr=1)
 
void AddHexAsTets (const int *vi, int attr=1)
 
void AddElement (Element *elem)
 
void AddBdrElement (Element *elem)
 
void AddBdrSegment (const int *vi, int attr=1)
 
void AddBdrTriangle (const int *vi, int attr=1)
 
void AddBdrQuad (const int *vi, int attr=1)
 
void AddBdrQuadAsTriangles (const int *vi, int attr=1)
 
void GenerateBoundaryElements ()
 
void FinalizeTriMesh (int generate_edges=0, int refine=0, bool fix_orientation=true)
 
void FinalizeQuadMesh (int generate_edges=0, int refine=0, bool fix_orientation=true)
 
void FinalizeTetMesh (int generate_edges=0, int refine=0, bool fix_orientation=true)
 
void FinalizeHexMesh (int generate_edges=0, int refine=0, bool fix_orientation=true)
 
void SetAttributes ()
 
void GetGeckoElementReordering (Array< int > &ordering)
 
void ReorderElements (const Array< int > &ordering, bool reorder_vertices=true)
 
 Mesh (int nx, int ny, int nz, Element::Type type, int generate_edges=0, double sx=1.0, double sy=1.0, double sz=1.0)
 
 Mesh (int nx, int ny, Element::Type type, int generate_edges=0, double sx=1.0, double sy=1.0)
 
 Mesh (int n, double sx=1.0)
 
 Mesh (std::istream &input, int generate_edges=0, int refine=1, bool fix_orientation=true)
 
 Mesh (Mesh *mesh_array[], int num_pieces)
 Create a disjoint mesh from the given mesh array. More...
 
void Load (std::istream &input, int generate_edges=0, int refine=1, bool fix_orientation=true)
 
int MeshGenerator ()
 Truegrid or NetGen? More...
 
int GetNV () const
 
int GetNE () const
 Returns number of elements. More...
 
int GetNBE () const
 Returns number of boundary elements. More...
 
int GetNEdges () const
 Return the number of edges. More...
 
int GetNFaces () const
 Return the number of faces in a 3D mesh. More...
 
int GetNumFaces () const
 Return the number of faces (3D), edges (2D) or vertices (1D). More...
 
int EulerNumber () const
 Equals 1 + num_holes - num_loops. More...
 
int EulerNumber2D () const
 Equals 1 - num_holes. More...
 
int Dimension () const
 
int SpaceDimension () const
 
const double * GetVertex (int i) const
 Return pointer to vertex i's coordinates. More...
 
double * GetVertex (int i)
 
const ElementGetElement (int i) const
 
ElementGetElement (int i)
 
const ElementGetBdrElement (int i) const
 
ElementGetBdrElement (int i)
 
const ElementGetFace (int i) const
 
int GetFaceBaseGeometry (int i) const
 
int GetElementBaseGeometry (int i) const
 
int GetBdrElementBaseGeometry (int i) const
 
void GetElementVertices (int i, Array< int > &dofs) const
 Returns the indices of the dofs of element i. More...
 
void GetBdrElementVertices (int i, Array< int > &dofs) const
 Returns the indices of the dofs of boundary element i. More...
 
void GetElementEdges (int i, Array< int > &edges, Array< int > &cor) const
 Return the indices and the orientations of all edges of element i. More...
 
void GetBdrElementEdges (int i, Array< int > &edges, Array< int > &cor) const
 Return the indices and the orientations of all edges of bdr element i. More...
 
void GetFaceEdges (int i, Array< int > &, Array< int > &) const
 
void GetFaceVertices (int i, Array< int > &vert) const
 Returns the indices of the vertices of face i. More...
 
void GetEdgeVertices (int i, Array< int > &vert) const
 Returns the indices of the vertices of edge i. More...
 
TableGetFaceEdgeTable () const
 Returns the face-to-edge Table (3D) More...
 
TableGetEdgeVertexTable () const
 Returns the edge-to-vertex Table (3D) More...
 
void GetElementFaces (int i, Array< int > &, Array< int > &) const
 Return the indices and the orientations of all faces of element i. More...
 
void GetBdrElementFace (int i, int *, int *) const
 Return the index and the orientation of the face of bdr element i. (3D) More...
 
int GetBdrElementEdgeIndex (int i) const
 
int GetElementType (int i) const
 Returns the type of element i. More...
 
int GetBdrElementType (int i) const
 Returns the type of boundary element i. More...
 
void GetPointMatrix (int i, DenseMatrix &pointmat) const
 
void GetBdrPointMatrix (int i, DenseMatrix &pointmat) const
 
void GetElementTransformation (int i, IsoparametricTransformation *ElTr)
 
ElementTransformationGetElementTransformation (int i)
 Returns the transformation defining the i-th element. More...
 
void GetElementTransformation (int i, const Vector &nodes, IsoparametricTransformation *ElTr)
 
ElementTransformationGetBdrElementTransformation (int i)
 Returns the transformation defining the i-th boundary element. More...
 
void GetBdrElementTransformation (int i, IsoparametricTransformation *ElTr)
 
void GetFaceTransformation (int i, IsoparametricTransformation *FTr)
 
ElementTransformationGetFaceTransformation (int FaceNo)
 Returns the transformation defining the given face element. More...
 
void GetEdgeTransformation (int i, IsoparametricTransformation *EdTr)
 
ElementTransformationGetEdgeTransformation (int EdgeNo)
 Returns the transformation defining the given face element. More...
 
FaceElementTransformationsGetFaceElementTransformations (int FaceNo, int mask=31)
 
FaceElementTransformationsGetInteriorFaceTransformations (int FaceNo)
 
FaceElementTransformationsGetBdrFaceTransformations (int BdrElemNo)
 
bool FaceIsInterior (int FaceNo) const
 Return true if the given face is interior. More...
 
void GetFaceElements (int Face, int *Elem1, int *Elem2)
 
void GetFaceInfos (int Face, int *Inf1, int *Inf2)
 
void CheckElementOrientation (bool fix_it=true)
 Check the orientation of the elements. More...
 
void CheckBdrElementOrientation (bool fix_it=true)
 Check the orientation of the boundary elements. More...
 
int GetAttribute (int i) const
 Return the attribute of element i. More...
 
int GetBdrAttribute (int i) const
 Return the attribute of boundary element i. More...
 
const TableElementToElementTable ()
 
const TableElementToFaceTable () const
 
const TableElementToEdgeTable () const
 
TableGetVertexToElementTable ()
 The returned Table must be destroyed by the caller. More...
 
TableGetFaceToElementTable () const
 
int * CartesianPartitioning (int nxyz[])
 
int * GeneratePartitioning (int nparts, int part_method=1)
 
void CheckPartitioning (int *partitioning)
 
void CheckDisplacements (const Vector &displacements, double &tmax)
 
void MoveVertices (const Vector &displacements)
 
void GetVertices (Vector &vert_coord) const
 
void SetVertices (const Vector &vert_coord)
 
void GetNode (int i, double *coord)
 
void SetNode (int i, const double *coord)
 
void MoveNodes (const Vector &displacements)
 
void GetNodes (Vector &node_coord) const
 
void SetNodes (const Vector &node_coord)
 
GridFunctionGetNodes ()
 Return a pointer to the internal node GridFunction (may be NULL). More...
 
void NewNodes (GridFunction &nodes, bool make_owner=false)
 Replace the internal node GridFunction with the given GridFunction. More...
 
void SwapNodes (GridFunction *&nodes, int &own_nodes_)
 
void GetNodes (GridFunction &nodes) const
 Return the mesh nodes/vertices projected on the given GridFunction. More...
 
void SetNodalFESpace (FiniteElementSpace *nfes)
 
void SetNodalGridFunction (GridFunction *nodes, bool make_owner=false)
 
const FiniteElementSpaceGetNodalFESpace ()
 
void SetCurvature (int order, bool discont=false, int space_dim=-1, int ordering=1)
 
void UniformRefinement ()
 
void GeneralRefinement (const Array< Refinement > &refinements, int nonconforming=-1, int nc_limit=0)
 
void GeneralRefinement (const Array< int > &el_to_refine, int nonconforming=-1, int nc_limit=0)
 
void EnsureNCMesh ()
 
void RandomRefinement (int levels, int frac=2, bool aniso=false, int nonconforming=-1, int nc_limit=-1, int seed=0)
 Refine each element with 1/frac probability, repeat 'levels' times. More...
 
void RefineAtVertex (const Vertex &vert, int levels, double eps=0.0, int nonconforming=-1)
 Refine elements sharing the specified vertex, 'levels' times. More...
 
void KnotInsert (Array< KnotVector * > &kv)
 
void DegreeElevate (int t)
 
void UseTwoLevelState (int use)
 
void SetState (int s)
 Change the mesh state to NORMAL, TWO_LEVEL_COARSE, TWO_LEVEL_FINE. More...
 
int GetState () const
 
int GetNumFineElems (int i)
 
int GetRefinementType (int i)
 For a given coarse element i returns its refinement type. More...
 
int GetFineElem (int i, int j)
 
ElementTransformationGetFineElemTrans (int i, int j)
 
void PrintVTK (std::ostream &out)
 Print the mesh in VTK format (linear and quadratic meshes only). More...
 
void PrintVTK (std::ostream &out, int ref, int field_data=0)
 
void GetElementColoring (Array< int > &colors, int el0=0)
 
void PrintWithPartitioning (int *partitioning, std::ostream &out, int elem_attr=0) const
 
void PrintElementsWithPartitioning (int *partitioning, std::ostream &out, int interior_faces=0)
 
void PrintSurfaces (const Table &Aface_face, std::ostream &out) const
 Print set of disjoint surfaces: More...
 
void ScaleSubdomains (double sf)
 
void ScaleElements (double sf)
 
void Transform (void(*f)(const Vector &, Vector &))
 
void Transform (VectorCoefficient &deformation)
 
void RemoveUnusedVertices ()
 Remove unused vertices and rebuild mesh connectivity. More...
 
void RemoveInternalBoundaries ()
 
double GetElementSize (int i, int type=0)
 
double GetElementSize (int i, const Vector &dir)
 
double GetElementVolume (int i)
 
void PrintCharacteristics (Vector *Vh=NULL, Vector *Vk=NULL, std::ostream &out=std::cout)
 
void MesquiteSmooth (const int mesquite_option=0)
 
virtual ~Mesh ()
 Destroys mesh. More...
 

Public Attributes

GroupTopology gtopo
 
bool have_face_nbr_data
 
Array< int > face_nbr_group
 
Array< int > face_nbr_elements_offset
 
Array< int > face_nbr_vertices_offset
 
Array< Element * > face_nbr_elements
 
Array< Vertexface_nbr_vertices
 
Table send_face_nbr_elements
 
Table send_face_nbr_vertices
 
ParNCMeshpncmesh
 
- Public Attributes inherited from mfem::Mesh
Array< int > attributes
 
Array< int > bdr_attributes
 
NURBSExtensionNURBSext
 
NCMeshncmesh
 

Additional Inherited Members

- Public Types inherited from mfem::Mesh
enum  { NORMAL, TWO_LEVEL_COARSE, TWO_LEVEL_FINE }
 
- Static Public Member Functions inherited from mfem::Mesh
static FiniteElementGetTransformationFEforElementType (int)
 
- Protected Member Functions inherited from mfem::Mesh
void Init ()
 
void InitTables ()
 
void DeleteTables ()
 
void DeleteCoarseTables ()
 
ElementReadElementWithoutAttr (std::istream &)
 
ElementReadElement (std::istream &)
 
void SetMeshGen ()
 
double GetLength (int i, int j) const
 Return the length of the segment from node i to node j. More...
 
void GetElementJacobian (int i, DenseMatrix &J)
 
void MarkForRefinement ()
 
void MarkTriMeshForRefinement ()
 
void GetEdgeOrdering (DSTable &v_to_v, Array< int > &order)
 
void MarkTetMeshForRefinement ()
 
void PrepareNodeReorder (DSTable **old_v_to_v, Table **old_elem_vert)
 
void DoNodeReorder (DSTable *old_v_to_v, Table *old_elem_vert)
 
STable3DGetFacesTable ()
 
STable3DGetElementToFaceTable (int ret_ftbl=0)
 
void RedRefinement (int i, const DSTable &v_to_v, int *edge1, int *edge2, int *middle)
 
void GreenRefinement (int i, const DSTable &v_to_v, int *edge1, int *edge2, int *middle)
 
void Bisection (int i, const DSTable &, int *, int *, int *)
 
void Bisection (int i, const DSTable &, int *)
 
void UniformRefinement (int i, const DSTable &, int *, int *, int *)
 
void AverageVertices (int *indexes, int n, int result)
 
void UpdateNodes ()
 Update the nodes of a curved mesh after refinement. More...
 
void LoadPatchTopo (std::istream &input, Array< int > &edge_to_knot)
 Read NURBS patch/macro-element mesh. More...
 
void UpdateNURBS ()
 
void PrintTopo (std::ostream &out, const Array< int > &e_to_k) const
 
void BisectTriTrans (DenseMatrix &pointmat, Triangle *tri, int child)
 
void BisectTetTrans (DenseMatrix &pointmat, Tetrahedron *tet, int child)
 
int GetFineElemPath (int i, int j)
 
int GetBisectionHierarchy (Element *E)
 
void GetLocalPtToSegTransformation (IsoparametricTransformation &, int)
 Used in GetFaceElementTransformations (...) More...
 
void GetLocalSegToTriTransformation (IsoparametricTransformation &loc, int i)
 
void GetLocalSegToQuadTransformation (IsoparametricTransformation &loc, int i)
 
void GetLocalTriToTetTransformation (IsoparametricTransformation &loc, int i)
 Used in GetFaceElementTransformations (...) More...
 
void GetLocalQuadToHexTransformation (IsoparametricTransformation &loc, int i)
 Used in GetFaceElementTransformations (...) More...
 
void ApplySlaveTransformation (IsoparametricTransformation &transf, const FaceInfo &fi)
 
bool IsSlaveFace (const FaceInfo &fi)
 
void GetVertexToVertexTable (DSTable &) const
 
int GetElementToEdgeTable (Table &, Array< int > &)
 
void AddPointFaceElement (int lf, int gf, int el)
 Used in GenerateFaces() More...
 
void AddSegmentFaceElement (int lf, int gf, int el, int v0, int v1)
 
void AddTriangleFaceElement (int lf, int gf, int el, int v0, int v1, int v2)
 
void AddQuadFaceElement (int lf, int gf, int el, int v0, int v1, int v2, int v3)
 
bool FaceIsTrueInterior (int FaceNo) const
 
void FreeElement (Element *E)
 
void GenerateFaces ()
 
void GenerateNCFaceInfo ()
 
void InitMesh (int _Dim, int _spaceDim, int NVert, int NElem, int NBdrElem)
 Begin construction of a mesh. More...
 
void Make3D (int nx, int ny, int nz, Element::Type type, int generate_edges, double sx, double sy, double sz)
 
void Make2D (int nx, int ny, Element::Type type, int generate_edges, double sx, double sy)
 
void Make1D (int n, double sx=1.0)
 Creates a 1D mesh for the interval [0,sx] divided into n equal intervals. More...
 
void InitFromNCMesh (const NCMesh &ncmesh)
 Initialize vertices/elements/boundary/tables from a nonconforming mesh. More...
 
 Mesh (const NCMesh &ncmesh)
 Create from a nonconforming mesh. More...
 
void Swap (Mesh &other, bool non_geometry=false)
 
- Static Protected Member Functions inherited from mfem::Mesh
static void PrintElementWithoutAttr (const Element *, std::ostream &)
 
static void PrintElement (const Element *, std::ostream &)
 
static int GetTriOrientation (const int *base, const int *test)
 Returns the orientation of "test" relative to "base". More...
 
static int GetQuadOrientation (const int *base, const int *test)
 Returns the orientation of "test" relative to "base". More...
 
static void GetElementArrayEdgeTable (const Array< Element * > &elem_array, const DSTable &v_to_v, Table &el_to_edge)
 
static void ShiftL2R (int &, int &, int &)
 
static void Rotate3 (int &, int &, int &)
 
- Protected Attributes inherited from mfem::Mesh
int Dim
 
int spaceDim
 
int NumOfVertices
 
int NumOfElements
 
int NumOfBdrElements
 
int NumOfEdges
 
int NumOfFaces
 
int State
 
int WantTwoLevelState
 
int meshgen
 
int c_NumOfVertices
 
int c_NumOfElements
 
int c_NumOfBdrElements
 
int f_NumOfVertices
 
int f_NumOfElements
 
int f_NumOfBdrElements
 
int c_NumOfEdges
 
int c_NumOfFaces
 
int f_NumOfEdges
 
int f_NumOfFaces
 
Array< Element * > elements
 
Array< Vertexvertices
 
Array< Element * > boundary
 
Array< Element * > faces
 
Array< FaceInfofaces_info
 
Array< NCFaceInfonc_faces_info
 
Tableel_to_edge
 
Tableel_to_face
 
Tableel_to_el
 
Array< int > be_to_edge
 
Tablebel_to_edge
 
Array< int > be_to_face
 
Tableface_edge
 
Tableedge_vertex
 
Tablec_el_to_edge
 
Tablef_el_to_edge
 
Tablec_bel_to_edge
 
Tablef_bel_to_edge
 
Array< int > fc_be_to_edge
 
Tablec_el_to_face
 
Tablef_el_to_face
 
Array< FaceInfofc_faces_info
 
IsoparametricTransformation Transformation
 
IsoparametricTransformation Transformation2
 
IsoparametricTransformation FaceTransformation
 
IsoparametricTransformation EdgeTransformation
 
FaceElementTransformations FaceElemTr
 
GridFunctionNodes
 
int own_nodes
 
Meshnc_coarse_level
 
MemAlloc< Tetrahedron, 1024 > TetMemory
 
MemAlloc< BisectedElement, 1024 > BEMemory
 
- Static Protected Attributes inherited from mfem::Mesh
static const int tet_faces [4][3]
 
static const int hex_faces [6][4]
 
static const int tri_orientations [6][3]
 
static const int quad_orientations [8][4]
 

Detailed Description

Class for parallel meshes.

Definition at line 28 of file pmesh.hpp.

Constructor & Destructor Documentation

mfem::ParMesh::ParMesh ( const ParMesh pmesh,
bool  copy_nodes = true 
)
explicit

Copy constructor. Performs a deep copy of (almost) all data, so that the source mesh can be modified (e.g. deleted, refined) without affecting the new mesh. The source mesh has to be in a NORMAL, i.e. not TWO_LEVEL_*, state. If 'copy_nodes' is false, use a shallow (pointer) copy for the nodes, if present.

Definition at line 26 of file pmesh.cpp.

mfem::ParMesh::ParMesh ( MPI_Comm  comm,
Mesh mesh,
int *  partitioning_ = NULL,
int  part_method = 1 
)

Definition at line 77 of file pmesh.cpp.

mfem::ParMesh::~ParMesh ( )
virtual

Definition at line 3859 of file pmesh.cpp.

Member Function Documentation

void mfem::ParMesh::ExchangeFaceNbrData ( )

Definition at line 843 of file pmesh.cpp.

void mfem::ParMesh::ExchangeFaceNbrNodes ( )

Definition at line 1236 of file pmesh.cpp.

MPI_Comm mfem::ParMesh::GetComm ( ) const
inline

Definition at line 86 of file pmesh.hpp.

int mfem::ParMesh::GetFaceNbrGroup ( int  fn) const
inline

Definition at line 120 of file pmesh.hpp.

int mfem::ParMesh::GetFaceNbrRank ( int  fn) const

Definition at line 1293 of file pmesh.cpp.

Table * mfem::ParMesh::GetFaceToAllElementTable ( ) const

Similar to Mesh::GetFaceToElementTable with added face-neighbor elements with indices offset by the local number of elements.

Definition at line 1303 of file pmesh.cpp.

int mfem::ParMesh::GetMyRank ( ) const
inline

Definition at line 88 of file pmesh.hpp.

int mfem::ParMesh::GetNFaceNeighbors ( ) const
inline

Definition at line 119 of file pmesh.hpp.

int mfem::ParMesh::GetNGroups ( )
inline

Definition at line 105 of file pmesh.hpp.

int mfem::ParMesh::GetNRanks ( ) const
inline

Definition at line 87 of file pmesh.hpp.

int mfem::ParMesh::GetNSharedFaces ( ) const

Return the number of shared faces (3D), edges (2D), vertices (1D)

Definition at line 1409 of file pmesh.cpp.

int mfem::ParMesh::GetSharedFace ( int  sface) const

Return the local face index for the given shared face.

Definition at line 1422 of file pmesh.cpp.

FaceElementTransformations * mfem::ParMesh::GetSharedFaceTransformations ( int  sf)

Get the FaceElementTransformations for the given shared face (edge 2D). In the returned object, 1 and 2 refer to the local and the neighbor elements, respectively.

Definition at line 1361 of file pmesh.cpp.

void mfem::ParMesh::GroupEdge ( int  group,
int  i,
int &  edge,
int &  o 
)

Definition at line 692 of file pmesh.cpp.

void mfem::ParMesh::GroupFace ( int  group,
int  i,
int &  face,
int &  o 
)

Definition at line 700 of file pmesh.cpp.

int mfem::ParMesh::GroupNEdges ( int  group)
inline

Definition at line 109 of file pmesh.hpp.

int mfem::ParMesh::GroupNFaces ( int  group)
inline

Definition at line 110 of file pmesh.hpp.

int mfem::ParMesh::GroupNVertices ( int  group)
inline

Definition at line 108 of file pmesh.hpp.

int mfem::ParMesh::GroupVertex ( int  group,
int  i 
)
inline

Definition at line 112 of file pmesh.hpp.

void mfem::ParMesh::Print ( std::ostream &  out = std::cout) const
virtual

Print the part of the mesh in the calling processor adding the interface as boundary (for visualization purposes) using the default format.

Reimplemented from mfem::Mesh.

Definition at line 2850 of file pmesh.cpp.

void mfem::ParMesh::PrintAsOne ( std::ostream &  out = std::cout)

Write the mesh to the stream 'out' on Process 0 in a form suitable for visualization: the mesh is written as a disjoint mesh and the shared boundary is added to the actual boundary; both the element and boundary attributes are set to the processor number.

Definition at line 2976 of file pmesh.cpp.

void mfem::ParMesh::PrintAsOneXG ( std::ostream &  out = std::cout)

Old mesh format (Netgen/Truegrid) version of 'PrintAsOne'.

Definition at line 3232 of file pmesh.cpp.

void mfem::ParMesh::PrintInfo ( std::ostream &  out = std::cout)
virtual

Print various parallel mesh stats.

Reimplemented from mfem::Mesh.

Definition at line 3755 of file pmesh.cpp.

void mfem::ParMesh::PrintXG ( std::ostream &  out = std::cout) const
virtual

Print the part of the mesh in the calling processor adding the interface as boundary (for visualization purposes) using Netgen/Truegrid format .

Reimplemented from mfem::Mesh.

Definition at line 2656 of file pmesh.cpp.

void mfem::ParMesh::RefineGroups ( const DSTable v_to_v,
int *  middle 
)

Update the groups after tet refinement.

Definition at line 2204 of file pmesh.cpp.

void mfem::ParMesh::ReorientTetMesh ( )
virtual

See the remarks for the serial version in mesh.hpp.

Reimplemented from mfem::Mesh.

Definition at line 1432 of file pmesh.cpp.

Member Data Documentation

Array<Element *> mfem::ParMesh::face_nbr_elements

Definition at line 97 of file pmesh.hpp.

Array<int> mfem::ParMesh::face_nbr_elements_offset

Definition at line 95 of file pmesh.hpp.

Array<int> mfem::ParMesh::face_nbr_group

Definition at line 94 of file pmesh.hpp.

Array<Vertex> mfem::ParMesh::face_nbr_vertices

Definition at line 98 of file pmesh.hpp.

Array<int> mfem::ParMesh::face_nbr_vertices_offset

Definition at line 96 of file pmesh.hpp.

GroupTopology mfem::ParMesh::gtopo

Definition at line 90 of file pmesh.hpp.

bool mfem::ParMesh::have_face_nbr_data

Definition at line 93 of file pmesh.hpp.

ParNCMesh* mfem::ParMesh::pncmesh

Definition at line 103 of file pmesh.hpp.

Table mfem::ParMesh::send_face_nbr_elements

Definition at line 100 of file pmesh.hpp.

Table mfem::ParMesh::send_face_nbr_vertices

Definition at line 101 of file pmesh.hpp.


The documentation for this class was generated from the following files: