def __init__(self):
            formula = 'FeO'
            formula = dictionarize_formula(formula)
            self.params = {
                'name': 'Wuestite',
                'formula': formula,
                'equation_of_state': 'slb3',
                'F_0': -242000.0,
                'V_0': 1.226e-05,
                'K_0': 1.79e+11,
                'Kprime_0': 4.9,
                'Debye_0': 454.0,
                'grueneisen_0': 1.53,
                'q_0': 1.7,
                'G_0': 59000000000.0,
                'Gprime_0': 1.4,
                'eta_s_0': -0.1,
                'n': sum(formula.values()),
                'molar_mass': formula_mass(formula, atomic_masses)}

            self.property_modifiers = [
                ['linear', {'delta_E': 0., 'delta_S': 12., 'delta_V': 0.}]]

            self.uncertainties = {
                'err_F_0': 1000.0,
                'err_V_0': 0.0,
                'err_K_0': 1000000000.0,
                'err_K_prime_0': 0.2,
                'err_Debye_0': 21.0,
                'err_grueneisen_0': 0.13,
                'err_q_0': 1.0,
                'err_G_0': 1000000000.0,
                'err_Gprime_0': 0.1,
                'err_eta_s_0': 1.0}
            burnman.Mineral.__init__(self)
 def __init__(self):
     formula = 'Fe1.0S1.0'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'lot',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': -102160.0,
         'S_0': 60.0,
         'V_0': 1.818e-05,
         'Cp': [50.2, 0.011052, -940000.0, 0.0],
         'a_0': 4.93e-05,
         'K_0': 65800000000.0,
         'Kprime_0': 4.17,
         'Kdprime_0': -6.3e-11,
         'n': sum(formula.values()),
         'molar_mass': formula_mass(formula, atomic_masses)}
     self.property_modifiers = [
         ['landau_hp', {'P_0': 100000.0,
                        'T_0': 298.15,
                        'Tc_0': 420.0,
                        'S_D': 10.0,
                        'V_D': 0.0}],
         ['landau_hp', {'P_0': 100000.0,
                        'T_0': 298.15,
                        'Tc_0': 598.0,
                        'S_D': 12.0,
                        'V_D': 4.1e-7}]]
     burnman.Mineral.__init__(self)
Esempio n. 3
0
 def __init__(self):
     formula = 'Fe1.0S1.0'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'lot',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': -102160.0,
         'S_0': 60.0,
         'V_0': 1.818e-05,
         'Cp': [50.2, 0.011052, -940000.0, 0.0],
         'a_0': 4.93e-05,
         'K_0': 65800000000.0,
         'Kprime_0': 4.17,
         'Kdprime_0': -6.3e-11,
         'n': sum(formula.values()),
         'molar_mass': formula_mass(formula)}
     self.property_modifiers = [
         ['landau_hp', {'P_0': 100000.0,
                        'T_0': 298.15,
                        'Tc_0': 420.0,
                        'S_D': 10.0,
                        'V_D': 0.0}],
         ['landau_hp', {'P_0': 100000.0,
                        'T_0': 298.15,
                        'Tc_0': 598.0,
                        'S_D': 12.0,
                        'V_D': 4.1e-7}]]
     burnman.Mineral.__init__(self)
Esempio n. 4
0
 def __init__(self, name, atoms, formula, sites, comp, H, S, V, Cp, a, k, flag, od):
     if flag != -1 and flag != -2 and k[0] > 0:
         formula = dictionarize_formula(formula)
         self.params = OrderedDict([('name', name),
                                    ('formula', formula),
                                    ('equation_of_state', 'hp_tmt'),
                                    ('H_0', round(H * 1e3, 10)),
                                    ('S_0', round(S * 1e3, 10)),
                                    ('V_0', round(V * 1e-5, 15)),
                                    ('Cp', [round(Cp[0] * 1e3, 10),
                                            round(Cp[1] * 1e3, 10),
                                            round(Cp[2] * 1e3, 10),
                                            round(Cp[3] * 1e3, 10)]),
                                    ('a_0', a),
                                    ('K_0', round(k[0] * 1e8, 10)),
                                    ('Kprime_0', k[1]),
                                    ('Kdprime_0', round(k[2] * 1e-8, 15)),
                                    ('n', sum(formula.values())),
                                    ('molar_mass', round(formula_mass(formula), 10))])
     if flag == 1:
         self.landau_hp = OrderedDict([('P_0', 1e5),
                                       ('T_0', 298.15),
                                       ('Tc_0', od[0]),
                                       ('S_D', round(od[1] * 1e3, 10)),
                                       ('V_D', round(od[2] * 1e-5, 10))])
                                     
     if flag == 2:
         self.bragg_williams = OrderedDict([('deltaH', round(od[0] * 1e3, 10)),
                                            ('deltaV', round(od[1] * 1e-5, 15)),
                                            ('Wh', round(od[2] * 1e3, 10)),
                                            ('Wv', round(od[3] * 1e-5, 15)),
                                            ('n', od[4]),
                                            ('factor', od[5])])
