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

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Wed Jun 19 06:30:59 PDT 2013


7 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/f16ce48c7650/
Changeset:   f16ce48c7650
Branch:      yt
User:        chummels
Date:        2013-06-18 11:41:03
Summary:     Adding tracer particle field to enzo frontend.  One can access it with "tracer_density".
Affected #:  1 file

diff -r 31ee3fa3dbd2fff189ad740ba726a91979afa16d -r f16ce48c76509dd1141edda954cdf4a1e878e131 yt/frontends/enzo/fields.py
--- a/yt/frontends/enzo/fields.py
+++ b/yt/frontends/enzo/fields.py
@@ -77,9 +77,13 @@
 
 def _convertCellMassMsun(data):
     return 5.027854e-34 # g^-1
+
 def _ConvertNumberDensity(data):
     return 1.0/mh
 
+def _ConvertNone(data):
+    return 1.0*mh
+
 for species in _speciesList:
     add_field("%s_Fraction" % species,
              function=_SpeciesFraction,
@@ -365,9 +369,29 @@
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
     return blank
+
 add_field("star_density", function=_spdensity,
           validators=[ValidateSpatial(0)], convert_function=_convertDensity)
 
+def _tpdensity(field, data):
+    blank = np.zeros(data.ActiveDimensions, dtype='float64')
+    if data["particle_position_x"].size == 0: return blank
+    filter = data['particle_type'] == 3
+    if not filter.any(): return blank
+    data["particle_mass"][filter] = 1.0
+    amr_utils.CICDeposit_3(data["particle_position_x"][filter].astype(np.float64),
+                           data["particle_position_y"][filter].astype(np.float64),
+                           data["particle_position_z"][filter].astype(np.float64),
+                           data["particle_mass"][filter],
+                           np.int64(np.where(filter)[0].size),
+                           blank, np.array(data.LeftEdge).astype(np.float64),
+                           np.array(data.ActiveDimensions).astype(np.int32), 
+                           np.float64(data['dx']))
+    return blank
+
+add_field("tracer_density", function=_tpdensity,
+          validators=[ValidateSpatial(0)], convert_function=_ConvertNone)
+
 def _dmpdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float64')
     if data["particle_position_x"].size == 0: return blank


https://bitbucket.org/yt_analysis/yt/commits/4736ea0c26cd/
Changeset:   4736ea0c26cd
Branch:      yt
User:        chummels
Date:        2013-06-18 11:51:17
Summary:     Fixing a bug with annotate_contour, wherein it didn't recognize one of the designated keywords: take_log.
Affected #:  1 file

diff -r f16ce48c76509dd1141edda954cdf4a1e878e131 -r 4736ea0c26cd5495867577322b0e8e397a92b711 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -229,7 +229,8 @@
     """
     _type_name = "contour"
     def __init__(self, field, ncont=5, factor=4, clim=None,
-                 plot_args = None, label = False, label_args = None):
+                 plot_args = None, label = False, take_log = False, 
+                 label_args = None):
         PlotCallback.__init__(self)
         self.ncont = ncont
         self.field = field
@@ -237,6 +238,7 @@
         from yt.utilities.delaunay.triangulate import Triangulation as triang
         self.triang = triang
         self.clim = clim
+        self.take_log = take_log
         if plot_args is None: plot_args = {'colors':'k'}
         self.plot_args = plot_args
         self.label = label
@@ -303,9 +305,9 @@
         elif plot._type_name == 'OffAxisProjection':
             zi = plot.frb[self.field][::self.factor,::self.factor].transpose()
         
-        if plot.pf.field_info[self.field].take_log: zi=np.log10(zi)
+        if self.take_log: zi=np.log10(zi)
 
-        if plot.pf.field_info[self.field].take_log and self.clim is not None: 
+        if self.take_log and self.clim is not None: 
             self.clim = (np.log10(self.clim[0]), np.log10(self.clim[1]))
         
         if self.clim is not None: 


https://bitbucket.org/yt_analysis/yt/commits/622105751569/
Changeset:   622105751569
Branch:      yt
User:        chummels
Date:        2013-06-18 19:41:49
Summary:     Adding the ability to specify a bulk velocity to the annotate_velocity callback.
Affected #:  1 file

diff -r 4736ea0c26cd5495867577322b0e8e397a92b711 -r 62210575156928671c7e229af438fcdbf5340e14 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -129,7 +129,16 @@
         else:
             xv = "%s-velocity" % (x_names[plot.data.axis])
             yv = "%s-velocity" % (y_names[plot.data.axis])
-            qcb = QuiverCallback(xv, yv, self.factor, scale=self.scale, scale_units=self.scale_units, normalize=self.normalize)
+
+            bv = plot.data.get_field_parameter("bulk_velocity")
+            if bv is not None:
+                bv_x = bv[x_dict[plot.data.axis]]
+                bv_y = bv[y_dict[plot.data.axis]]
+            else: bv_x = bv_y = 0
+
+            qcb = QuiverCallback(xv, yv, self.factor, scale=self.scale, 
+                                 scale_units=self.scale_units, 
+                                 normalize=self.normalize, bv_x=bv_x, bv_y=bv_y)
         return qcb(plot)
 
 class MagFieldCallback(PlotCallback):
@@ -174,11 +183,12 @@
     (see matplotlib.axes.Axes.quiver for more info)
     """
     _type_name = "quiver"
-    def __init__(self, field_x, field_y, factor=16, scale=None, scale_units=None, normalize=False):
+    def __init__(self, field_x, field_y, factor=16, scale=None, scale_units=None, normalize=False, bv_x=0, bv_y=0):
         PlotCallback.__init__(self)
         self.field_x = field_x
         self.field_y = field_y
-        self.bv_x = self.bv_y = 0
+        self.bv_x = bv_x
+        self.bv_y = bv_y
         self.factor = factor
         self.scale = scale
         self.scale_units = scale_units


https://bitbucket.org/yt_analysis/yt/commits/cabdb02d4ca3/
Changeset:   cabdb02d4ca3
Branch:      yt
User:        chummels
Date:        2013-06-18 22:49:45
Summary:     Making modifications as suggested by mjturk and ngoldbaum to tracer particle field.
Affected #:  1 file

diff -r 62210575156928671c7e229af438fcdbf5340e14 -r cabdb02d4ca339d4027cce312970c58a799a9813 yt/frontends/enzo/fields.py
--- a/yt/frontends/enzo/fields.py
+++ b/yt/frontends/enzo/fields.py
@@ -81,9 +81,6 @@
 def _ConvertNumberDensity(data):
     return 1.0/mh
 
-def _ConvertNone(data):
-    return 1.0*mh
-
 for species in _speciesList:
     add_field("%s_Fraction" % species,
              function=_SpeciesFraction,
@@ -319,6 +316,10 @@
 
 def _convertDensity(data):
     return data.convert("Density")
+
+def _convertCmToKpc(data):
+    return (3.08567758e21)**3
+
 for field in ["Density"] + [ "%s_Density" % sp for sp in _speciesList ] + \
         ["SN_Colour"]:
     KnownEnzoFields[field]._units = r"\rm{g}/\rm{cm}^3"
@@ -371,26 +372,33 @@
     return blank
 
 add_field("star_density", function=_spdensity,
-          validators=[ValidateSpatial(0)], convert_function=_convertDensity)
+          validators=[ValidateSpatial(0)], convert_function=_convertDensity,
+          units = r"\rm{g}/\rm{cm}^3",
+          projected_units = r"\rm{g}/\rm{cm}^2",
+          display_name = "Stellar\/Density")
 
-def _tpdensity(field, data):
+def _tpdensity(field, data): 
     blank = np.zeros(data.ActiveDimensions, dtype='float64')
     if data["particle_position_x"].size == 0: return blank
-    filter = data['particle_type'] == 3
+    filter = data['particle_type'] == 3 # tracer particles
     if not filter.any(): return blank
-    data["particle_mass"][filter] = 1.0
     amr_utils.CICDeposit_3(data["particle_position_x"][filter].astype(np.float64),
                            data["particle_position_y"][filter].astype(np.float64),
                            data["particle_position_z"][filter].astype(np.float64),
-                           data["particle_mass"][filter],
+                           np.ones(filter.sum(), dtype="float64"),
                            np.int64(np.where(filter)[0].size),
                            blank, np.array(data.LeftEdge).astype(np.float64),
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
+    blank /= data['CellVolume']
     return blank
 
-add_field("tracer_density", function=_tpdensity,
-          validators=[ValidateSpatial(0)], convert_function=_ConvertNone)
+add_field("tracer_number_density", function=_tpdensity,
+          validators=[ValidateSpatial(0)], convert_function=_convertCmToKpc,
+          units = r"\rm{particles}/\rm{kpc}^3",
+          projected_units = r"\rm{particles}/\rm{kpc}^2",
+          display_name = "Tracer\/Particle\/Number\/Density",
+          projection_conversion='kpc')
 
 def _dmpdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float64')
@@ -411,8 +419,12 @@
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
     return blank
+
 add_field("dm_density", function=_dmpdensity,
-          validators=[ValidateSpatial(0)], convert_function=_convertDensity)
+          validators=[ValidateSpatial(0)], convert_function=_convertDensity,
+          units = r"\rm{g}/\rm{cm}^3",
+          projected_units = r"\rm{g}/\rm{cm}^2",
+          display_name = "Dark\/Matter\/Density")
 
 def _cic_particle_field(field, data):
     """


https://bitbucket.org/yt_analysis/yt/commits/80cee8e5d3b1/
Changeset:   80cee8e5d3b1
Branch:      yt
User:        chummels
Date:        2013-06-18 22:59:36
Summary:     Modifying annotate_contours to not default to false.
Affected #:  1 file

diff -r cabdb02d4ca339d4027cce312970c58a799a9813 -r 80cee8e5d3b120fbf86e40ed40219828fc4c639c yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -229,7 +229,7 @@
 
 class ContourCallback(PlotCallback):
     """
-    annotate_contour(self, field, ncont=5, factor=4, take_log=False, clim=None,
+    annotate_contour(self, field, ncont=5, factor=4, take_log=None, clim=None,
                      plot_args = None):
 
     Add contours in *field* to the plot.  *ncont* governs the number of
@@ -239,7 +239,7 @@
     """
     _type_name = "contour"
     def __init__(self, field, ncont=5, factor=4, clim=None,
-                 plot_args = None, label = False, take_log = False, 
+                 plot_args = None, label = False, take_log = None, 
                  label_args = None):
         PlotCallback.__init__(self)
         self.ncont = ncont
@@ -315,6 +315,9 @@
         elif plot._type_name == 'OffAxisProjection':
             zi = plot.frb[self.field][::self.factor,::self.factor].transpose()
         
+        if self.take_log is None:
+            self.take_log = plot.pf.field_info[self.field].take_log
+
         if self.take_log: zi=np.log10(zi)
 
         if self.take_log and self.clim is not None: 


https://bitbucket.org/yt_analysis/yt/commits/a6c00ea18a2b/
Changeset:   a6c00ea18a2b
Branch:      yt
User:        chummels
Date:        2013-06-19 00:03:40
Summary:     Making sure I use yt's defined physical_constants
Affected #:  1 file

diff -r 80cee8e5d3b120fbf86e40ed40219828fc4c639c -r a6c00ea18a2b86526d08ca7234cb0e988228cee8 yt/frontends/enzo/fields.py
--- a/yt/frontends/enzo/fields.py
+++ b/yt/frontends/enzo/fields.py
@@ -37,7 +37,8 @@
     ValidateGridType
 import yt.data_objects.universal_fields
 from yt.utilities.physical_constants import \
-    mh
+    mh, \
+    kpc_per_cm
 from yt.funcs import *
 
 import yt.utilities.lib as amr_utils
@@ -318,7 +319,7 @@
     return data.convert("Density")
 
 def _convertCmToKpc(data):
-    return (3.08567758e21)**3
+    return 1/(kpc_per_cm)**3
 
 for field in ["Density"] + [ "%s_Density" % sp for sp in _speciesList ] + \
         ["SN_Colour"]:


https://bitbucket.org/yt_analysis/yt/commits/2c15a177fc68/
Changeset:   2c15a177fc68
Branch:      yt
User:        MatthewTurk
Date:        2013-06-19 15:30:47
Summary:     Merged in chummels/yt (pull request #532)

A few small things: tracer particle field, annotate_velocity, and annotate_contour updates
Affected #:  2 files

diff -r 045ea2c214262c4b6d024a5f88b5a94e838d60c6 -r 2c15a177fc684678b9c09120a6cf3b08ddb19457 yt/frontends/enzo/fields.py
--- a/yt/frontends/enzo/fields.py
+++ b/yt/frontends/enzo/fields.py
@@ -37,7 +37,8 @@
     ValidateGridType
 import yt.data_objects.universal_fields
 from yt.utilities.physical_constants import \
-    mh
+    mh, \
+    kpc_per_cm
 from yt.funcs import *
 
 import yt.utilities.lib as amr_utils
@@ -77,6 +78,7 @@
 
 def _convertCellMassMsun(data):
     return 5.027854e-34 # g^-1
+
 def _ConvertNumberDensity(data):
     return 1.0/mh
 
@@ -315,6 +317,10 @@
 
 def _convertDensity(data):
     return data.convert("Density")
+
+def _convertCmToKpc(data):
+    return 1/(kpc_per_cm)**3
+
 for field in ["Density"] + [ "%s_Density" % sp for sp in _speciesList ] + \
         ["SN_Colour"]:
     KnownEnzoFields[field]._units = r"\rm{g}/\rm{cm}^3"
@@ -365,8 +371,35 @@
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
     return blank
+
 add_field("star_density", function=_spdensity,
-          validators=[ValidateSpatial(0)], convert_function=_convertDensity)
+          validators=[ValidateSpatial(0)], convert_function=_convertDensity,
+          units = r"\rm{g}/\rm{cm}^3",
+          projected_units = r"\rm{g}/\rm{cm}^2",
+          display_name = "Stellar\/Density")
+
+def _tpdensity(field, data): 
+    blank = np.zeros(data.ActiveDimensions, dtype='float64')
+    if data["particle_position_x"].size == 0: return blank
+    filter = data['particle_type'] == 3 # tracer particles
+    if not filter.any(): return blank
+    amr_utils.CICDeposit_3(data["particle_position_x"][filter].astype(np.float64),
+                           data["particle_position_y"][filter].astype(np.float64),
+                           data["particle_position_z"][filter].astype(np.float64),
+                           np.ones(filter.sum(), dtype="float64"),
+                           np.int64(np.where(filter)[0].size),
+                           blank, np.array(data.LeftEdge).astype(np.float64),
+                           np.array(data.ActiveDimensions).astype(np.int32), 
+                           np.float64(data['dx']))
+    blank /= data['CellVolume']
+    return blank
+
+add_field("tracer_number_density", function=_tpdensity,
+          validators=[ValidateSpatial(0)], convert_function=_convertCmToKpc,
+          units = r"\rm{particles}/\rm{kpc}^3",
+          projected_units = r"\rm{particles}/\rm{kpc}^2",
+          display_name = "Tracer\/Particle\/Number\/Density",
+          projection_conversion='kpc')
 
 def _dmpdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float64')
@@ -387,8 +420,12 @@
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
     return blank
+
 add_field("dm_density", function=_dmpdensity,
-          validators=[ValidateSpatial(0)], convert_function=_convertDensity)
+          validators=[ValidateSpatial(0)], convert_function=_convertDensity,
+          units = r"\rm{g}/\rm{cm}^3",
+          projected_units = r"\rm{g}/\rm{cm}^2",
+          display_name = "Dark\/Matter\/Density")
 
 def _cic_particle_field(field, data):
     """

diff -r 045ea2c214262c4b6d024a5f88b5a94e838d60c6 -r 2c15a177fc684678b9c09120a6cf3b08ddb19457 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -129,7 +129,16 @@
         else:
             xv = "%s-velocity" % (x_names[plot.data.axis])
             yv = "%s-velocity" % (y_names[plot.data.axis])
-            qcb = QuiverCallback(xv, yv, self.factor, scale=self.scale, scale_units=self.scale_units, normalize=self.normalize)
+
+            bv = plot.data.get_field_parameter("bulk_velocity")
+            if bv is not None:
+                bv_x = bv[x_dict[plot.data.axis]]
+                bv_y = bv[y_dict[plot.data.axis]]
+            else: bv_x = bv_y = 0
+
+            qcb = QuiverCallback(xv, yv, self.factor, scale=self.scale, 
+                                 scale_units=self.scale_units, 
+                                 normalize=self.normalize, bv_x=bv_x, bv_y=bv_y)
         return qcb(plot)
 
 class MagFieldCallback(PlotCallback):
@@ -174,11 +183,12 @@
     (see matplotlib.axes.Axes.quiver for more info)
     """
     _type_name = "quiver"
-    def __init__(self, field_x, field_y, factor=16, scale=None, scale_units=None, normalize=False):
+    def __init__(self, field_x, field_y, factor=16, scale=None, scale_units=None, normalize=False, bv_x=0, bv_y=0):
         PlotCallback.__init__(self)
         self.field_x = field_x
         self.field_y = field_y
-        self.bv_x = self.bv_y = 0
+        self.bv_x = bv_x
+        self.bv_y = bv_y
         self.factor = factor
         self.scale = scale
         self.scale_units = scale_units
@@ -219,7 +229,7 @@
 
 class ContourCallback(PlotCallback):
     """
-    annotate_contour(self, field, ncont=5, factor=4, take_log=False, clim=None,
+    annotate_contour(self, field, ncont=5, factor=4, take_log=None, clim=None,
                      plot_args = None):
 
     Add contours in *field* to the plot.  *ncont* governs the number of
@@ -229,7 +239,8 @@
     """
     _type_name = "contour"
     def __init__(self, field, ncont=5, factor=4, clim=None,
-                 plot_args = None, label = False, label_args = None):
+                 plot_args = None, label = False, take_log = None, 
+                 label_args = None):
         PlotCallback.__init__(self)
         self.ncont = ncont
         self.field = field
@@ -237,6 +248,7 @@
         from yt.utilities.delaunay.triangulate import Triangulation as triang
         self.triang = triang
         self.clim = clim
+        self.take_log = take_log
         if plot_args is None: plot_args = {'colors':'k'}
         self.plot_args = plot_args
         self.label = label
@@ -303,9 +315,12 @@
         elif plot._type_name == 'OffAxisProjection':
             zi = plot.frb[self.field][::self.factor,::self.factor].transpose()
         
-        if plot.pf.field_info[self.field].take_log: zi=np.log10(zi)
+        if self.take_log is None:
+            self.take_log = plot.pf.field_info[self.field].take_log
 
-        if plot.pf.field_info[self.field].take_log and self.clim is not None: 
+        if self.take_log: zi=np.log10(zi)
+
+        if self.take_log and self.clim is not None: 
             self.clim = (np.log10(self.clim[0]), np.log10(self.clim[1]))
         
         if self.clim is not None:

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