[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