Go to the source code of this file.
Functions | |
void | clearPartition (void) |
int | FEM_Mesh_Parallel_broadcast (int fem_mesh, int masterRank, FEM_Comm_t comm_context) |
int | FEM_master_parallel_part (int fem_mesh, int masterRank, FEM_Comm_t comm_context) |
int | FEM_slave_parallel_part (int fem_mesh, int masterRank, FEM_Comm_t comm_context) |
struct partconndata * | FEM_call_parmetis (int nelem, MSA1DINT::Read &rPtr, MSA1DINT::Read &rInd, FEM_Comm_t comm_context) |
void | FEM_write_nodepart (MSA1DINTLIST::Accum &nodepart, struct partconndata *data, MPI_Comm comm_context) |
void | FEM_write_part2node (MSA1DINTLIST::Read &nodepart, MSA1DNODELIST::Accum &part2node, struct partconndata *data, MPI_Comm comm_context) |
void | FEM_write_part2elem (MSA1DINTLIST::Accum &part2elem, struct partconndata *data, MPI_Comm comm_context) |
FEM_Mesh * | FEM_break_mesh (FEM_Mesh *m, int numElements, int numChunks) |
void | sendBrokenMeshes (FEM_Mesh *mesh_array, FEM_Comm_t comm_context) |
void | FEM_write_part2mesh (MSA1DFEMMESH::Accum &part2mesh, struct partconndata *partdata, struct conndata *data, MSA1DINTLIST::Read &nodepart, int numChunks, int myChunk, FEM_Mesh *m) |
void | sortNodeList (NodeList &lnodes) |
void | addIDXLists (FEM_Mesh *m, NodeList &lnodes, int myChunk) |
struct ghostdata * | gatherGhosts () |
void | makeGhosts (FEM_Mesh *m, MPI_Comm comm, int masterRank, int numLayers, FEM_Ghost_Layer **layers) |
bool | listContains (FEM_Comm_List &list, int entry) |
void | makeGhost (FEM_Mesh *m, MPI_Comm comm, int masterRank, int totalShared, FEM_Ghost_Layer *layer, CkHashtableT< CkHashtableAdaptorT< int >, char > &sharedNode, CkHashtableT< CkHashtableAdaptorT< int >, int > &global2local) |
bool | sharedWith (int lnode, int chunk, FEM_Mesh *m) |
Variables | |
double | elemlistaccTime = 0 |
This file contains code for parallely partitioning the initial mesh into multiple chunks It uses PARMETIS to do the actual partitioning. | |
double | listSearchTime = 0 |
double | sharedSearchTime = 0 |