[cig-commits] [commit] inversion, master, validate_MT_params: added test_eos (ffbe833)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Dec 12 18:27:21 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 ffbe8332fcd76ea717495628dfbfd4c5b0217e46
Author: I <kmanunterborn at gmail.com>
Date:   Thu Dec 11 19:50:35 2014 -0800

    added test_eos
    
    First test to see if reference values are returned for P = 1e5, T = 0 K


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

ffbe8332fcd76ea717495628dfbfd4c5b0217e46
 tests/test_eos.py | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/tests.py    |  1 +
 2 files changed, 74 insertions(+)

diff --git a/tests/test_eos.py b/tests/test_eos.py
new file mode 100644
index 0000000..871ede7
--- /dev/null
+++ b/tests/test_eos.py
@@ -0,0 +1,73 @@
+import unittest
+import os, sys
+sys.path.insert(1,os.path.abspath('..'))
+import warnings
+
+import burnman
+from burnman import minerals
+
+from util import BurnManTest
+
+
+# TODO: test composite that changes number of entries
+class mypericlase (burnman.Mineral):
+    """
+    Stixrude & Lithgow-Bertelloni 2005 and references therein 
+    """
+    def __init__(self):
+        self.params = {
+            'equation_of_state':'slb3',
+            'V_0': 11.24e-6,
+            'K_0': 161.0e9,
+            'Kprime_0': 3.8,
+            'G_0': 131.0e9,
+            'Gprime_0': 2.1,
+            'molar_mass': .0403,
+            'n': 2,
+            'Debye_0': 773.,
+            'grueneisen_0': 1.5,
+            'q_0': 1.5,
+            'eta_s_0': 2.8 }
+
+class eos(BurnManTest):
+
+    def test_volume_fail(self):
+		rock = mypericlase()
+		pressure = 0.
+		temperature = 300
+		#rock.set_method('slb2')
+		eoses = [burnman.slb.SLB2(),burnman.slb.SLB3(),burnman.birch_murnaghan.BM2(),burnman.birch_murnaghan.BM3()]
+		
+		for i in eoses:
+			Volume_test = i.volume(pressure, temperature,rock.params)
+			self.assertFloatEqual(Volume_test,rock.params['V_0'])
+        	K_test = i.adiabatic_bulk_modulus(pressure, temperature,rock.params['V_0'],rock.params)
+        	self.assertFloatEqual(K_test,rock.params['K_0'])
+        	G_test = i.shear_modulus(pressure, temperature,rock.params['V_0'],rock.params)
+        	self.assertFloatEqual(G_test,rock.params['G_0'])
+        	Density_test = i.density(pressure, temperature, rock.params)
+        	self.assertFloatEqual(Density_test,rock.params['molar_mass']/rock.params['V_0'])
+        	Cp_test= i.heat_capacity_p(pressure, temperature,rock.params['V_0'],rock.params)
+        	#self.assertFloatEqual(Cp_test,...)
+        	Cv_test= i.heat_capacity_v(pressure, temperature,rock.params['V_0'],rock.params)
+        	Kt_test = i.isothermal_bulk_modulus(pressure, temperature,rock.params['V_0'],rock.params)
+        	self.assertFloatEqual(Kt_test,rock.params['K_0'])
+        	alpha_test = i.thermal_expansivity(pressure, temperature,rock.params['V_0'],rock.params)
+        	Cp_test= i.heat_capacity_p(pressure, temperature,rock.params['V_0'],rock.params)
+        	Cv_test= i.heat_capacity_v(pressure, temperature,rock.params['V_0'],rock.params)
+        	Grun_test = i.grueneisen_parameter(pressure, temperature,rock.params['V_0'],rock.params)
+
+		eoses_thermal = [burnman.slb.SLB2(),burnman.slb.SLB3()]
+		for i in eoses_thermal:
+			Cp_test= i.heat_capacity_p(pressure, temperature,rock.params['V_0'],rock.params)
+        	self.assertFloatEqual(Cp_test,37.076768469502042)
+        	Cv_test= i.heat_capacity_v(pressure, temperature,rock.params['V_0'],rock.params)
+        	self.assertFloatEqual(Cv_test,36.577717628901553)        
+        	alpha_test = i.thermal_expansivity(pressure, temperature,rock.params['V_0'],rock.params)
+        	self.assertFloatEqual(alpha_test,3.031905596878513e-05)
+        	Grun_test = i.grueneisen_parameter(pressure, temperature,rock.params['V_0'],rock.params)
+        	self.assertFloatEqual(Grun_test,rock.params['grueneisen_0'])
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/tests/tests.py b/tests/tests.py
index b29b566..ba759fc 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -5,6 +5,7 @@ from test_spin import *
 from test_composite import *
 from test_model import *
 from test_partitioning import *
+from test_eos import *
 
 import os, sys
 sys.path.insert(1,os.path.abspath('..'))



More information about the CIG-COMMITS mailing list