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

Bitbucket commits-noreply at bitbucket.org
Thu Mar 29 12:55:20 PDT 2012


3 new commits in yt:


https://bitbucket.org/yt_analysis/yt/changeset/02bd133c677b/
changeset:   02bd133c677b
branch:      yt
user:        jzuhone
date:        2012-03-28 23:19:52
summary:     Redefining "TotalEnergy" and "ThermalEnergy" as in units of erg/g. Including a few fallbacks in case some fields are not defined.
affected #:  1 file

diff -r 48de2f60f2a2ddfe01a85b904934c82cc886d9de -r 02bd133c677b0998d82a7b235bcfad8f1b937813 yt/frontends/flash/fields.py
--- a/yt/frontends/flash/fields.py
+++ b/yt/frontends/flash/fields.py
@@ -34,7 +34,8 @@
     ValidateSpatial, \
     ValidateGridType
 import yt.data_objects.universal_fields
-
+from yt.utilities.physical_constants import \
+    kboltz
 KnownFLASHFields = FieldInfoContainer()
 add_flash_field = KnownFLASHFields.add_field
 
@@ -62,8 +63,6 @@
                     "y-velocity": "vely",
                     "z-velocity": "velz",
                     "Density": "dens",
-                    "TotalEnergy": "ener",
-                    "GasEnergy": "eint",
                     "Temperature": "temp",
                     "Pressure" : "pres", 
                     "particle_position_x" : "particle_posx",
@@ -214,15 +213,43 @@
           particle_type=True, convert_function=_convertParticleMassMsun,
           particle_convert_function=_ParticleMassMsun)
 
-def _ThermalEnergy(fields,data):
-    te = data["TotalEnergy"] - 0.5 * data["Density"] * (
-        data["x-velocity"]**2.0 + 
-        data["y-velocity"]**2.0 +
-        data["z-velocity"]**2.0 )
+def _ThermalEnergy(fields, data) :
     try:
-        te -= data['magp']
-    except: 
+        return data["eint"]
+    except:
         pass
-    return te
+    try:
+        return data["Pressure"] / (data.pf["Gamma"] - 1.0) / data["Density"]
+    except:
+        pass
+    if data.has_field_parameter("mu") :
+        mu = data.get_field_parameter("mu")
+    else:
+        mu = 0.6
+    return kboltz*data["Density"]*data["Temperature"]/(mu*mh) / (data.pf["Gamma"] - 1.0)
+    
 add_field("ThermalEnergy", function=_ThermalEnergy,
-                units=r"\rm{ergs}/\rm{cm^3}")
+          units=r"\rm{ergs}/\rm{g}")
+
+def _TotalEnergy(fields, data) :
+    try:
+        etot = data["ener"]
+    except:
+        etot = data["ThermalEnergy"] + 0.5 * (
+            data["x-velocity"]**2.0 +
+            data["y-velocity"]**2.0 +
+            data["z-velocity"]**2.0)
+    try:
+        etot += data['magp']/data["Density"]
+    except:
+        pass
+    return etot
+
+add_field("TotalEnergy", function=_TotalEnergy,
+          units=r"\rm{ergs}/\rm{g}")
+
+def _GasEnergy(fields, data) :
+    return data["ThermalEnergy"]
+
+add_field("GasEnergy", function=_GasEnergy, 
+          units=r"\rm{ergs}/\rm{g}")



https://bitbucket.org/yt_analysis/yt/changeset/41585d0a8eef/
changeset:   41585d0a8eef
branch:      yt
user:        ngoldbaum
date:        2012-03-29 21:47:05
summary:     Fixes parameter file parsing for FLASH2.5 and some fixes for 2D data.
affected #:  1 file

diff -r 02bd133c677b0998d82a7b235bcfad8f1b937813 -r 41585d0a8eef8751db79e588d9bb7203174346bc yt/frontends/flash/data_structures.py
--- a/yt/frontends/flash/data_structures.py
+++ b/yt/frontends/flash/data_structures.py
@@ -99,14 +99,22 @@
         f = self._handle # shortcut
         pf = self.parameter_file # shortcut
         