Esempio n. 5
0
        def __init__(self):
            formula = 'FeO'
            formula = dictionarize_formula(formula)
            self.params = {
                'name': 'Wuestite',
                'formula': formula,
                'equation_of_state': 'slb3',
                'F_0': -242000.0,
                'V_0': 1.226e-05,
                'K_0': 1.79e+11,
                'Kprime_0': 4.9,
                'Debye_0': 454.0,
                'grueneisen_0': 1.53,
                'q_0': 1.7,
                'G_0': 59000000000.0,
                'Gprime_0': 1.4,
                'eta_s_0': -0.1,
                'n': sum(formula.values()),
                'molar_mass': formula_mass(formula)}

            self.property_modifiers = [
                ['linear', {'delta_E': 0., 'delta_S': 12., 'delta_V': 0.}]]

            self.uncertainties = {
                'err_F_0': 1000.0,
                'err_V_0': 0.0,
                'err_K_0': 1000000000.0,
                'err_K_prime_0': 0.2,
                'err_Debye_0': 21.0,
                'err_grueneisen_0': 0.13,
                'err_q_0': 1.0,
                'err_G_0': 1000000000.0,
                'err_Gprime_0': 0.1,
                'err_eta_s_0': 1.0}
            burnman.Mineral.__init__(self)
Esempio n. 6
0
 def __init__(self):
     formula='H2'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'hydrogen gas',
         'formula': formula,
         'equation_of_state': 'cork',
         'cork_params': [[5.45963e1,-8.63920e0], [9.18301e-1], [-3.30558e-2,2.30524e-3], [6.93054e-4,-8.38293e-5]],
         'cork_T': 41.2,
         'cork_P': 0.0211e8,
         'H_0': 0.,
         'S_0': 130.7,
         'Cp': [23.3, 0.004627, 0.0, 76.3]}
     Mineral.__init__(self)
Esempio n. 7
0
 def __init__(self):
     formula='S2'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'sulfur gas',
         'formula': formula,
         'equation_of_state': 'cork',
         'cork_params': [[5.45963e1,-8.63920e0], [9.18301e-1], [-3.30558e-2,2.30524e-3], [6.93054e-4,-8.38293e-5]],
         'cork_T': 1314.00,
         'cork_P': 0.21000e8,
         'H_0': 128.54e3,
         'S_0': 231.0,
         'Cp': [37.1, 0.002398, -161000.0, -65.0]}
     Mineral.__init__(self)
Esempio n. 8
0
 def __init__(self):
     formula='H2S'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'hydrogen sulfide',
         'formula': formula,
         'equation_of_state': 'cork',
         'cork_params': [[5.45963e1,-8.63920e0], [9.18301e-1], [-3.30558e-2,2.30524e-3], [6.93054e-4,-8.38293e-5]],
         'cork_T': 373.15,
         'cork_P': 0.08937e8,
         'H_0': 128.54e3,
         'S_0': 231.0,
         'Cp': [47.4, 0.010240, 615900., -397.8]}
     Mineral.__init__(self)
Esempio n. 9
0
 def __init__(self):
     formula='O2'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'oxygen gas',
         'formula': formula,
         'equation_of_state': 'cork',
         'cork_params': [[5.45963e1,-8.63920e0], [9.18301e-1], [-3.30558e-2,2.30524e-3], [6.93054e-4,-8.38293e-5]],
         'cork_T': 0.,
         'cork_P': 1.0e5,
         'H_0': 0.,
         'S_0': 205.2,
         'Cp': [48.3, -0.000691, 499200., -420.7]}
     Mineral.__init__(self)
