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. V_0 = m/rho_0 D = 7766. Lambda = 1146. self.params = { 'name': 'liquid iron', 'formula': formula, 'equation_of_state': 'aa', 'P_0': 1.e5, 'T_0': 1811., 'S_0': 100., # to fit 'molar_mass': m, 'V_0': V_0, 'E_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.e-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., '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': .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.e9, 'err_Kprime_0': 0.1, 'err_G_0': 2.e9, 'err_Gprime_0': 0.0, 'err_Debye_0': 5., 'err_grueneisen_0': .05, 'err_q_0': .3, 'err_eta_s_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': .1319, 'n': 5, 'Debye_0': 871., '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., 'err_G_0': 40e9, 'err_Gprime_0': 0.0, 'err_Debye_0': 26., 'err_grueneisen_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': .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': .04567, 'n': 2, 'Debye_0': 587., '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)