53 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
60 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
75 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
82 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
97 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
99 const int * myGlobalElements,
101 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm)
106 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
108 const long long * myGlobalElements,
110 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm)
116 const long long * myGlobalElements,
118 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm)
126 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
128 const int * myGlobalElements,
130 bool UserIsDistributedGlobal,
131 int UserMinAllGID,
int UserMaxAllGID)
132 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm, UserIsDistributedGlobal, UserMinAllGID, UserMaxAllGID)
137 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
139 const long long * myGlobalElements,
141 bool UserIsDistributedGlobal,
142 long long UserMinAllGID,
long long UserMaxAllGID)
143 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm, UserIsDistributedGlobal, UserMinAllGID, UserMaxAllGID)
148 const long long * myGlobalElements,
150 bool UserIsDistributedGlobal,
151 long long UserMinAllGID,
long long UserMaxAllGID)
152 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm, UserIsDistributedGlobal, UserMinAllGID, UserMaxAllGID)
187 MPI_Comm NewComm,MyMPIComm = MpiComm->
Comm();
194 const int color = (
NumMyElements() == 0) ? MPI_UNDEFINED : 1;
200 int rv = MPI_Comm_split(MyMPIComm,color,0,&NewComm);
201 if(rv!=MPI_SUCCESS)
throw ReportError(
"Epetra_Map::RemoveEmptyProcesses: MPI_Comm_split failed.",-1);
203 if(color == MPI_UNDEFINED)
214 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
219 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
227 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
230 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
268 delete NewEpetraComm;
294 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
300 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
306 throw ReportError(
"Epetra_Map::ReplaceCommWithSubset ERROR, GlobalIndices type unknown.",-1);