[MOAB-dev] r3961 - MOAB/trunk/src/parallel

smithrm at mcs.anl.gov smithrm at mcs.anl.gov
Wed May 26 14:13:14 CDT 2010


Author: smithrm
Date: 2010-05-26 14:13:14 -0500 (Wed, 26 May 2010)
New Revision: 3961

Modified:
   MOAB/trunk/src/parallel/ParallelComm.cpp
Log:
o Fix to allow multiple mesh files to be read with different ParallelComm instances.


Modified: MOAB/trunk/src/parallel/ParallelComm.cpp
===================================================================
--- MOAB/trunk/src/parallel/ParallelComm.cpp	2010-05-26 17:22:45 UTC (rev 3960)
+++ MOAB/trunk/src/parallel/ParallelComm.cpp	2010-05-26 19:13:14 UTC (rev 3961)
@@ -5873,25 +5873,14 @@
 ErrorCode ParallelComm::pack_shared_handles(
     std::vector<std::vector<SharedEntityData> > &send_data) 
 {
-    // get all shared entities
-  Range all_shared, dum_range;
-  ErrorCode rval = mbImpl->get_entities_by_handle(0, all_shared);
-  if (MB_SUCCESS != rval)
-    return rval;
-  rval = get_pstatus_entities(-1, 0, dum_range);
-  if (MB_SUCCESS != rval)
-    return rval;
-  all_shared = subtract( all_shared, dum_range);
-  all_shared.erase(all_shared.upper_bound(MBPOLYHEDRON), all_shared.end());
-  assert(sharedEnts == all_shared);
-
     // build up send buffers
+  ErrorCode rval = MB_SUCCESS;
   int ent_procs[MAX_SHARING_PROCS];
   EntityHandle handles[MAX_SHARING_PROCS];
   int num_sharing, tmp_int;
   SharedEntityData tmp;
   send_data.resize(buffProcs.size());
-  for (Range::iterator i = all_shared.begin(); i != all_shared.end(); ++i) {
+  for (Range::iterator i = sharedEnts.begin(); i != sharedEnts.end(); ++i) {
     tmp.remote = *i; // swap local/remote so they're correct on the remote proc.
     rval = get_owner( *i, tmp_int );
     tmp.owner = tmp_int;





















More information about the moab-dev mailing list