[Yt-svn] yt-commit r900 - trunk/yt/lagos
mturk at wrangler.dreamhost.com
mturk at wrangler.dreamhost.com
Thu Nov 6 08:52:37 PST 2008
Author: mturk
Date: Thu Nov 6 08:52:35 2008
New Revision: 900
URL: http://yt.spacepope.org/changeset/900
Log:
Added a 3D hierarchy partitioning.
REVISION 900!
Modified:
trunk/yt/lagos/ParallelTools.py
Modified: trunk/yt/lagos/ParallelTools.py
==============================================================================
--- trunk/yt/lagos/ParallelTools.py (original)
+++ trunk/yt/lagos/ParallelTools.py Thu Nov 6 08:52:35 2008
@@ -147,6 +147,27 @@
return True, self.hierarchy.region(self.center, LE, RE)
+ def _partition_hierarchy_3d(self, padding=0.0):
+ if not parallel_capable:
+ return False, self.hierarchy.grid_collection(self.center, self.hierarchy.grids)
+
+ cc = MPI.Compute_dims(MPI.COMM_WORLD.size, 3)
+ mi = MPI.COMM_WORLD.rank
+ cx, cy, cz = na.unravel_index(mi, cc)
+ x = na.mgrid[0:1:(cc[0]+1)*1j][cx:cx+2]
+ y = na.mgrid[0:1:(cc[1]+1)*1j][cy:cy+2]
+ z = na.mgrid[0:1:(cc[2]+1)*1j][cz:cz+2]
+
+ LE = na.array([x[0], y[0], z[0]], dtype='float64')
+ RE = na.array([x[1], y[1], z[1]], dtype='float64')
+
+ if padding > 0:
+ return True, \
+ self.hierarchy.periodic_region(self.center, LE-padding, RE+padding)
+
+ return True, self.hierarchy.region(self.center, LE, RE)
+
+
def _mpi_catdict(self, data):
if not parallel_capable: return data
mylog.debug("Opening MPI Barrier on %s", MPI.COMM_WORLD.rank)
More information about the yt-svn
mailing list