[cig-commits] [commit] add_gibbs_energy: Patch up so that the new stuff works as a package (e385354)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu Dec 11 17:12:00 PST 2014


Repository : https://github.com/geodynamics/burnman

On branch  : add_gibbs_energy
Link       : https://github.com/geodynamics/burnman/compare/0000000000000000000000000000000000000000...2148b324d3e8aa7b527f831eb397590942563008

>---------------------------------------------------------------

commit e3853544b3745698618e8a8a94d1c431b684a5b4
Author: Timo Heister <timo.heister at gmail.com>
Date:   Thu Dec 11 15:29:22 2014 -0800

    Patch up so that the new stuff works as a package
    
    Conflicts:
    	burnman/minerals/SLB_2011_w_solid_solutions.py


>---------------------------------------------------------------

e3853544b3745698618e8a8a94d1c431b684a5b4
 burnman/__init__.py           |  2 ++
 burnman/processchemistry.py   |  7 +++--
 burnman/test_solidsolution.py | 73 -------------------------------------------
 3 files changed, 7 insertions(+), 75 deletions(-)

diff --git a/burnman/__init__.py b/burnman/__init__.py
index 0866126..5f34555 100644
--- a/burnman/__init__.py
+++ b/burnman/__init__.py
@@ -55,6 +55,7 @@ from version import version as __version__
 from mineral import Mineral
 from material import Material
 from composite import Composite
+from solidsolution import SolidSolution
 from mineral_helpers import *
 
 #high level functions
@@ -67,6 +68,7 @@ import minerals
 #central user tools
 import seismic
 import averaging_schemes
+import solutionmodel
 import geotherm
 
 #miscellaneous
diff --git a/burnman/processchemistry.py b/burnman/processchemistry.py
index fe54aab..bee88c5 100644
--- a/burnman/processchemistry.py
+++ b/burnman/processchemistry.py
@@ -9,14 +9,17 @@
 import re
 import numpy as np
 from fractions import Fraction
+import pkgutil
 
-def read_masses(filename): 
+def read_masses(): 
     """
     A simple function to read a file with a two column list of 
     elements and their masses into a dictionary
     """
+    datastream = pkgutil.get_data('burnman', 'data/input_masses/atomic_masses.dat')
+    datalines = [ line.strip() for line in datastream.split('\n') if line.strip() ]
     lookup=dict()
-    for line in open(filename, "r"):
+    for line in datalines:
         data="%".join(line.split("%")[:1]).split()
         if data != []:
             lookup[data[0]]=float(data[1])
diff --git a/burnman/test_solidsolution.py b/burnman/test_solidsolution.py
deleted file mode 100644
index 45aa289..0000000
--- a/burnman/test_solidsolution.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# BurnMan - a lower mantle toolkit
-# Copyright (C) 2012-2014, Myhill, R., Heister, T., Unterborn, C., Rose, I. and Cottaar, S.
-# Released under GPL v2 or later.
-
-
-import os, sys, numpy as np, matplotlib.pyplot as plt
-if not os.path.exists('burnman') and os.path.exists('../burnman'):
-    sys.path.insert(1,os.path.abspath('..'))
-
-import burnman
-from burnman import minerals
-
-
-garnet=minerals.HP_2011_ds62.garnet()
-composition=np.array([ 0.5, 0.2, 0.1, 0.2 ])
-garnet.set_method('mtait')
-garnet.set_composition(composition)
-garnet.set_state(0.0, 300.0)
-
-print 'Molar fraction'
-print garnet.molar_fraction
-print ''
-print 'Site occupancies'
-print garnet.solution_model.sites
-#print garnet.solution_model.site_occupancies
-print ''
-print 'Volume excess'
-print garnet.excess_volume, 'm^3/mol'
-print ''
-
-# Excess volumes for the pyrope-grossular join
-n=100
-pyrope_proportion= np.empty(shape=(n+1))
-garnet_excess_volume= np.empty(shape=(n+1))
-for i in range(n+1):
-    pyrope_proportion[i]=float(i)/n
-    composition=([ pyrope_proportion[i], 0.0, 1.-pyrope_proportion[i], 0.0 ])
-    garnet.set_composition(composition)
-    garnet.set_state(0.0, 300.)
-    garnet_excess_volume[i]=garnet.excess_volume
-
-pressure=1.e9 # Pa
-temperature=573.15 # K
-composition=[0.9, 0.0, 0.1, 0.0]
-garnet.set_composition(composition)
-garnet.set_state(pressure, temperature)
-
-# Excess gibbs for the pyrope-grossular join
-n=100
-pyrope_proportion= np.empty(shape=(n+1))
-garnet_excess_gibbs= np.empty(shape=(n+1))
-for i in range(n+1):
-    pyrope_proportion[i]=float(i)/n
-    composition=([ pyrope_proportion[i], 0.0, 1.-pyrope_proportion[i], 0.0 ])
-    garnet.set_composition(composition)
-    garnet.set_state(pressure, temperature)
-    garnet_excess_gibbs[i]=garnet.excess_gibbs
-
-
-import matplotlib.pyplot as plt
-plt.subplot(1,2,1)
-plt.plot(pyrope_proportion,garnet_excess_volume,color='r',linestyle='-',marker='o',markerfacecolor='r',markersize=0)
-plt.xlim(min(pyrope_proportion),max(pyrope_proportion))
-plt.xlabel("p(pyrope)")
-plt.title("V excess (m^3/mol) \nfor pyrope-grossular garnets")
-
-plt.subplot(1,2,2)
-plt.plot(pyrope_proportion,garnet_excess_gibbs,color='r',linestyle='-',marker='o',markerfacecolor='r',markersize=0)
-plt.xlim(min(pyrope_proportion),max(pyrope_proportion))
-plt.xlabel("p(pyrope)")
-plt.title("Excess Gibbs (J/mol) for pyrope-grossular garnets\n"+str(pressure/1.e9)+" GPa, "+str(temperature)+" K")
-plt.show()
-



More information about the CIG-COMMITS mailing list