[yt-svn] commit/yt: 5 new changesets

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Mon Mar 24 11:47:12 PDT 2014


5 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/b6280ff897df/
Changeset:   b6280ff897df
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-03-23 23:28:06
Summary:     Changing RunTime to Runtime.
Affected #:  1 file

diff -r 4646247054fb995eb10d56ea41af868479098bdb -r b6280ff897df7c32007f941169d7d01ea07f6fe9 yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -178,9 +178,9 @@
                 dx[i].append(DRE[2] - DLE[1])
         self.level_dds = np.array(dx, dtype="float64")
         if int(header_file.next()) != 0:
-            raise RunTimeError("yt only supports cartesian coordinates.")
+            raise RuntimeError("yt only supports cartesian coordinates.")
         if int(header_file.next()) != 0:
-            raise RunTimeError("INTERNAL ERROR! This should be a zero.")
+            raise RuntimeError("INTERNAL ERROR! This should be a zero.")
 
         # each level is one group with ngrids on it. 
         # each grid has self.dimensionality number of lines of 2 reals 


https://bitbucket.org/yt_analysis/yt/commits/6cb14e8a4f4c/
Changeset:   6cb14e8a4f4c
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-03-23 23:54:50
Summary:     Updating cylindrical coordinates and adding for Boxlib.
Affected #:  2 files

diff -r b6280ff897df7c32007f941169d7d01ea07f6fe9 -r 6cb14e8a4f4c4bd138fd3f199b553143f31a4f0b yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -177,8 +177,18 @@
             if self.dimensionality < 3:
                 dx[i].append(DRE[2] - DLE[1])
         self.level_dds = np.array(dx, dtype="float64")
-        if int(header_file.next()) != 0:
-            raise RuntimeError("yt only supports cartesian coordinates.")
+        coordinate_type = int(header_file.next())
+        if self.pf.geometry == "cartesian":
+            default_ybounds = (0.0, 1.0)
+            default_zbounds = (0.0, 1.0)
+        elif self.pf.geometry == "cylindrical":
+            # Now we check for dimensionality issues
+            if self.dimensionality != 2:
+                raise RuntimeError("yt needs cylindrical to be 2D")
+            self.level_dds[:,2] = 2*np.pi
+            default_zbounds = (0.0, 2*np.pi)
+        else:
+            raise RuntimeError("yt only supports cartesian and cylindrical coordinates.")
         if int(header_file.next()) != 0:
             raise RuntimeError("INTERNAL ERROR! This should be a zero.")
 
@@ -196,11 +206,11 @@
                 if self.dimensionality > 1:
                     ylo, yhi = [float(v) for v in header_file.next().split()]
                 else:
-                    ylo, yhi = 0.0, 1.0
+                    ylo, yhi = default_ybounds
                 if self.dimensionality > 2:
                     zlo, zhi = [float(v) for v in header_file.next().split()]
                 else:
-                    zlo, zhi = 0.0, 1.0
+                    zlo, zhi = default_zbounds
                 self.grid_left_edge[grid_counter + gi, :] = [xlo, ylo, zlo]
                 self.grid_right_edge[grid_counter + gi, :] = [xhi, yhi, zhi]
             # Now we get to the level header filename, which we open and parse.
@@ -569,6 +579,14 @@
         # Skip timesteps per level
         header_file.readline()
         self._header_mesh_start = header_file.tell()
+        header_file.next()
+        coordinate_type = int(header_file.next())
+        if coordinate_type == 0:
+            self.geometry = "cartesian"
+        elif coordinate_type == 1:
+            self.geometry = "cylindrical"
+        else:
+            raise RuntimeError("yt does not yet support spherical geometry")
 
         # overrides for 1/2-dimensional data
         if self.dimensionality == 1: 
@@ -597,12 +615,12 @@
         self.periodicity = ensure_tuple(tmp)
         
     def _setup2d(self):
-#        self._index_class = BoxlibHierarchy2D
-#        self._fieldinfo_fallback = Orion2DFieldInfo
         self.domain_left_edge = \
             np.concatenate([self.domain_left_edge, [0.0]])
         self.domain_right_edge = \
             np.concatenate([self.domain_right_edge, [1.0]])
+        if self.geometry == "cylindrical":
+            self.domain_right_edge[2] = 2.0 * np.pi
         tmp = self.domain_dimensions.tolist()
         tmp.append(1)
         self.domain_dimensions = np.array(tmp)

