# This file is part of BurnMan - a thermoelastic and thermodynamic toolkit for the Earth and Planetary Sciences
# Copyright (C) 2012 - 2017 by the BurnMan team, released under the GNU
# GPL v2 or later.
"""
Other minerals
^^^^^^^^^^^^^^
"""
from __future__ import absolute_import
from ..classes import mineral_helpers as helpers
from ..classes.mineral import Mineral
from ..utils.chemistry import dictionarize_formula, formula_mass
from .SLB_2011 import periclase, wuestite, mg_perovskite, fe_perovskite
[docs]
class liquid_iron(Mineral):
"""
Liquid iron equation of state from Anderson and Ahrens (1994)
"""
def __init__(self):
formula = "Fe1.0"
formula = dictionarize_formula(formula)
m = formula_mass(formula)
rho_0 = 7019.0
V_0 = m / rho_0
D = 7766.0
Lambda = 1146.0
self.params = {
"name": "liquid iron",
"formula": formula,
"equation_of_state": "aa",
"P_0": 1.0e5,
"T_0": 1811.0,
"S_0": 100.0, # to fit
"molar_mass": m,
"V_0": V_0,
"E_0": 0.0,
"K_S": 109.7e9,
"Kprime_S": 4.661,
"Kprime_prime_S": -0.043e-9,
"grueneisen_0": 1.735,
"grueneisen_prime": -0.130 / m * 1.0e-6,
"grueneisen_n": -1.870,
"a": [248.92 * m, 289.48 * m],
"b": [0.4057 * m, -1.1499 * m],
"Theta": [1747.3, 1.537],
"theta": 5000.0,
"lmda": [-325.23 * m, 302.07 * m, 30.45 * m],
"xi_0": 282.67 * m,
"F": [D / rho_0, Lambda / rho_0],
"n": sum(formula.values()),
"molar_mass": m,
}
Mineral.__init__(self)
[docs]
class ZSB_2013_mg_perovskite(Mineral):
def __init__(self):
self.params = {
"equation_of_state": "slb3",
"V_0": 24.45e-6,
"K_0": 250.5e9,
"Kprime_0": 4.01,
"G_0": 172.9e9,
"Gprime_0": 1.74,
"molar_mass": 0.1000,
"n": 5,
"Debye_0": 905.9,
"grueneisen_0": 1.44,
"q_0": 1.09,
"eta_s_0": 2.13,
} # 2.6
self.uncertainties = {
"err_K_0": 3.0e9,
"err_Kprime_0": 0.1,
"err_G_0": 2.0e9,
"err_Gprime_0": 0.0,
"err_Debye_0": 5.0,
"err_grueneisen_0": 0.05,
"err_q_0": 0.3,
"err_eta_s_0": 0.3,
}
Mineral.__init__(self)
[docs]
class ZSB_2013_fe_perovskite(Mineral):
def __init__(self):
self.params = {
"equation_of_state": "slb3",
"V_0": 25.49e-6,
"K_0": 272.0e9,
"Kprime_0": 4.1,
"G_0": 133.0e9,
"Gprime_0": 1.4,
"molar_mass": 0.1319,
"n": 5,
"Debye_0": 871.0,
"grueneisen_0": 1.57,
"q_0": 1.1,
"eta_s_0": 2.3,
} # 2.3
self.uncertainties = {
"err_K_0": 40e9,
"err_Kprime_0": 1.0,
"err_G_0": 40e9,
"err_Gprime_0": 0.0,
"err_Debye_0": 26.0,
"err_grueneisen_0": 0.3,
"err_q_0": 1.0,
"err_eta_s_0": 1.0,
}
Mineral.__init__(self)
[docs]
class Speziale_fe_periclase(helpers.HelperSpinTransition):
def __init__(self):
helpers.HelperSpinTransition.__init__(
self, 60.0e9, Speziale_fe_periclase_LS(), Speziale_fe_periclase_HS()
)
self.cite = "Speziale et al. 2007"
[docs]
class Speziale_fe_periclase_HS(Mineral):
"""
Speziale et al. 2007, Mg#=83
"""
def __init__(self):
self.params = {
"equation_of_state": "mgd3",
"V_0": 22.9e-6,
"K_0": 157.5e9,
"Kprime_0": 3.92,
"molar_mass": 0.04567,
"n": 2,
"Debye_0": 587,
"grueneisen_0": 1.46,
"q_0": 1.2,
}
Mineral.__init__(self)
[docs]
class Speziale_fe_periclase_LS(Mineral):
"""
Speziale et al. 2007, Mg#=83
"""
def __init__(self):
self.params = {
"equation_of_state": "mgd3",
"V_0": 21.49e-6,
"K_0": 186.0e9,
"Kprime_0": 4.6,
"molar_mass": 0.04567,
"n": 2,
"Debye_0": 587.0,
"grueneisen_0": 1.46,
"q_0": 1.2,
}
Mineral.__init__(self)
[docs]
class Liquid_Fe_Anderson(Mineral):
"""
Anderson & Ahrens, 1994 JGR
"""
def __init__(self):
self.params = {
"equation_of_state": "bm4",
"V_0": 7.95626e-6,
"K_0": 109.7e9,
"Kprime_0": 4.66,
"Kprime_prime_0": -0.043e-9,
"molar_mass": 0.055845,
}
Mineral.__init__(self)
[docs]
class Fe_Dewaele(Mineral):
"""
Dewaele et al., 2006, Physical Review Letters
"""
def __init__(self):
self.params = {
"equation_of_state": "vinet",
"V_0": 6.75e-6,
"K_0": 163.4e9,
"Kprime_0": 5.38,
"molar_mass": 0.055845,
"n": 1,
}
Mineral.__init__(self)