[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