Esempio n. 10
0
 def __init__(self):
     formula='CO2'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'carbon dioxide',
         'formula': formula,
         'equation_of_state': 'cork',
         'cork_params': [[5.45963e1,-8.63920e0], [9.18301e-1], [-3.30558e-2,2.30524e-3], [6.93054e-4,-8.38293e-5]],
         'cork_T': 304.2,
         'cork_P': 0.0738e8,
         'H_0': -393.51e3,
         'S_0': 213.7,
         'Cp': [87.8, -2.644e-3, 706.4e3, -998.9]}
     Mineral.__init__(self)
Esempio n. 11
0
 def __init__(self):
     formula='CH4'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'methane',
         'formula': formula,
         'equation_of_state': 'cork',
         'cork_params': [[5.45963e1,-8.63920e0], [9.18301e-1], [-3.30558e-2,2.30524e-3], [6.93054e-4,-8.38293e-5]],
         'cork_T': 190.6,
         'cork_P': 0.0460e8,
         'H_0': -74.81e3,
         'S_0': 186.26,
         'Cp': [150.1, 0.002063, 3427700., -2650.4]}
     Mineral.__init__(self)
 def __init__(self):
     formula = 'Re1.0O2.0'
     formula = processchemistry.dictionarize_formula(formula)
     self.params = {
         'name': 'ReO2',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': -445140.0,
         'S_0': 47.82,
         'V_0': 1.8779e-05,
         'Cp': [76.89, 0.00993, -1207130.0, -208.0],
         'a_0': 4.4e-05,
         'K_0': 1.8e+11,
         'Kprime_0': 4.05,
         'Kdprime_0': -2.25e-11,
         'n': sum(formula.values()),
         'molar_mass': processchemistry.formula_mass(formula)}
     burnman.Mineral.__init__(self)
 def __init__(self):
     formula = 'Re1.0'
     formula = processchemistry.dictionarize_formula(formula)
     self.params = {
         'name': 'Re',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': 0.0,
         'S_0': 36.53,
         'V_0': 8.862e-06,
         'Cp': [23.7, 0.005448, 68.0, 0.0],
         'a_0': 1.9e-05,
         'K_0': 3.6e+11,
         'Kprime_0': 4.05,
         'Kdprime_0': -1.1e-11,
         'n': sum(formula.values()),
         'molar_mass': processchemistry.formula_mass(formula)}
     burnman.Mineral.__init__(self)
 def __init__(self):
     formula = 'Re1.0'
     formula = processchemistry.dictionarize_formula(formula)
     self.params = {
         'name': 'Re',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': 0.0,
         'S_0': 36.53,
         'V_0': 8.862e-06,
         'Cp': [23.7, 0.005448, 68.0, 0.0],
         'a_0': 1.9e-05,
         'K_0': 3.6e+11,
         'Kprime_0': 4.05,
         'Kdprime_0': -1.1e-11,
         'n': sum(formula.values()),
         'molar_mass': processchemistry.formula_mass(formula)
     }
     burnman.Mineral.__init__(self)
 def __init__(self):
     formula = 'Re1.0O2.0'
     formula = processchemistry.dictionarize_formula(formula)
     self.params = {
         'name': 'ReO2',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': -445140.0,
         'S_0': 47.82,
         'V_0': 1.8779e-05,
         'Cp': [76.89, 0.00993, -1207130.0, -208.0],
         'a_0': 4.4e-05,
         'K_0': 1.8e+11,
         'Kprime_0': 4.05,
         'Kdprime_0': -2.25e-11,
         'n': sum(formula.values()),
         'molar_mass': processchemistry.formula_mass(formula)
     }
     burnman.Mineral.__init__(self)
Esempio n. 16
0
    def __init__(self):
        formula='Mg3Al6O12'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'manal',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -6796630.0 ,
            'S_0': 250.0 ,
            'V_0': 0.00011166 ,
            'Cp': [600.0, 0.018756, -8989200.0, -2665.2] ,
            'a_0': 1.93e-05 ,
            'K_0': 1.84e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -2.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 5120.0 }
        Mineral.__init__(self)
Esempio n. 17
0
    def __init__(self):
        formula='SiO2'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'stv',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -876820.0 ,
            'S_0': 24.0 ,
            'V_0': 1.401e-05 ,
            'Cp': [68.1, 0.00601, -1978200.0, -82.1] ,
            'a_0': 1.58e-05 ,
            'K_0': 3.09e+11 ,
            'Kprime_0': 4.6 ,
            'Kdprime_0': -1.5e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 420.0 }
        Mineral.__init__(self)
