|
FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
Go to the documentation of this file. 1 #ifndef _NodeCommMgr_hpp_
2 #define _NodeCommMgr_hpp_
52 const int*
const* procs,
const int*
numProcs);
87 int storeNodeProcs(
int index, std::vector<std::vector<int>*>& procTable,
93 std::vector<int>& globalRemoteProcs,
94 std::vector<int>& globalNodesPerRemoteProc,
95 std::vector<int>& globalRemoteProcLengths,
96 std::vector<int>& nodesPerRemoteProc,
97 std::vector<int>& remoteProcs);
102 int numNodes,
int len);
104 int numNodes,
int len);
111 std::vector<int>& procs);
NodeCommMgr & operator=(const NodeCommMgr &src)
int addSharedNodes(const GlobalID *nodeIDs, int numNodes, const int *const *procs, const int *numProcs)
int processRecvMessage(int srcProc, std::vector< int > &message)
std::vector< GlobalID > sharedNodeIDs
std::vector< int > nodesPerOwnerProc_
std::vector< GlobalID > & getSharedNodeIDs()
std::vector< int > * getSharedNodeSubdomainList(GlobalID nodeID)
int createProcList(std::vector< int > &itemsPerProc, std::vector< int > &procs)
std::vector< GlobalID > localNodeIDs
NodeDescriptor ** sharedNodes_
std::vector< int > & getSharedNodeProcs(int index)
std::vector< int > trivialSubdomainList
const SNL_FEI_Structure & probStruc
std::vector< int > nodesPerSharingProc_
NodeDescriptor & getSharedNodeAtIndex(int index)
int checkSharedNodeInfo()
std::vector< int > & getSendProcs()
std::vector< GlobalID > remoteNodeIDs
int getGlobalMaxFieldsBlocksSubdomains()
std::vector< int > sharedNodeNumbers
std::vector< std::vector< int > * > sharingProcs_
int getSharedNodeIndex(GlobalID nodeID)
void setSharedOwnershipRule(int ownershipRule)
int storeNodeProcs(int index, std::vector< std::vector< int > * > &procTable, const int *procs, int numProcs)
std::vector< GlobalID > & getLocalNodeIDs()
void packLocalNodesAndData(int *data, int proc, int numNodes, int len)
int getSharedNodeIndex_num(int nodeNumber)
int informLocal(const NodeDescriptor &node)
void setNodeNumbersArray()
std::vector< int > remoteOwnerProcs_
int getSendMessage(int destProc, std::vector< int > &message)
int allocateNodeDescriptorPtrs(NodeDatabase &nodeDB)
int initComplete(NodeDatabase &nodeDB, bool safetyCheck)
NodeCommMgr(MPI_Comm comm, const SNL_FEI_Structure &problemStructure, int sharedNodeOwnership=STRICTLY_LOW_PROC)
std::vector< std::vector< int > > sharedNodeSubdomains
std::vector< int > remoteSharingProcs_
int getSharedNodeNumSubdomains(GlobalID nodeID)
bool sharedNodesAllocated_
void packRemoteNodesAndData(GlobalID *data, int proc, int numNodes, int len)
std::vector< int > & getRecvProcs()
int checkCommArrays(const char *whichCheck, std::vector< int > &globalRemoteProcs, std::vector< int > &globalNodesPerRemoteProc, std::vector< int > &globalRemoteProcLengths, std::vector< int > &nodesPerRemoteProc, std::vector< int > &remoteProcs)
int exchangeSharedRemoteFieldsBlks()
int numProcs(MPI_Comm comm)
int getGlobalMaxFieldsBlocks(int &maxFields, int &maxBlocks)
int adjustSharedOwnership()
size_t getNumSharedNodes()
std::vector< int > & getSharedNodeNumbers()
int getSendMessageLength(int destProc, int &messageLength)