Go to the source code of this file.
Data Structures | |
class | DefaultListEntry< T, PUP_EVERY_ELEMENT > |
class | ElemList< T > |
class | NodeElem |
class | MeshElem |
This class is an MSA Entity. More... | |
class | Hashnode |
class | Hashnode::tupledata |
struct | conndata |
struct | partconndata |
Structure to store connectivity data after the global element partition has been returned by parmetis. More... | |
struct | ghostdata |
structure for storing the ghost layers More... | |
class | MsaHashtable |
Typedefs | |
typedef MSA2D< int, DefaultEntry< int > , MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_ROW_MAJOR > | MSA2DRM |
typedef MSA1D< int, DefaultEntry< int > , MSA_DEFAULT_ENTRIES_PER_PAGE > | MSA1DINT |
typedef ElemList< int > | IntList |
typedef MSA1D< IntList, DefaultListEntry< IntList, true > , MSA_DEFAULT_ENTRIES_PER_PAGE > | MSA1DINTLIST |
typedef ElemList< NodeElem > | NodeList |
typedef MSA1D< NodeList, DefaultListEntry< NodeList, true > , MSA_DEFAULT_ENTRIES_PER_PAGE > | MSA1DNODELIST |
typedef MSA1D< MeshElem, DefaultEntry< MeshElem, true >, 1 > | MSA1DFEMMESH |
typedef ElemList< Hashnode > | Hashtuple |
typedef MSA1D< Hashtuple, DefaultListEntry< Hashtuple, true > , MSA_DEFAULT_ENTRIES_PER_PAGE > | MSA1DHASH |
Functions | |
template<class T> | |
ostream & | operator<< (ostream &os, const ElemList< T > &s) |
template<class T> | |
CkOutStream & | operator<< (CkOutStream &os, const ElemList< T > &s) |
int | FEM_master_parallel_part (int, int, FEM_Comm_t) |
int | FEM_slave_parallel_part (int, int, FEM_Comm_t) |
struct partconndata * | FEM_call_parmetis (struct conndata &data, FEM_Comm_t comm_context) |
void | FEM_write_nodepart (MSA1DINTLIST &nodepart, struct partconndata *data) |
void | FEM_write_part2node (MSA1DINTLIST &nodepart, MSA1DNODELIST &part2node, struct partconndata *data, MPI_Comm comm_context) |
void | FEM_write_part2elem (MSA1DINTLIST &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 &part2mesh, struct partconndata *partdata, struct conndata *data, MSA1DINTLIST &nodepart, int numChunks, int myChunk, FEM_Mesh *mypiece) |
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) |
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) |
typedef MSA2D<int, DefaultEntry<int>, MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_ROW_MAJOR> MSA2DRM |
Definition at line 301 of file parallel_part.h.
typedef MSA1D<int, DefaultEntry<int>, MSA_DEFAULT_ENTRIES_PER_PAGE> MSA1DINT |
Definition at line 305 of file parallel_part.h.
Definition at line 307 of file parallel_part.h.
typedef MSA1D<IntList, DefaultListEntry<IntList,true>,MSA_DEFAULT_ENTRIES_PER_PAGE> MSA1DINTLIST |
Definition at line 308 of file parallel_part.h.
Definition at line 310 of file parallel_part.h.
typedef MSA1D<NodeList, DefaultListEntry<NodeList,true>,MSA_DEFAULT_ENTRIES_PER_PAGE> MSA1DNODELIST |
Definition at line 311 of file parallel_part.h.
typedef MSA1D<MeshElem,DefaultEntry<MeshElem,true>,1> MSA1DFEMMESH |
Definition at line 313 of file parallel_part.h.
Definition at line 315 of file parallel_part.h.
typedef MSA1D<Hashtuple,DefaultListEntry<Hashtuple,true>,MSA_DEFAULT_ENTRIES_PER_PAGE> MSA1DHASH |
Definition at line 316 of file parallel_part.h.
ostream& operator<< | ( | ostream & | os, | |
const ElemList< T > & | s | |||
) | [inline] |
Definition at line 296 of file parallel_part.h.
CkOutStream& operator<< | ( | CkOutStream & | os, | |
const ElemList< T > & | s | |||
) | [inline] |
Definition at line 300 of file parallel_part.h.
struct partconndata* FEM_call_parmetis | ( | struct conndata & | data, | |
FEM_Comm_t | comm_context | |||
) | [read] |
Definition at line 304 of file parallel_part.C.
References conndata::arr1, conndata::arr2, edgecut, partconndata::eind, eind, partconndata::eptr, eptr, MPI_Barrier, MPI_Comm_rank, ncon, conndata::nelem, partconndata::nelem, numflag, partconndata::part, partconndata::startindex, tpwgts, and ubvec.
Referenced by FEM_master_parallel_part(), and FEM_slave_parallel_part().
void FEM_write_nodepart | ( | MSA1DINTLIST & | nodepart, | |
struct partconndata * | data | |||
) |
Definition at line 393 of file parallel_part.C.
References partconndata::eind, partconndata::eptr, partconndata::nelem, and partconndata::part.
Referenced by FEM_master_parallel_part(), and FEM_slave_parallel_part().
void FEM_write_part2node | ( | MSA1DINTLIST & | nodepart, | |
MSA1DNODELIST & | part2node, | |||
struct partconndata * | data, | |||
MPI_Comm | comm_context | |||
) |
Definition at line 410 of file parallel_part.C.
References MPI_Comm_rank, n, NodeElem::shared, PUP::t, and ElemList< T >::vec.
Referenced by FEM_master_parallel_part(), and FEM_slave_parallel_part().
void FEM_write_part2elem | ( | MSA1DINTLIST & | part2elem, | |
struct partconndata * | data, | |||
MPI_Comm | comm_context | |||
) |
Definition at line 447 of file parallel_part.C.
References partconndata::nelem, partconndata::part, and partconndata::startindex.
Referenced by FEM_master_parallel_part(), and FEM_slave_parallel_part().
void FEM_write_part2mesh | ( | MSA1DFEMMESH & | part2mesh, | |
struct partconndata * | partdata, | |||
struct conndata * | data, | |||
MSA1DINTLIST & | nodepart, | |||
int | numChunks, | |||
int | myChunk, | |||
FEM_Mesh * | mypiece | |||
) |
reading my part of the broken mesh and sending the element data to the mesh that actually should have it according to parmetis
send out the nodes that I have the data for to the meshes that have them
Definition at line 510 of file parallel_part.C.
References count, elem, FEM_Mesh::elem, FEM_Entity_Types< T >::has(), MeshElem::m, conndata::nnode, FEM_Mesh::node, partconndata::part, FEM_Entity::size(), FEM_Entity_Types< T >::size(), PUP::t, and ElemList< T >::vec.
Referenced by FEM_master_parallel_part(), and FEM_slave_parallel_part().