Esempio n. 18
0
    def __init__(self):
        formula='NaMg2SiAl5O12'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'nanal',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -6610270.0 ,
            'S_0': 280.0 ,
            'V_0': 0.00011322 ,
            'Cp': [672.7, 0.000106, -5992800.0, -4539.9] ,
            'a_0': 2.01e-05 ,
            'K_0': 1.84e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -2.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 5120.0 }
        Mineral.__init__(self)
Esempio n. 19
0
    def __init__(self):
        formula='Mg2SiO4'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'mwd',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -2138080.0 ,
            'S_0': 93.9 ,
            'V_0': 4.051e-05 ,
            'Cp': [208.7, 0.003942, -1709500.0, -1302.8] ,
            'a_0': 2.37e-05 ,
            'K_0': 1.726e+11 ,
            'Kprime_0': 3.84 ,
            'Kdprime_0': -2.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 620.0 }
        Mineral.__init__(self)
Esempio n. 20
0
    def __init__(self):
        formula='MgAl2O4'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'macf',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -2246420.0 ,
            'S_0': 80.0 ,
            'V_0': 3.614e-05 ,
            'Cp': [200.0, 0.006252, -2996400.0, -888.4] ,
            'a_0': 1.93e-05 ,
            'K_0': 2.12e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -1.7e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 1080.0 }
        Mineral.__init__(self)
Esempio n. 21
0
 def __init__(self):
     formula='Fe1.0'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'BCC iron',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': 9149.0 ,
         'S_0': 36.868 ,
         'V_0': 7.09e-06 ,
         'Cp': [21.09, 0.0101455, -221508., 47.1947] ,
         'a_0': 3.56e-05 ,
         'K_0': 1.64e+11 ,
         'Kprime_0': 5.16 ,
         'Kdprime_0': -3.1e-11 ,
         'n': sum(formula.values()),
         'molar_mass': formula_mass(formula, atomic_masses),
         'curie_temperature': [1043., 0.0] ,
         'magnetic_moment': [2.22, 0.0] ,
         'magnetic_structural_parameter': 0.4 }
     Mineral.__init__(self)
Esempio n. 22
0
 def __init__(self):
     formula='Fe1.0'
     formula = dictionarize_formula(formula)
     self.params = {
         'name': 'FCC iron',
         'formula': formula,
         'equation_of_state': 'hp_tmt',
         'H_0': 7973.0 ,
         'S_0': 35.907 ,
         'V_0': 6.93863394593e-06 ,
         'Cp': [22.24, 0.0088656, -221517., 47.1998] ,
         'a_0': 5.13e-05 ,
         'K_0': 1.539e+11 ,
         'Kprime_0': 5.2 ,
         'Kdprime_0': -3.37e-11 ,
         'n': sum(formula.values()),
         'molar_mass': formula_mass(formula, atomic_masses),
         'curie_temperature': [201., 0.0] ,
         'magnetic_moment': [2.1, 0.0] ,
         'magnetic_structural_parameter': 0.28 }
     Mineral.__init__(self)
Esempio n. 23
0
    def __init__(self):
        formula='CaAl2O4'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'cacf',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -2325600.0 ,
            'S_0': 87.6 ,
            'V_0': 3.976e-05 ,
            'Cp': [191.9, 0.009563, -3211300.0, -640.2] ,
            'a_0': 1.93e-05 ,
            'K_0': 1.9e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -2.1e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 10240.0 }
        Mineral.__init__(self)
Esempio n. 24
0
    def __init__(self):
        formula='CaMg2Al6O12'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'canal',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -6840000.0 ,
            'S_0': 257.6 ,
            'V_0': 0.00011159 ,
            'Cp': [591.9, 0.022067, -9204100.0, -2417.0] ,
            'a_0': 1.93e-05 ,
            'K_0': 1.77e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -2.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 5120.0 }
        Mineral.__init__(self)
Esempio n. 25
0
    def __init__(self):
        formula='NaAlSiO6'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'nacf',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -1965550.0 ,
            'S_0': 110.0 ,
            'V_0': 3.631e-05 ,
            'Cp': [272.7, -0.012398, 0.0, -2763.1] ,
            'a_0': 2.1e-05 ,
            'K_0': 1.85e+11 ,
            'Kprime_0': 4.6 ,
            'Kdprime_0': -2.5e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 3440.0 }
        Mineral.__init__(self)
