r5620 - in MOAB/branches/NCparperiodic: src src/io src/moab test/parallel
Author: tautges Date: 2012-06-29 19:34:27 -0500 (Fri, 29 Jun 2012) New Revision: 5620 Modified: MOAB/branches/NCparperiodic/src/ScdInterface.cpp MOAB/branches/NCparperiodic/src/io/ReadNC.cpp MOAB/branches/NCparperiodic/src/moab/ScdInterface.hpp MOAB/branches/NCparperiodic/test/parallel/Makefile.am Log: Lots of bug fixes, scdpart now works (on 2 procs at least). Modified: MOAB/branches/NCparperiodic/src/ScdInterface.cpp =================================================================== --- MOAB/branches/NCparperiodic/src/ScdInterface.cpp 2012-06-29 21:39:36 UTC (rev 5619) +++ MOAB/branches/NCparperiodic/src/ScdInterface.cpp 2012-06-30 00:34:27 UTC (rev 5620) @@ -676,12 +676,14 @@ pto = -1; across_bdy[0] = across_bdy[1] = 0; - int ldims[6], pijk[3], lperiodic[3]; + int ldims[6], pijk[3], lperiodic[2]; ErrorCode rval = compute_partition_alljkbal(np, pfrom, gdims, gperiodic, ldims, lperiodic, pijk); if (MB_SUCCESS != rval) return rval; assert(pijk[1] * pijk[2] == np); pto = -1; + bool bot_j = pfrom < pijk[2], + top_j = pfrom > np - pijk[2]; if ((1 == pijk[2] && dijk[2]) || // 1d in j means no neighbors with dk != 0 (!(pfrom%pijk[2]) && -1 == dijk[2]) || // at -k bdy (pfrom%pijk[2] == pijk[2]-1 && 1 == dijk[2]) || // at +k bdy @@ -699,7 +701,7 @@ int dj = (gdims[4] - gdims[1]) / pijk[1], extra = (gdims[4] - gdims[1]) % pijk[1]; if (-1 == dijk[1]) { facedims[4] = facedims[1]; - if (pfrom < pijk[2]) { + if (bot_j) { // going across periodic lower bdy in j rdims[4] = gdims[4]; across_bdy[1] = -1; @@ -713,7 +715,7 @@ else { if (pfrom > np-pijk[2]) facedims[4] = gdims[1]; facedims[1] = facedims[4]; - if (pfrom > np - pijk[2]) { + if (top_j) { // going across periodic upper bdy in j rdims[1] = gdims[1]; across_bdy[1] = 1; @@ -742,22 +744,21 @@ } } - assert(-1 == pto || - (rdims[0] >= gdims[0] && rdims[3] <= gdims[3] && - rdims[1] >= gdims[1] && rdims[4] <= gdims[4] && - rdims[2] >= gdims[2] && rdims[5] <= gdims[5] && - (facedims[0] >= rdims[0] || (gperiodic[0] && rdims[3] == gdims[3] && facedims[0] == gdims[0])) && - facedims[3] <= rdims[3] && - (facedims[1] >= rdims[1] || (gperiodic[1] && rdims[4] == gdims[4] && facedims[1] == gdims[1])) && - facedims[4] <= rdims[4] && - facedims[2] >= rdims[2] &&
participants (1)
-
tautges@mcs.anl.gov