[cig-commits] [commit] inversion, master, validate_MT_params: Patch up so that the new stuff works as a package (e385354)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Fri Dec 12 18:25:46 PST 2014
Repository : https://github.com/geodynamics/burnman
On branches: inversion,master,validate_MT_params
Link : https://github.com/geodynamics/burnman/compare/80c2a295c42dfdb38f83f6c1334bf7d8f97a8463...409647ff05dfad6a686198cac1481bd46b5e2e62
>---------------------------------------------------------------
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