-        self.grid_left_edge[:] = f["/bounding box"][:,:,0]
-        self.grid_right_edge[:] = f["/bounding box"][:,:,1]
+        # Initialize to the domain left / domain right
+        ND = self.parameter_file.dimensionality
+        DLE = self.parameter_file.domain_left_edge
+        DRE = self.parameter_file.domain_left_edge
+        for i in range(3):
+            self.grid_left_edge[:,i] = DLE[i]
+            self.grid_right_edge[:,i] = DRE[i]
+        # We only go up to ND for 2D datasets
+        self.grid_left_edge[:,:ND] = f["/bounding box"][:,:,0]
+        self.grid_right_edge[:,:ND] = f["/bounding box"][:,:,1]
         
         # Move this to the parameter file
         try:
-            nxb = pf._find_parameter("integer", "nxb", True)
-            nyb = pf._find_parameter("integer", "nyb", True)
-            nzb = pf._find_parameter("integer", "nzb", True)
+            nxb = pf.parameters['nxb']
+            nyb = pf.parameters['nyb']
+            nzb = pf.parameters['nzb']
         except KeyError:
             nxb, nyb, nzb = [int(f["/simulation parameters"]['n%sb' % ax])
                               for ax in 'xyz']
@@ -325,21 +333,39 @@
         # note the ordering here is important: runtime parameters should
         # ovewrite scalars with the same name.
         for ptype in ['scalars', 'runtime parameters']:
-            for vtype in ['integer', 'real', 'logical','string']:
+            for vtype in ['integer', 'real', 'logical', 'string']:
                 hns.append("%s %s" % (vtype, ptype))
-        for hn in hns:
-            if hn not in self._handle:
-                continue
-            for varname, val in zip(self._handle[hn][:,'name'],
-                                    self._handle[hn][:,'value']):
-                vn = varname.strip()
-                if hn.startswith("string") :
-                    pval = val.strip()
-                else :
-                    pval = val
-                if vn in self.parameters and self.parameters[vn] != pval:
-                    mylog.warning("{0} {1} overwrites a simulation scalar of the same name".format(hn[:-1],vn)) 
-                self.parameters[vn] = pval
+        if self._flash_version > 7:
+            for hn in hns:
+                if hn not in self._handle:
+                    continue
+                for varname, val in zip(self._handle[hn][:,'name'],
+                                        self._handle[hn][:,'value']):
+                    vn = varname.strip()
+                    if hn.startswith("string") :
+                        pval = val.strip()
+                    else :
+                        pval = val
+                    if vn in self.parameters and self.parameters[vn] != pval:
+                        mylog.warning("{0} {1} overwrites a simulation scalar of the same name".format(hn[:-1],vn)) 
+                        self.parameters[vn] = pval
+        if self._flash_version == 7:
+            for hn in hns:
+                if hn not in self._handle:
+                    continue
+                if hn is 'simulation parameters':
+                    zipover = zip(self._handle[hn].dtype.names,self._handle[hn][0])
+                else:
+                    zipover = zip(self._handle[hn][:,'name'],self._handle[hn][:,'value'])
+                for varname, val in zipover:
+                    vn = varname.strip()
+                    if hn.startswith("string") :
+                        pval = val.strip()
+                    else :
+                        pval = val
+                    if vn in self.parameters and self.parameters[vn] != pval:
+                        mylog.warning("{0} {1} overwrites a simulation scalar of the same name".format(hn[:-1],vn))
+                    self.parameters[vn] = pval
         self.domain_left_edge = na.array(
             [self.parameters["%smin" % ax] for ax in 'xyz']).astype("float64")
         self.domain_right_edge = na.array(



https://bitbucket.org/yt_analysis/yt/changeset/54c597a3e8b8/
changeset:   54c597a3e8b8
branch:      yt
user:        ngoldbaum
date:        2012-03-29 21:54:56
summary:     Oops, left -> right.
affected #:  1 file

diff -r 41585d0a8eef8751db79e588d9bb7203174346bc -r 54c597a3e8b813031c2f499b8e7844d1d6bacf5e yt/frontends/flash/data_structures.py
--- a/yt/frontends/flash/data_structures.py
+++ b/yt/frontends/flash/data_structures.py
@@ -102,7 +102,7 @@
         # Initialize to the domain left / domain right
         ND = self.parameter_file.dimensionality
         DLE = self.parameter_file.domain_left_edge
-        DRE = self.parameter_file.domain_left_edge
+        DRE = self.parameter_file.domain_right_edge
         for i in range(3):
             self.grid_left_edge[:,i] = DLE[i]
             self.grid_right_edge[:,i] = DRE[i]

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