[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