Source code for burnman.minerals.other

# 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)