diff -r b6280ff897df7c32007f941169d7d01ea07f6fe9 -r 6cb14e8a4f4c4bd138fd3f199b553143f31a4f0b yt/geometry/cylindrical_coordinates.py
--- a/yt/geometry/cylindrical_coordinates.py
+++ b/yt/geometry/cylindrical_coordinates.py
@@ -36,54 +36,37 @@
         registry.add_field(("index", "dy"), function=_unknown_coord)
         registry.add_field(("index", "x"), function=_unknown_coord)
         registry.add_field(("index", "y"), function=_unknown_coord)
+        def _get_coord_fields(axi, units = "code_length"):
+            def _dds(field, data):
+                rv = data.pf.arr(data.fwidth[...,axi], units)
+                return data._reshape_vals(rv)
+            def _coords(field, data):
+                rv = data.pf.arr(data.fcoords[...,axi], units)
+                return data._reshape_vals(rv)
+            return _dds, _coords
+        f1, f2 = _get_coord_fields(0)
+        registry.add_field(("index", "dr"), function = f1,
+                           display_field = False,
+                           units = "code_length")
+        registry.add_field(("index", "r"), function = f2,
+                           display_field = False,
+                           units = "code_length")
 
-        def _dr(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[0]
-        registry.add_field(("index", "dr"),
-                 function=_dr,
-                 display_field=False,
-                 validators=[ValidateSpatial(0)])
+        f1, f2 = _get_coord_fields(1)
+        registry.add_field(("index", "dz"), function = f1,
+                           display_field = False,
+                           units = "code_length")
+        registry.add_field(("index", "z"), function = f2,
+                           display_field = False,
+                           units = "code_length")
 
-        def _dz(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[1]
-        registry.add_field(("index", "dz"),
-                 function=_dz,
-                 display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _dtheta(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[2]
-        registry.add_field(("index", "dtheta"),
-                 function=_dtheta,
-                 display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _coordR(field, data):
-            dim = data.ActiveDimensions[0]
-            return (np.ones(data.ActiveDimensions, dtype='float64')
-                           * np.arange(data.ActiveDimensions[0])[:,None,None]
-                    +0.5) * data["index", "dr"] + data.LeftEdge[0]
-        registry.add_field(("index", "r"),
-                 function=_coordR, display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _coordZ(field, data):
-            dim = data.ActiveDimensions[1]
-            return (np.ones(data.ActiveDimensions, dtype='float64')
-                           * np.arange(data.ActiveDimensions[1])[None,:,None]
-                    +0.5) * data["index", "dz"] + data.LeftEdge[1]
-        registry.add_field(("index", "z"),
-                 function=_coordZ, display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _coordTheta(field, data):
-            dim = data.ActiveDimensions[2]
-            return (np.ones(data.ActiveDimensions, dtype='float64')
-                           * np.arange(data.ActiveDimensions[2])[None,None,:]
-                    +0.5) * data["index", "dtheta"] + data.LeftEdge[2]
-        registry.add_field(("index", "theta"),
-                 function=_coordTheta, display_field=False,
-                 validators=[ValidateSpatial(0)])
+        f1, f2 = _get_coord_fields(2, "")
+        registry.add_field(("index", "dtheta"), function = f1,
+                           display_field = False,
+                           units = "")
+        registry.add_field(("index", "theta"), function = f2,
+                           display_field = False,
+                           units = "")
 
         def _CylindricalVolume(field, data):
             return data["index", "dtheta"] \
@@ -91,7 +74,8 @@
                  * data["index", "dr"] \
                  * data["index", "dz"]
         registry.add_field(("index", "cell_volume"),
-                 function=_CylindricalVolume)
+                 function=_CylindricalVolume,
+                 units = "code_length**3")
 
 
     def pixelize(self, dimension, data_source, field, bounds, size, antialias = True):


https://bitbucket.org/yt_analysis/yt/commits/68c7b377b422/
Changeset:   68c7b377b422
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-03-24 00:56:51
Summary:     A few more boxlib fields
Affected #:  1 file

diff -r 6cb14e8a4f4c4bd138fd3f199b553143f31a4f0b -r 68c7b377b4228da4deed0fe5f27fd76fe631eecc yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -49,6 +49,8 @@
         ("ymom", (mom_units, ["momentum_y"], None)),
         ("zmom", (mom_units, ["momentum_z"], None)),
         ("temperature", ("K", ["temperature"], None)),
+        ("x_velocity", ("cm/s", ["velocity_x"], None)),
+        ("y_velocity", ("cm/s", ["velocity_y"], None)),
     )
 
     known_particle_fields = (


https://bitbucket.org/yt_analysis/yt/commits/4abe29207508/
Changeset:   4abe29207508
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-03-24 18:56:34
Summary:     Move _get_coord_fields to top-level in a module.
Affected #:  3 files

diff -r 68c7b377b4228da4deed0fe5f27fd76fe631eecc -r 4abe29207508e6a3a167117c748d79ed33dd04dd yt/geometry/cartesian_coordinates.py
--- a/yt/geometry/cartesian_coordinates.py
+++ b/yt/geometry/cartesian_coordinates.py
@@ -17,7 +17,8 @@
 import numpy as np
 from .coordinate_handler import \
     CoordinateHandler, \
-    _unknown_coord
+    _unknown_coord, \
+    _get_coord_fields
 
 class CartesianCoordinateHandler(CoordinateHandler):
 
@@ -25,14 +26,6 @@
         super(CartesianCoordinateHandler, self).__init__(pf)
 
     def setup_fields(self, registry):
-        def _get_coord_fields(axi, ax):
-            def _dds(field, data):
-                rv = data.pf.arr(data.fwidth[...,axi], 'code_length')
-                return data._reshape_vals(rv)
-            def _coords(field, data):
-                rv = data.pf.arr(data.fcoords[...,axi], 'code_length')
-                return data._reshape_vals(rv)
-            return _dds, _coords
         for axi, ax in enumerate('xyz'):
             f1, f2 = _get_coord_fields(axi, ax)
             registry.add_field(("index", "d%s" % ax), function = f1,

diff -r 68c7b377b4228da4deed0fe5f27fd76fe631eecc -r 4abe29207508e6a3a167117c748d79ed33dd04dd yt/geometry/coordinate_handler.py
--- a/yt/geometry/coordinate_handler.py
+++ b/yt/geometry/coordinate_handler.py
@@ -32,6 +32,15 @@
 def _unknown_coord(field, data):
     raise YTCoordinateNotImplemented
 
+def _get_coord_fields(axi, units = "code_length"):
+    def _dds(field, data):
+        rv = data.pf.arr(data.fwidth[...,axi], units)
+        return data._reshape_vals(rv)
+    def _coords(field, data):
+        rv = data.pf.arr(data.fcoords[...,axi], units)
+        return data._reshape_vals(rv)
+    return _dds, _coords
+
 class CoordinateHandler(object):
     
     def __init__(self, pf):

diff -r 68c7b377b4228da4deed0fe5f27fd76fe631eecc -r 4abe29207508e6a3a167117c748d79ed33dd04dd yt/geometry/cylindrical_coordinates.py
--- a/yt/geometry/cylindrical_coordinates.py
+++ b/yt/geometry/cylindrical_coordinates.py
@@ -18,8 +18,8 @@
 from yt.units.yt_array import YTArray
 from .coordinate_handler import \
     CoordinateHandler, \
-    _unknown_coord
-
+    _unknown_coord, \
+    _get_coord_fields
 #
 # Cylindrical fields
 #
@@ -36,14 +36,6 @@
         registry.add_field(("index", "dy"), function=_unknown_coord)
         registry.add_field(("index", "x"), function=_unknown_coord)
         registry.add_field(("index", "y"), function=_unknown_coord)
-        def _get_coord_fields(axi, units = "code_length"):
-            def _dds(field, data):
-                rv = data.pf.arr(data.fwidth[...,axi], units)
-                return data._reshape_vals(rv)
-            def _coords(field, data):
-                rv = data.pf.arr(data.fcoords[...,axi], units)
-                return data._reshape_vals(rv)
-            return _dds, _coords
         f1, f2 = _get_coord_fields(0)
         registry.add_field(("index", "dr"), function = f1,
                            display_field = False,


https://bitbucket.org/yt_analysis/yt/commits/bf4b8d5911ea/
Changeset:   bf4b8d5911ea
Branch:      yt-3.0
User:        samskillman
Date:        2014-03-24 19:47:01
Summary:     Merged in MatthewTurk/yt/yt-3.0 (pull request #747)

Cylindrical coordinates for boxlib
Affected #:  5 files

diff -r 929d2a2983cbc7e83a4fec194e19ffc86c6cc366 -r bf4b8d5911ea438b461a0df59f17c2260262feb9 yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -177,10 +177,20 @@
             if self.dimensionality < 3:
                 dx[i].append(DRE[2] - DLE[1])
         self.level_dds = np.array(dx, dtype="float64")
+        coordinate_type = int(header_file.next())
+        if self.pf.geometry == "cartesian":
+            default_ybounds = (0.0, 1.0)
+            default_zbounds = (0.0, 1.0)
+        elif self.pf.geometry == "cylindrical":
+            # Now we check for dimensionality issues
+            if self.dimensionality != 2:
+                raise RuntimeError("yt needs cylindrical to be 2D")
+            self.level_dds[:,2] = 2*np.pi
+            default_zbounds = (0.0, 2*np.pi)
+        else:
+            raise RuntimeError("yt only supports cartesian and cylindrical coordinates.")
         if int(header_file.next()) != 0:
-            raise RunTimeError("yt only supports cartesian coordinates.")
-        if int(header_file.next()) != 0:
-            raise RunTimeError("INTERNAL ERROR! This should be a zero.")
+            raise RuntimeError("INTERNAL ERROR! This should be a zero.")
 
         # each level is one group with ngrids on it. 
         # each grid has self.dimensionality number of lines of 2 reals 
@@ -196,11 +206,11 @@
                 if self.dimensionality > 1:
                     ylo, yhi = [float(v) for v in header_file.next().split()]
                 else:
-                    ylo, yhi = 0.0, 1.0
+                    ylo, yhi = default_ybounds
                 if self.dimensionality > 2:
                     zlo, zhi = [float(v) for v in header_file.next().split()]
                 else:
-                    zlo, zhi = 0.0, 1.0
+                    zlo, zhi = default_zbounds
                 self.grid_left_edge[grid_counter + gi, :] = [xlo, ylo, zlo]
                 self.grid_right_edge[grid_counter + gi, :] = [xhi, yhi, zhi]
             # Now we get to the level header filename, which we open and parse.
@@ -569,6 +579,14 @@
         # Skip timesteps per level
         header_file.readline()
         self._header_mesh_start = header_file.tell()
+        header_file.next()
+        coordinate_type = int(header_file.next())
+        if coordinate_type == 0:
+            self.geometry = "cartesian"
+        elif coordinate_type == 1:
+            self.geometry = "cylindrical"
+        else:
+            raise RuntimeError("yt does not yet support spherical geometry")
 
         # overrides for 1/2-dimensional data
         if self.dimensionality == 1: 
@@ -597,12 +615,12 @@
         self.periodicity = ensure_tuple(tmp)
         
     def _setup2d(self):
-#        self._index_class = BoxlibHierarchy2D
-#        self._fieldinfo_fallback = Orion2DFieldInfo
         self.domain_left_edge = \
             np.concatenate([self.domain_left_edge, [0.0]])
         self.domain_right_edge = \
             np.concatenate([self.domain_right_edge, [1.0]])
+        if self.geometry == "cylindrical":
+            self.domain_right_edge[2] = 2.0 * np.pi
         tmp = self.domain_dimensions.tolist()
         tmp.append(1)
         self.domain_dimensions = np.array(tmp)

diff -r 929d2a2983cbc7e83a4fec194e19ffc86c6cc366 -r bf4b8d5911ea438b461a0df59f17c2260262feb9 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -47,6 +47,8 @@
         ("ymom", (mom_units, ["momentum_y"], None)),
         ("zmom", (mom_units, ["momentum_z"], None)),
         ("temperature", ("K", ["temperature"], None)),
+        ("x_velocity", ("cm/s", ["velocity_x"], None)),
+        ("y_velocity", ("cm/s", ["velocity_y"], None)),
     )
 
     known_particle_fields = (

diff -r 929d2a2983cbc7e83a4fec194e19ffc86c6cc366 -r bf4b8d5911ea438b461a0df59f17c2260262feb9 yt/geometry/cartesian_coordinates.py
--- a/yt/geometry/cartesian_coordinates.py
+++ b/yt/geometry/cartesian_coordinates.py
@@ -17,7 +17,8 @@
 import numpy as np
 from .coordinate_handler import \
     CoordinateHandler, \
-    _unknown_coord
+    _unknown_coord, \
+    _get_coord_fields
 
 class CartesianCoordinateHandler(CoordinateHandler):
 
@@ -25,14 +26,6 @@
         super(CartesianCoordinateHandler, self).__init__(pf)
 
     def setup_fields(self, registry):
-        def _get_coord_fields(axi, ax):
-            def _dds(field, data):
-                rv = data.pf.arr(data.fwidth[...,axi], 'code_length')
-                return data._reshape_vals(rv)
-            def _coords(field, data):
-                rv = data.pf.arr(data.fcoords[...,axi], 'code_length')
-                return data._reshape_vals(rv)
-            return _dds, _coords
         for axi, ax in enumerate('xyz'):
             f1, f2 = _get_coord_fields(axi, ax)
             registry.add_field(("index", "d%s" % ax), function = f1,

diff -r 929d2a2983cbc7e83a4fec194e19ffc86c6cc366 -r bf4b8d5911ea438b461a0df59f17c2260262feb9 yt/geometry/coordinate_handler.py
--- a/yt/geometry/coordinate_handler.py
+++ b/yt/geometry/coordinate_handler.py
@@ -32,6 +32,15 @@
 def _unknown_coord(field, data):
     raise YTCoordinateNotImplemented
 
+def _get_coord_fields(axi, units = "code_length"):
+    def _dds(field, data):
+        rv = data.pf.arr(data.fwidth[...,axi], units)
+        return data._reshape_vals(rv)
+    def _coords(field, data):
+        rv = data.pf.arr(data.fcoords[...,axi], units)
+        return data._reshape_vals(rv)
+    return _dds, _coords
+
 class CoordinateHandler(object):
     
     def __init__(self, pf):

diff -r 929d2a2983cbc7e83a4fec194e19ffc86c6cc366 -r bf4b8d5911ea438b461a0df59f17c2260262feb9 yt/geometry/cylindrical_coordinates.py
--- a/yt/geometry/cylindrical_coordinates.py
+++ b/yt/geometry/cylindrical_coordinates.py
@@ -18,8 +18,8 @@
 from yt.units.yt_array import YTArray
 from .coordinate_handler import \
     CoordinateHandler, \
-    _unknown_coord
-
+    _unknown_coord, \
+    _get_coord_fields
 #
 # Cylindrical fields
 #
@@ -36,54 +36,29 @@
         registry.add_field(("index", "dy"), function=_unknown_coord)
         registry.add_field(("index", "x"), function=_unknown_coord)
         registry.add_field(("index", "y"), function=_unknown_coord)
+        f1, f2 = _get_coord_fields(0)
+        registry.add_field(("index", "dr"), function = f1,
+                           display_field = False,
+                           units = "code_length")
+        registry.add_field(("index", "r"), function = f2,
+                           display_field = False,
+                           units = "code_length")
 
-        def _dr(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[0]
-        registry.add_field(("index", "dr"),
-                 function=_dr,
-                 display_field=False,
-                 validators=[ValidateSpatial(0)])
+        f1, f2 = _get_coord_fields(1)
+        registry.add_field(("index", "dz"), function = f1,
+                           display_field = False,
+                           units = "code_length")
+        registry.add_field(("index", "z"), function = f2,
+                           display_field = False,
+                           units = "code_length")
 
-        def _dz(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[1]
-        registry.add_field(("index", "dz"),
-                 function=_dz,
-                 display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _dtheta(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[2]
-        registry.add_field(("index", "dtheta"),
-                 function=_dtheta,
-                 display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _coordR(field, data):
-            dim = data.ActiveDimensions[0]
-            return (np.ones(data.ActiveDimensions, dtype='float64')
-                           * np.arange(data.ActiveDimensions[0])[:,None,None]
-                    +0.5) * data["index", "dr"] + data.LeftEdge[0]
-        registry.add_field(("index", "r"),
-                 function=_coordR, display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _coordZ(field, data):
-            dim = data.ActiveDimensions[1]
-            return (np.ones(data.ActiveDimensions, dtype='float64')
-                           * np.arange(data.ActiveDimensions[1])[None,:,None]
-                    +0.5) * data["index", "dz"] + data.LeftEdge[1]
-        registry.add_field(("index", "z"),
-                 function=_coordZ, display_field=False,
-                 validators=[ValidateSpatial(0)])
-
-        def _coordTheta(field, data):
-            dim = data.ActiveDimensions[2]
-            return (np.ones(data.ActiveDimensions, dtype='float64')
-                           * np.arange(data.ActiveDimensions[2])[None,None,:]
-                    +0.5) * data["index", "dtheta"] + data.LeftEdge[2]
-        registry.add_field(("index", "theta"),
-                 function=_coordTheta, display_field=False,
-                 validators=[ValidateSpatial(0)])
+        f1, f2 = _get_coord_fields(2, "")
+        registry.add_field(("index", "dtheta"), function = f1,
+                           display_field = False,
+                           units = "")
+        registry.add_field(("index", "theta"), function = f2,
+                           display_field = False,
+                           units = "")
 
         def _CylindricalVolume(field, data):
             return data["index", "dtheta"] \
@@ -91,7 +66,8 @@
                  * data["index", "dr"] \
                  * data["index", "dz"]
         registry.add_field(("index", "cell_volume"),
-                 function=_CylindricalVolume)
+                 function=_CylindricalVolume,
+                 units = "code_length**3")
 
 
     def pixelize(self, dimension, data_source, field, bounds, size, antialias = True):

Repository URL: https://bitbucket.org/yt_analysis/yt/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



More information about the yt-svn mailing list