Esempio n. 26
0
    def __init__(self):
        formula='MgMg2Si3Mg3O12'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'msnal',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -6172380.0 ,
            'S_0': 272.5 ,
            'V_0': 0.00011061 ,
            'Cp': [639.9, 0.00807, -4231200.0, -4487.7] ,
            'a_0': 2.1e-05 ,
            'K_0': 1.85e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -2.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 5120.0 }
        Mineral.__init__(self)
Esempio n. 27
0
    def __init__(self):
        formula='Al2O3'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'cor',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -1675250.0 ,
            'S_0': 50.9 ,
            'V_0': 2.558e-05 ,
            'Cp': [139.5, 0.00589, -2460600.0, -589.2] ,
            'a_0': 1.8e-05 ,
            'K_0': 2.54e+11 ,
            'Kprime_0': 4.34 ,
            'Kdprime_0': -1.7e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 700.0 }
        Mineral.__init__(self)
Esempio n. 28
0
    def __init__(self):
        formula='MgO'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'per',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -601570.0 ,
            'S_0': 26.5 ,
            'V_0': 1.125e-05 ,
            'Cp': [60.5, 0.000362, -535800.0, -299.2] ,
            'a_0': 3.11e-05 ,
            'K_0': 1.616e+11 ,
            'Kprime_0': 3.95 ,
            'Kdprime_0': -2.4e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 260.0 }
        Mineral.__init__(self)
Esempio n. 29
0
    def __init__(self):
        formula='Fe2SiO4'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'fwd',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -1467920.0 ,
            'S_0': 146.0 ,
            'V_0': 4.321e-05 ,
            'Cp': [201.1, 0.01733, -1960600.0, -900.9] ,
            'a_0': 2.73e-05 ,
            'K_0': 1.69e+11 ,
            'Kprime_0': 4.35 ,
            'Kdprime_0': -2.6e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 900.0 }
        Mineral.__init__(self)
Esempio n. 30
0
    def __init__(self):
        formula='Mg2SiO4'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'mscf',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -2061130.0 ,
            'S_0': 87.5 ,
            'V_0': 3.649e-05 ,
            'Cp': [213.3, 0.00269, -1410400.0, -1495.9] ,
            'a_0': 2.01e-05 ,
            'K_0': 1.85e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -1.7e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 1340.0 }
        Mineral.__init__(self)
Esempio n. 31
0
    def __init__(self):
        formula='FeFe2Si3Fe3O12'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'fsnal',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -4146000.0 ,
            'S_0': 440.2 ,
            'V_0': 0.00011856 ,
            'Cp': [543.3, 0.055578, -8301600.0, -1581.3] ,
            'a_0': 2.1e-05 ,
            'K_0': 1.85e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -2.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 10240.0 }
        Mineral.__init__(self)
Esempio n. 32
0
    def __init__(self):
        formula='FeO'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'fper',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -262240.0 ,
            'S_0': 58.6 ,
            'V_0': 1.206e-05 ,
            'Cp': [44.4, 0.00828, -1214200.0, 185.2] ,
            'a_0': 3.22e-05 ,
            'K_0': 1.52e+11 ,
            'Kprime_0': 4.9 ,
            'Kdprime_0': -3.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 680.0 }
        Mineral.__init__(self)
Esempio n. 33
0
    def __init__(self):
        formula='Fe2SiO4'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'fscf',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -1405500.0 ,
            'S_0': 143.4 ,
            'V_0': 3.914e-05 ,
            'Cp': [181.1, 0.018526, -2767200.0, -527.1] ,
            'a_0': 2.01e-05 ,
            'K_0': 1.85e+11 ,
            'Kprime_0': 4.0 ,
            'Kdprime_0': -1.7e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 10240.0 }
        Mineral.__init__(self)
Esempio n. 34
0
    def __init__(self):
        formula='MgSiO3'
        formula = dictionarize_formula(formula)
        self.params = {
            'name': 'mcor',
            'formula': formula,
            'equation_of_state': 'hp_tmt',
            'H_0': -1468000.0 ,
            'S_0': 59.3 ,
            'V_0': 2.635e-05 ,
            'Cp': [147.8, 0.002015, -2395000.0, -801.8] ,
            'a_0': 2.12e-05 ,
            'K_0': 2.11e+11 ,
            'Kprime_0': 4.55 ,
            'Kdprime_0': -2.2e-11 ,
            'n': sum(formula.values()),
            'molar_mass': formula_mass(formula, atomic_masses)}

        self.uncertainties = {
            'err_H_0': 880.0 }
        Mineral.__init__(self)
