[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