[Yt-svn] yt-commit r1550 - trunk/yt/lagos

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Mon Nov 30 14:20:23 PST 2009


Author: mturk
Date: Mon Nov 30 14:20:18 2009
New Revision: 1550
URL: http://yt.enzotools.org/changeset/1550

Log:
Sped up DivV by removing a bunch of temporary arrays



Modified:
   trunk/yt/lagos/UniversalFields.py

Modified: trunk/yt/lagos/UniversalFields.py
==============================================================================
--- trunk/yt/lagos/UniversalFields.py	(original)
+++ trunk/yt/lagos/UniversalFields.py	Mon Nov 30 14:20:18 2009
@@ -457,17 +457,17 @@
         sl_left = slice(None,-2,None)
         sl_right = slice(2,None,None)
         div_fac = 2.0
-    div_x = (data["x-velocity"][sl_right,1:-1,1:-1] -
-             data["x-velocity"][sl_left,1:-1,1:-1]) \
-          / (div_fac*data["dx"].flat[0])
-    div_y = (data["y-velocity"][1:-1,sl_right,1:-1] -
-             data["y-velocity"][1:-1,sl_left,1:-1]) \
-          / (div_fac*data["dy"].flat[0])
-    div_z = (data["z-velocity"][1:-1,1:-1,sl_right] -
-             data["z-velocity"][1:-1,1:-1,sl_left]) \
-          / (div_fac*data["dz"].flat[0])
-    new_field = na.zeros(data["x-velocity"].shape)
-    new_field[1:-1,1:-1,1:-1] = div_x+div_y+div_z
+    ds = div_fac * data['dx'].flat[0]
+    f  = data["x-velocity"][sl_right,1:-1,1:-1]/ds
+    f -= data["x-velocity"][sl_left ,1:-1,1:-1]/ds
+    ds = div_fac * data['dy'].flat[0]
+    f += data["y-velocity"][1:-1,sl_right,1:-1]/ds
+    f -= data["y-velocity"][1:-1,sl_left ,1:-1]/ds
+    ds = div_fac * data['dz'].flat[0]
+    f += data["z-velocity"][1:-1,1:-1,sl_right]/ds
+    f -= data["z-velocity"][1:-1,1:-1,sl_left ]/ds
+    new_field = na.zeros(data["x-velocity"].shape, dtype='float64')
+    new_field[1:-1,1:-1,1:-1] = f
     return na.abs(new_field)
 def _convertDivV(data):
     return data.convert("cm")**-1.0



More information about the yt-svn mailing list