[Yt-svn] yt-commit r756 - branches/yt-1.0/yt/lagos
mturk at wrangler.dreamhost.com
mturk at wrangler.dreamhost.com
Mon Sep 8 12:38:15 PDT 2008
Author: mturk
Date: Mon Sep 8 12:38:15 2008
New Revision: 756
URL: http://yt.spacepope.org/changeset/756
Log:
Backported some fixes and additions from the trunk, including particle radii, a
fixed DMDensity, and Britton's JeansMassMsun function.
Modified:
branches/yt-1.0/yt/lagos/DerivedFields.py
Modified: branches/yt-1.0/yt/lagos/DerivedFields.py
==============================================================================
--- branches/yt-1.0/yt/lagos/DerivedFields.py (original)
+++ branches/yt-1.0/yt/lagos/DerivedFields.py Mon Sep 8 12:38:15 2008
@@ -44,6 +44,9 @@
clight = 3.0e10 # cm/s
kboltz = 1.38e-16 # erg K^-1
G = 6.67e-8 # cm^3 g^-1 s^-2
+Msun2g = 1.989e33
+MJ_constant = (((5*kboltz)/(G*mh))**(1.5)) * (3/(4*pi))**(0.5) / Msun2g
+
class FieldInfoContainer: # We are all Borg.
_shared_state = {}
@@ -399,11 +402,6 @@
ValidateSpatial(0)],
not_in_all = True)
-add_field("Dark_Matter_Density", function=lambda a,b: None,
- validators=[ValidateDataField("Dark_Matter_Density"),
- ValidateSpatial(0)],
- not_in_all = True)
-
def _ParticleMass(field, data):
particles = data["particle_mass"].astype('float64') * \
just_one(data["CellVolumeCode"].ravel())
@@ -575,6 +573,13 @@
add_field("NumberDensity", units=r"\rm{cm}^{-3}",
convert_function=_ConvertNumberDensity)
+def JeansMassMsun(field,data):
+ return (MJ_constant *
+ ((data["Temperature"]/data["MeanMolecularWeight"])**(1.5)) *
+ (data["Density"]**(-0.5)))
+add_field("JeansMassMsun",function=JeansMassMsun,units=r"\rm{Msun}")
+
+
def _CellMass(field, data):
return data["Density"] * data["CellVolume"]
def _convertCellMassMsun(data):
@@ -732,6 +737,12 @@
convert_function=_convertSpecificAngularMomentumKMSMPC, vector_field=True,
units=r"\rm{km}\rm{Mpc}/\rm{s}", validators=[ValidateParameter('center')])
+def _ParticleRadius(field, data):
+ center = data.get_field_parameter("center")
+ radius = na.sqrt((data["particle_position_x"] - center[0])**2.0 +
+ (data["particle_position_y"] - center[1])**2.0 +
+ (data["particle_position_z"] - center[2])**2.0)
+ return radius
def _Radius(field, data):
center = data.get_field_parameter("center")
radius = na.sqrt((data["x"] - center[0])**2.0 +
@@ -740,6 +751,9 @@
return radius
def _ConvertRadiusCGS(data):
return data.convert("cm")
+add_field("ParticleRadius", function=_ParticleRadius,
+ validators=[ValidateParameter("center")],
+ convert_function = _ConvertRadiusCGS, units=r"\rm{cm}")
add_field("Radius", function=_Radius,
validators=[ValidateParameter("center")],
convert_function = _ConvertRadiusCGS, units=r"\rm{cm}")
@@ -749,31 +763,48 @@
add_field("RadiusMpc", function=_Radius,
validators=[ValidateParameter("center")],
convert_function = _ConvertRadiusMpc, units=r"\rm{Mpc}")
+add_field("ParticleRadiusMpc", function=_ParticleRadius,
+ validators=[ValidateParameter("center")],
+ convert_function = _ConvertRadiusMpc, units=r"\rm{Mpc}")
def _ConvertRadiuskpc(data):
return data.convert("kpc")
+add_field("ParticleRadiuskpc", function=_ParticleRadius,
+ validators=[ValidateParameter("center")],
+ convert_function = _ConvertRadiuskpc, units=r"\rm{kpc}")
add_field("Radiuskpc", function=_Radius,
validators=[ValidateParameter("center")],
convert_function = _ConvertRadiuskpc, units=r"\rm{kpc}")
def _ConvertRadiuskpch(data):
return data.convert("kpch")
+add_field("ParticleRadiuskpch", function=_ParticleRadius,
+ validators=[ValidateParameter("center")],
+ convert_function = _ConvertRadiuskpc, units=r"\rm{kpc}/\rm{h}")
add_field("Radiuskpch", function=_Radius,
validators=[ValidateParameter("center")],
convert_function = _ConvertRadiuskpc, units=r"\rm{kpc}/\rm{h}")
def _ConvertRadiuspc(data):
return data.convert("pc")
+add_field("ParticleRadiuspc", function=_ParticleRadius,
+ validators=[ValidateParameter("center")],
+ convert_function = _ConvertRadiuspc, units=r"\rm{pc}")
add_field("Radiuspc", function=_Radius,
validators=[ValidateParameter("center")],
convert_function = _ConvertRadiuspc, units=r"\rm{pc}")
def _ConvertRadiusAU(data):
return data.convert("au")
+add_field("ParticleRadiusAU", function=_ParticleRadius,
+ validators=[ValidateParameter("center")],
+ convert_function = _ConvertRadiusAU, units=r"\rm{AU}")
add_field("RadiusAU", function=_Radius,
validators=[ValidateParameter("center")],
convert_function = _ConvertRadiusAU, units=r"\rm{AU}")
+add_field("ParticleRadiusCode", function=_ParticleRadius,
+ validators=[ValidateParameter("center")])
add_field("RadiusCode", function=_Radius,
validators=[ValidateParameter("center")])
@@ -865,6 +896,12 @@
fieldInfo[field]._projected_units = r"\rm{g}/\rm{cm}^2"
fieldInfo[field]._convert_function=_convertDensity
+add_field("Dark_Matter_Density", function=lambda a,b: None,
+ convert_function=_convertDensity,
+ validators=[ValidateDataField("Dark_Matter_Density"),
+ ValidateSpatial(0)],
+ not_in_all = True)
+
def _convertEnergy(data):
return data.convert("x-velocity")**2.0
fieldInfo["Gas_Energy"]._units = r"\rm{ergs}/\rm{g}"
More information about the yt-svn
mailing list