PPL Logo

libs/ck-libs/fem/parallel_part.C File Reference

Go to the source code of this file.

Functions

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 partconndataFEM_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_MeshFEM_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 *m)
void sortNodeList (NodeList &lnodes)
void addIDXLists (FEM_Mesh *m, NodeList &lnodes, int myChunk)
struct ghostdatagatherGhosts ()
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)


Function Documentation

int FEM_Mesh_Parallel_broadcast ( int  fem_mesh,
int  masterRank,
FEM_Comm_t  comm_context 
)

Definition at line 23 of file parallel_part.C.

References Converse::CkMyPe(), CmiMemoryUsage(), FEM_master_parallel_part(), FEM_slave_parallel_part(), MPI_Barrier, and MPI_Comm_rank.

Referenced by FEM_Mesh_broadcast().

Here is the call graph for this function:

Here is the caller graph for this function:

int FEM_master_parallel_part ( int  fem_mesh,
int  masterRank,
FEM_Comm_t  comm_context 
)

Definition at line 43 of file parallel_part.C.

Referenced by FEM_Mesh_Parallel_broadcast().

Here is the caller graph for this function:

int FEM_slave_parallel_part ( int  fem_mesh,
int  masterRank,
FEM_Comm_t  comm_context 
)

Definition at line 197 of file parallel_part.C.

Referenced by FEM_Mesh_Parallel_broadcast().

Here is the caller graph for this function:

struct partconndata* FEM_call_parmetis ( struct conndata data,
FEM_Comm_t  comm_context 
) [read]

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

FEM_Mesh * FEM_break_mesh ( FEM_Mesh m,
int  numElements,
int  numChunks 
)

Definition at line 459 of file parallel_part.C.

Referenced by FEM_master_parallel_part().

Here is the caller graph for this function:

void sendBrokenMeshes ( FEM_Mesh mesh_array,
FEM_Comm_t  comm_context 
)

Definition at line 503 of file parallel_part.C.

Referenced by FEM_master_parallel_part().

Here is the caller graph for this function:

void FEM_write_part2mesh ( MSA1DFEMMESH part2mesh,
struct partconndata partdata,
struct conndata data,
MSA1DINTLIST nodepart,
int  numChunks,
int  myChunk,
FEM_Mesh m 
)

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void sortNodeList ( NodeList lnodes  ) 

Definition at line 543 of file parallel_part.C.

References CkVec< T >::size(), PUP::t, and ElemList< T >::vec.

Referenced by addIDXLists().

Here is the call graph for this function:

Here is the caller graph for this function:

void addIDXLists ( FEM_Mesh m,
NodeList lnodes,
int  myChunk 
)

go through each node

global number of this node

find the local number of this node

chunk numbers to which this node belongs

Definition at line 557 of file parallel_part.C.

Referenced by FEM_master_parallel_part(), and FEM_slave_parallel_part().

Here is the caller graph for this function:

struct ghostdata * gatherGhosts (  )  [read]

Definition at line 629 of file parallel_part.C.

Referenced by FEM_master_parallel_part(), and ParFUM_createComm().

Here is the caller graph for this function:

void makeGhosts ( FEM_Mesh m,
MPI_Comm  comm,
int  masterRank,
int  numLayers,
FEM_Ghost_Layer **  layers 
)

Definition at line 657 of file parallel_part.C.

Referenced by FEM_master_parallel_part(), FEM_slave_parallel_part(), and ParFUM_createComm().

Here is the caller graph for this function:

bool listContains ( FEM_Comm_List list,
int  entry 
)

Definition at line 741 of file parallel_part.C.

References IDXL_List::size().

Referenced by makeGhost().

Here is the call graph for this function:

Here is the caller graph for this function:

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 
)

Definition at line 750 of file parallel_part.C.

Referenced by makeGhosts().

Here is the caller graph for this function:

bool sharedWith ( int  lnode,
int  chunk,
FEM_Mesh m 
)

Definition at line 1078 of file parallel_part.C.

Referenced by makeGhost().

Here is the caller graph for this function:


Generated on Mon Sep 21 08:07:25 2020 for Charm++ by  doxygen 1.5.5