Esempio n. 35
0
    def __init__(self, name, atoms, formula, sites, comp, H, S, V, Cp, a, k,
                 flag, od):
        if flag != -1 and flag != -2 and k[0] > 0:
            formula = dictionarize_formula(formula)
            self.params = OrderedDict([('name', name), ('formula', formula),
                                       ('equation_of_state', 'hp_tmt'),
                                       ('H_0', round(H * 1e3, 10)),
                                       ('S_0', round(S * 1e3, 10)),
                                       ('V_0', round(V * 1e-5, 15)),
                                       ('Cp', [
                                           round(Cp[0] * 1e3, 10),
                                           round(Cp[1] * 1e3, 10),
                                           round(Cp[2] * 1e3, 10),
                                           round(Cp[3] * 1e3, 10)
                                       ]), ('a_0', a),
                                       ('K_0', round(k[0] * 1e8, 10)),
                                       ('Kprime_0', k[1]),
                                       ('Kdprime_0', round(k[2] * 1e-8, 15)),
                                       ('n', sum(formula.values())),
                                       ('molar_mass',
                                        round(formula_mass(formula), 10))])
        if flag == 1:
            self.landau_hp = OrderedDict([('P_0', 1e5), ('T_0', 298.15),
                                          ('Tc_0', od[0]),
                                          ('S_D', round(od[1] * 1e3, 10)),
                                          ('V_D', round(od[2] * 1e-5, 10))])

        if flag == 2:
            self.bragg_williams = OrderedDict([
                ('deltaH', round(od[0] * 1e3, 10)),
                ('deltaV', round(od[1] * 1e-5, 15)),
                ('Wh', round(od[2] * 1e3,
                             10)), ('Wv', round(od[3] * 1e-5,
                                                15)), ('n', od[4]),
                ('factor', od[5])
            ])
    mt = minerals.HP_2011_ds62.mt()
    qtz = minerals.HP_2011_ds62.q()
    FMQ = [fa, mt, qtz]

    for mineral in FMQ:
        mineral.set_state(P, T)
    '''
    Here we find chemical potentials of FeO, SiO2 and O2 for
    an assemblage containing fayalite, magnetite and quartz,
    and a second assemblage of magnetite and wustite
    at 1 GPa, 1000 K
    '''

    component_formulae = ['FeO', 'SiO2', 'O2']
    component_formulae_dict = [
        processchemistry.dictionarize_formula(f) for f in component_formulae
    ]
    chem_potentials = chemical_potentials.chemical_potentials(
        FMQ, component_formulae_dict)

    oxygen = minerals.HP_2011_fluids.O2()
    oxygen.set_state(P, T)

    hem = minerals.HP_2011_ds62.hem()
    MH = [mt, hem]
    for mineral in MH:
        mineral.set_state(P, T)

    print('log10(fO2) at the FMQ buffer:',
          np.log10(chemical_potentials.fugacity(oxygen, FMQ)))
    print('log10(fO2) at the mt-hem buffer:',
Esempio n. 37
0
            for c in components
        ]
        print(' {0}\n {1} (atoms, {2} oxygen basis)\n'.format(
            components, af, float(n_O)))

    # Let's do something a little more complicated.
    # When we're making a starting mix for petrological experiments,
    # we often have to add additional components.
    # For example, we add iron as Fe2O3 even if we want a reduced
    # oxide starting mix, because FeO is not a stable stoichiometric compound.

    # Here we show how to use BurnMan to create such mixes.

    # We start with a fayalite starting composition
    print('\n3) Fayalite starting mix calculations:\n')
    composition = Composition(dictionarize_formula('Fe2SiO4'), 'molar')

    # The first step is to split the desired starting mix into a set of starting oxides
    # (alternatively, we could have initialised the
    # composition with a dictionary of these oxides)
    composition.change_component_set(['FeO', 'SiO2'])

    # Let's check the molar composition of this composition
    composition.print('molar', significant_figures=4, normalization_amount=1.)

    # Here we modify the bulk composition by adding oxygen to the
    # starting mix equal to one third the total FeO (on a molar basis)
    # This is equivalent to adding FeO as Fe2O3 (1/2 Fe2O3 = FeO + 1/2 O)
    print('')
    print(
        'FeO doesn\'t exist as a stoichiometric compound, but we can create\n'