[yt-svn] commit/yt: MatthewTurk: Updating Athena to support cyl/polar coordinates.

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Thu Apr 3 11:46:44 PDT 2014


1 new commit in yt:

https://bitbucket.org/yt_analysis/yt/commits/bdcaef6e2770/
Changeset:   bdcaef6e2770
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-03 20:41:19
Summary:     Updating Athena to support cyl/polar coordinates.
Affected #:  2 files

diff -r c92f93f47aa471ab909a57bcbf2003469e430062 -r bdcaef6e27701e00572cedff4ca7870776f3a211 yt/frontends/athena/data_structures.py
--- a/yt/frontends/athena/data_structures.py
+++ b/yt/frontends/athena/data_structures.py
@@ -442,6 +442,7 @@
             self.parameters["Gamma"] = self.specified_parameters["gamma"]
         else :
             self.parameters["Gamma"] = 5./3. 
+        self.geometry = self.specified_parameters.get("geometry", "cartesian")
         self._handle.close()
 
 

diff -r c92f93f47aa471ab909a57bcbf2003469e430062 -r bdcaef6e27701e00572cedff4ca7870776f3a211 yt/geometry/polar_coordinates.py
--- a/yt/geometry/polar_coordinates.py
+++ b/yt/geometry/polar_coordinates.py
@@ -17,7 +17,8 @@
 import numpy as np
 from .coordinate_handler import \
     CoordinateHandler, \
-    _unknown_coord
+    _unknown_coord, \
+    _get_coord_fields
 
 class PolarCoordinateHandler(CoordinateHandler):
 
@@ -32,31 +33,30 @@
         registry.add_field("x", function=_unknown_coord)
         registry.add_field("y", function=_unknown_coord)
 
-        def _dr(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[0]
-        registry.add_field('dr', function=_dr, display_field=False,
-                  validators=[ValidateSpatial(0)])
+        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 _dtheta(field, data):
-            return np.ones(data.ActiveDimensions, dtype='float64') * data.dds[1]
-        registry.add_field('dtheta', function=_dtheta,
-                  display_field=False, validators=[ValidateSpatial(0)])
+        f1, f2 = _get_coord_fields(1, "")
+        registry.add_field(("index", "dtheta"), function = f1,
+                           display_field = False,
+                           units = "")
+        registry.add_field(("index", "theta"), function = f2,
+                           display_field = False,
+                           units = "")
 
-        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['dr'] + data.LeftEdge[0]
-        registry.add_field('r', function=_coordR, display_field=False,
-                  validators=[ValidateSpatial(0)])
+        f1, f2 = _get_coord_fields(2) 
+        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 _coordTheta(field, data):
-            dim = data.ActiveDimensions[2]
-            return (np.ones(data.ActiveDimensions, dtype='float64')
-                           * np.arange(data.ActiveDimensions[1])[None,:,None]
-                    +0.5) * data['dtheta'] + data.LeftEdge[1]
-        registry.add_field('theta', function=_coordTheta, display_field=False,
-                  validators=[ValidateSpatial(0)])
 
         def _CylindricalVolume(field, data):
             return data["dtheta"] * data["r"] * data["dr"] * data["dz"]

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