[yt-svn] commit/yt: jzuhone: Various unit and field definitions.

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Mon Feb 25 03:44:31 PST 2013


1 new commit in yt:

https://bitbucket.org/yt_analysis/yt/commits/409b3134745b/
changeset:   409b3134745b
branch:      yt
user:        jzuhone
date:        2013-02-25 06:02:31
summary:     Various unit and field definitions.

1) Some more length conversions, adding energy conversions
2) Adding the temperature field in units of keV
3) Fixing the Entropy field so that it falls back to gamma = 5./3. if gamma isn't specified by the simulation
affected #:  2 files

diff -r d1f5dd01531fafd42b4114f2ae360105a55e5930 -r 409b3134745b43032ad6d6b815113b3684ccb917 yt/data_objects/universal_fields.py
--- a/yt/data_objects/universal_fields.py
+++ b/yt/data_objects/universal_fields.py
@@ -55,7 +55,7 @@
      G, \
      rho_crit_now, \
      speed_of_light_cgs, \
-     km_per_cm
+     km_per_cm, keV_per_K
 
 from yt.utilities.math_utils import \
     get_sph_r_component, \
@@ -216,18 +216,25 @@
            data["Density"] * data["ThermalEnergy"]
 add_field("Pressure", function=_Pressure, units=r"\rm{dyne}/\rm{cm}^{2}")
 
+def _TempkeV(field, data):
+    return data["Temperature"] * keV_per_K
+add_field("TempkeV", function=_TempkeV, units=r"\rm{keV}",
+          display_name="Temperature")
+
 def _Entropy(field, data):
     if data.has_field_parameter("mu"):
         mw = mh*data.get_field_parameter("mu")
     else :
         mw = mh
+    try:
+        gammam1 = data.pf["Gamma"] - 1.0
+    except:
+        gammam1 = 5./3. - 1.0
     return kboltz * data["Temperature"] / \
-           ((data["Density"]/mw)**(data.pf["Gamma"] - 1.0))
+           ((data["Density"]/mw)**gammam1)
 add_field("Entropy", units=r"\rm{ergs}\ \rm{cm}^{3\gamma-3}",
           function=_Entropy)
 
-
-
 ### spherical coordinates: r (radius)
 def _sph_r(field, data):
     center = data.get_field_parameter("center")

diff -r d1f5dd01531fafd42b4114f2ae360105a55e5930 -r 409b3134745b43032ad6d6b815113b3684ccb917 yt/utilities/physical_constants.py
--- a/yt/utilities/physical_constants.py
+++ b/yt/utilities/physical_constants.py
@@ -41,6 +41,7 @@
 mpc_per_rsun  = 2.253962e-14
 mpc_per_miles = 5.21552871e-20
 mpc_per_cm    = 3.24077929e-25
+kpc_per_cm    = mpc_per_cm / mpc_per_kpc
 km_per_pc     = 1.3806504e13
 km_per_m      = 1e-3
 km_per_cm     = 1e-5
@@ -54,9 +55,11 @@
 rsun_per_mpc  = 1.0 / mpc_per_rsun
 miles_per_mpc = 1.0 / mpc_per_miles
 cm_per_mpc    = 1.0 / mpc_per_cm
+cm_per_kpc    = 1.0 / kpc_per_cm
 cm_per_km     = 1.0 / km_per_cm
 pc_per_km     = 1.0 / km_per_pc
 cm_per_pc     = 1.0 / pc_per_cm
+
 # time
 sec_per_Gyr  = 31.5576e15
 sec_per_Myr  = 31.5576e12
@@ -65,6 +68,12 @@
 sec_per_hr   = 3600.0
 day_per_year = 365.25
 
+# temperature / energy
+erg_per_eV = 1.602176487e-12 # http://goldbook.iupac.org/E02014.html
+erg_per_keV = erg_per_eV * 1.0e3
+K_per_keV = erg_per_keV / boltzmann_constant_cgs
+keV_per_K = 1.0 / K_per_keV
+
 #Short cuts
 G = gravitational_constant_cgs
 me = mass_electron_cgs

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