Changeset 2200 for XIOS/trunk/src/node/mesh.cpp
- Timestamp:
- 08/19/21 13:28:53 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/mesh.cpp
r1639 r2200 433 433 node_lat = latvalue; 434 434 435 unsigned long nodeCount = nbNodes_; 436 unsigned long nodeStart, nbNodes; 437 MPI_Scan(&nodeCount, &nodeStart, 1, MPI_UNSIGNED_LONG, MPI_SUM, comm); 438 int nNodes = nodeStart; 439 MPI_Bcast(&nNodes, 1, MPI_UNSIGNED_LONG, mpiSize-1, comm); 440 nbNodesGlo = nNodes; 441 442 nodeStart -= nodeCount; 443 node_start = nodeStart; 444 node_count = nodeCount; 445 435 446 // Global node indexes 436 447 vector<size_t> hashValues(4); … … 441 452 for (size_t nh = 0; nh < 4; ++nh) 442 453 { 443 nodeHash2IdxGlo[hashValues[nh]].push_back( mpiRank*nbNodes_ + nn);454 nodeHash2IdxGlo[hashValues[nh]].push_back(nodeStart + nn); 444 455 } 445 456 } 446 457 pNodeGlobalIndex = new CClientClientDHTSizet (nodeHash2IdxGlo, comm); 458 447 459 nodesAreWritten = true; 448 460 } … … 460 472 unsigned long nbEdgesOnProc = nbEdges_; 461 473 unsigned long nbEdgesAccum; 474 unsigned long nbEdgesGlo; 462 475 MPI_Scan(&nbEdgesOnProc, &nbEdgesAccum, 1, MPI_UNSIGNED_LONG, MPI_SUM, comm); 476 nbEdgesGlo = nbEdgesAccum ; 477 MPI_Bcast(&nbEdgesGlo, 1, MPI_UNSIGNED_LONG, mpiSize-1, comm); 463 478 nbEdgesAccum -= nbEdges_; 479 edge_start = nbEdgesAccum ; 480 edge_count = nbEdgesOnProc ; 464 481 465 482 CClientClientDHTSizet::Index2VectorInfoTypeMap edgeHash2IdxGlo; … … 670 687 } //nvertex = 2 671 688 672 else 689 else // nvertex > 2 673 690 { 674 691 nbFaces_ = bounds_lon.shape()[1]; … … 1601 1618 } // createMeshEpsilon 1602 1619 1620 1603 1621 ///---------------------------------------------------------------- 1604 1622 /*!
Note: See TracChangeset
for help on using the changeset viewer.