62 Mesh2*
loadMdsMesh(
const char* modelfile,
const char* meshfile);
80 Mesh2* loadSerialMdsMesh(
gmi_model* model,
const char* meshfile);
105 Mesh2* repeatMdsMesh(Mesh2* m,
gmi_model* g, Migration* plan,
int factor);
106 Mesh2* expandMdsMesh(Mesh2* m,
gmi_model* g,
int inputPartCount);
145 int nBFaces,
int (*bFaces)[5],
147 std::map<int, apf::MeshEntity*> &globalToRegion);
170 int nBEdges,
int (*bEdges)[4],
172 std::map<int, apf::MeshEntity*> &globalToFace);
193 MeshEntity*
getMdsEntity(Mesh2* in,
int dimension,
int index);
195 Mesh2* loadMdsFromGmsh(
gmi_model* g,
const char* filename);
197 Mesh2* loadMdsFromUgrid(
gmi_model* g,
const char* filename);
199 void printUgridPtnStats(
gmi_model* g,
const char* ugridfile,
const char* ptnfile,
200 const double elmWeights[]);
215 void disownMdsModel(Mesh2* in);
217 void setMdsMatching(Mesh2* in,
bool has);
219 Mesh2* loadMdsPart(
gmi_model* model,
const char* meshfile);
220 void writeMdsPart(Mesh2* m,
const char* meshfile);
Mesh2 * createMdsMesh(gmi_model *model, Mesh *from, bool reorder=false, bool copy_data=true)
create an MDS mesh from an existing mesh
int getMdsIndex(Mesh2 *in, MeshEntity *e)
returns the dimension-unique index for this entity
void changeMdsDimension(Mesh2 *in, int d)
change the dimension of an MDS mesh
void deriveMdlFromManifold(Mesh2 *mesh, bool *isModelVert, int nBFaces, int(*bFaces)[5], GlobalToVert &globalToVert, std::map< int, apf::MeshEntity * > &globalToRegion)
Given the mesh vertices that are also model vertices, and the classification on boundary mesh faces...
bool alignMdsMatches(Mesh2 *in)
align the downward adjacencies of matched entities
the basic structure for all GMI models
Mesh2 * loadMdsMesh(const char *modelfile, const char *meshfile)
load an MDS mesh and model from file
bool alignMdsRemotes(Mesh2 *in)
align the downward adjacencies of remote copies
void derive2DMdlFromManifold(Mesh2 *mesh, bool *isModelVert, int nBEdges, int(*bEdges)[4], GlobalToVert &globalToVert, std::map< int, apf::MeshEntity * > &globalToFace)
Given the mesh vertices that are also model vertices, and the classification on boundary mesh edges...
apf::Mesh2 Mesh
convenient mesh name
void deriveMdsModel(Mesh2 *in)
build a null model such that apf::verify accepts the mesh.
MeshEntity * getMdsEntity(Mesh2 *in, int dimension, int index)
retrieve an entity by dimension and index
void reorderMdsMesh(Mesh2 *mesh, MeshTag *t=0)
apply adjacency-based reordering
std::map< int, MeshEntity * > GlobalToVert
a map from global ids to vertex objects
Mesh2 * loadMdsFromANSYS(const char *nodefile, const char *elemfile)
load an MDS mesh from ANSYS .node and .elem files
Mesh2 * makeEmptyMdsMesh(gmi_model *model, int dim, bool isMatched)
create an empty MDS part
MeshTag * reorder(Mesh *mesh, const char *name)
Number by adjacency graph traversal.