[cig-commits] [commit] inversion, master, validate_MT_params: Added correct forms of derived properties to solid solution (5bb74c6)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Fri Dec 12 18:27:13 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 5bb74c6f3b8b22ee1a37fbace4661641a25541b3
Author: Bob Myhill <myhill.bob at gmail.com>
Date: Thu Dec 11 17:14:28 2014 -0800
Added correct forms of derived properties to solid solution
>---------------------------------------------------------------
5bb74c6f3b8b22ee1a37fbace4661641a25541b3
burnman/solidsolution.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/burnman/solidsolution.py b/burnman/solidsolution.py
index cfd46e4..35d9823 100644
--- a/burnman/solidsolution.py
+++ b/burnman/solidsolution.py
@@ -65,14 +65,14 @@ class SolidSolution(Mineral):
self.S = sum([ self.base_material[i][0].S * self.molar_fraction[i] for i in range(self.n_endmembers) ]) + self.excess_entropy
self.V = sum([ self.base_material[i][0].V * self.molar_fraction[i] for i in range(self.n_endmembers) ]) + self.excess_volume
self.C_p = sum([ self.base_material[i][0].C_p * self.molar_fraction[i] for i in range(self.n_endmembers) ])
+ self.alpha = (1./self.V) * sum([ self.base_material[i][0].alpha * self.base_material[i][0].V * self.molar_fraction[i] for i in range(self.n_endmembers) ])
+ self.K_T = self.V * 1./(sum([ (0.0-self.base_material[i][0].V) / (self.base_material[i][0].K_T) * self.molar_fraction[i] for i in range(self.n_endmembers) ]))
+
+ # Derived properties
+ self.C_v = self.C_p - self.V*temperature*np.power(self.alpha, 2.)*self.K_T
+ self.K_S = self.K_T*self.C_p/self.C_v
+ self.gr = self.alpha*self.K_T*self.V/self.C_v
- # The following are currently just simple molar sums ...
- # ... when they are corrected, they will be moved up ...
- self.gr = sum([ self.base_material[i][0].gr * self.molar_fraction[i] for i in range(self.n_endmembers) ])
- self.K_T = sum([ self.base_material[i][0].K_T * self.molar_fraction[i] for i in range(self.n_endmembers) ])
- self.K_S = sum([ self.base_material[i][0].K_S * self.molar_fraction[i] for i in range(self.n_endmembers) ])
- self.C_v = sum([ self.base_material[i][0].C_v * self.molar_fraction[i] for i in range(self.n_endmembers) ])
- self.alpha = sum([ self.base_material[i][0].alpha * self.molar_fraction[i] for i in range(self.n_endmembers) ])
def calcgibbs(self, pressure, temperature, molar_fractions):
More information about the CIG-COMMITS
mailing list