[Yt-svn] yt-commit r1530 - trunk/yt/lagos
britton at wrangler.dreamhost.com
britton at wrangler.dreamhost.com
Thu Nov 19 19:29:41 PST 2009
Author: britton
Date: Thu Nov 19 19:29:40 2009
New Revision: 1530
URL: http://yt.enzotools.org/changeset/1530
Log:
Added species number density fields to get things like HI_NumberDensity.
Modified:
trunk/yt/lagos/EnzoFields.py
Modified: trunk/yt/lagos/EnzoFields.py
==============================================================================
--- trunk/yt/lagos/EnzoFields.py (original)
+++ trunk/yt/lagos/EnzoFields.py Thu Nov 19 19:29:40 2009
@@ -42,13 +42,30 @@
"HeI","HeII","HeIII",
"H2I","H2II","HM",
"DI","DII","HDI","Metal","PreShock"]
+_speciesMass = {"HI":1.0,"HII":1.0,"Electron":1.0,
+ "HeI":4.0,"HeII":4.0,"HeIII":4.0,
+ "H2I":2.0,"H2II":2.0,"HM":1.0,
+ "DI":2.0,"DII":2.0,"HDI":3.0}
+
def _SpeciesFraction(field, data):
sp = field.name.split("_")[0] + "_Density"
return data[sp]/data["Density"]
+def _SpeciesNumberDensity(field, data):
+ species = field.name.split("_")[0]
+ sp = field.name.split("_")[0] + "_Density"
+ return data[sp]/_speciesMass[species]
+def _ConvertNumberDensity(data):
+ return 1.0/mh
+
for species in _speciesList:
add_field("%s_Fraction" % species,
function=_SpeciesFraction,
validators=ValidateDataField("%s_Density" % species))
+ if _speciesMass.has_key(species):
+ add_field("%s_NumberDensity" % species,
+ function=_SpeciesNumberDensity,
+ convert_function=_ConvertNumberDensity,
+ validators=ValidateDataField("%s_Density" % species))
def _Metallicity(field, data):
return data["Metal_Fraction"] / 0.0204
@@ -144,8 +161,6 @@
fieldData += data["DII_Density"] / 2.0
fieldData += data["HDI_Density"] / 3.0
return fieldData
-def _ConvertNumberDensity(data):
- return 1.0/mh
add_field("NumberDensity", units=r"\rm{cm}^{-3}",
function=_NumberDensity,
convert_function=_ConvertNumberDensity)
More information about the yt-svn
mailing list