Skip to content

Commit 594e02e

Browse files
committed
test Modular_MGD clone of SLB conductive
1 parent be82a4e commit 594e02e

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

tests/test_modular_mgd.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
from burnman import Mineral, Composite
55
from burnman.minerals.SLB_2011 import forsterite as forsterite_slb
6+
from burnman.minerals.SLB_2024 import fea as alpha_iron_slb
67
from burnman.utils.chemistry import dictionarize_formula, formula_mass
78
from burnman.eos.helper import create
89
from burnman.tools.eos import check_eos_consistency
@@ -263,7 +264,7 @@ def test_SPOCK_isothermal_contribution(self):
263264
)
264265
self.assertTrue(consistent)
265266

266-
def test_SLB_is_same_as_MGD(self):
267+
def test_SLB_is_same_as_MGD_non_conductive(self):
267268
fo_slb = forsterite_slb()
268269
params = fo_slb.params.copy()
269270
params["equation_of_state"] = "modular_mgd"
@@ -278,6 +279,28 @@ def test_SLB_is_same_as_MGD(self):
278279
minerals.set_state(1.0e9, 2000.0)
279280
self.assertAlmostEqual(fo_slb.helmholtz, fo_mgd.helmholtz, places=3)
280281

282+
def test_SLB_is_same_as_MGD_conductive(self):
283+
fea_slb = alpha_iron_slb()
284+
fea_slb.property_modifiers = []
285+
params = fea_slb.params.copy()
286+
params["equation_of_state"] = "modular_mgd"
287+
params["reference_eos"] = create("bm3")
288+
params["debye_temperature_model"] = theta_SLB()
289+
fea_mgd = Mineral(params)
290+
291+
self.assertTrue(params["bel_0"] != 0)
292+
293+
minerals = Composite([fea_slb, fea_mgd])
294+
minerals.set_state(params["P_0"], params["T_0"])
295+
self.assertAlmostEqual(fea_mgd.helmholtz, params["F_0"])
296+
self.assertAlmostEqual(fea_mgd.V, params["V_0"], places=16)
297+
minerals.set_state(params["P_0"], params["T_0"])
298+
self.assertAlmostEqual(fea_slb.helmholtz, params["F_0"])
299+
self.assertAlmostEqual(fea_slb.V, params["V_0"], places=16)
300+
301+
minerals.set_state(1.0e9, 2000.0)
302+
self.assertAlmostEqual(fea_slb.helmholtz, fea_mgd.helmholtz, places=3)
303+
281304

282305
if __name__ == "__main__":
283306
unittest.main()

0 commit comments

Comments
 (0)