139 Epetra_Map map((int_type) -1, bmap.NumMyPoints(), (int_type) 0, comm);
142 int numRows = map.NumMyElements();
144 Epetra_Map allGidsMap((int_type) -1, numRows, (int_type) 0,comm);
147 for (
int i=0; i<numRows; i++) allGids[i] = (int_type) map.GID64(i);
150 int numChunks = numProc;
151 int stripSize = allGids.GlobalLength64()/numChunks;
152 int remainder = allGids.GlobalLength64()%numChunks;
154 int curStripSize = 0;
157 importGidList.Size(stripSize+1);
158 for (
int i=0; i<numChunks; i++) {
159 if (comm.MyPID()==0) {
160 curStripSize = stripSize;
161 if (i<remainder) curStripSize++;
162 for (
int j=0; j<curStripSize; j++) importGidList[j] = j + curStart;
163 curStart += curStripSize;
166 Epetra_Map importGidMap((int_type) -1, curStripSize, importGidList.Values(), (int_type) 0, comm);
169 if (importGids.Import(allGids, gidImporter,
Insert))
return(-1);
175 Epetra_Map importMap((int_type) -1, importGids.MyLength(), importGids.Values(), (int_type) 0, comm);
178 if (importA.Import(A1, importer,
Insert))
return(-1);
int MultiVectorToMatrixMarketFile(const char *filename, const Epetra_MultiVector &A, const char *matrixName, const char *matrixDescription, bool writeHeader)
Writes an Epetra_MultiVector object to a Matrix Market format file.