Source code for burnman.minerals.ig50NCKFMASTOCr

# This file is part of BurnMan - a thermoelastic
# and thermodynamic toolkit for the Earth and Planetary Sciences
# Copyright (C) 2012 - 2025 by the BurnMan team, released under the GNU
# GPL v2 or later.

"""
ig50NCKFMASTOCr
^^^^^^^^^^^^^^^

HPx-eos solutions using endmembers from
dataset HGP_2018_ds633.

Contains the following solutions:
* pl4tr
* k4tr
* pli
* plc
* ol
* ksp
* g
* opx
* cpx
* spn
* ilm

The values in this document are all in S.I. units,
unlike those in the original THERMOCALC file.

This file is autogenerated using hpx_eos_to_burnman.py
"""

import numpy as np
from numpy import array, nan
from . import HGP_2018_ds633
from ..classes.mineral import Mineral
from ..classes.solution import Solution
from ..classes.solutionmodel import SymmetricRegularSolution
from ..classes.solutionmodel import AsymmetricRegularSolution
from ..classes.combinedmineral import CombinedMineral


cats_nood = Mineral(
    {
        "name": "cats",
        "formula": {"Al": 2.0, "Ca": 1.0, "O": 6.0, "Si": 1.0},
        "equation_of_state": "hp_tmt",
        "H_0": -3310050.0,
        "S_0": 135.0,
        "V_0": 6.356e-05,
        "Cp": [347.6, -0.006974, -1781600.0, -2757.5],
        "a_0": 2.08e-05,
        "K_0": 119200000000.0,
        "Kprime_0": 5.19,
        "Kdprime_0": -4.4e-11,
        "n": 10.0,
        "molar_mass": 0.2181229,
        "T_0": 298.15,
        "F_0": 0.0,
        "P_0": 100000.0,
        "G_0": nan,
        "Gprime_0": nan,
        "T_einstein": 533.4002006018054,
    }
)

hem_nood = Mineral(
    {
        "name": "hem",
        "formula": {"Fe": 2.0, "O": 3.0},
        "equation_of_state": "hp_tmt",
        "H_0": -825420.0,
        "S_0": 87.4,
        "V_0": 3.027e-05,
        "Cp": [163.9, 0.0, -2257200.0, -657.6],
        "a_0": 2.79e-05,
        "K_0": 223000000000.0,
        "Kprime_0": 4.04,
        "Kdprime_0": -1.8e-11,
        "n": 5.0,
        "molar_mass": 0.1596882,
        "T_0": 298.15,
        "F_0": 0.0,
        "P_0": 100000.0,
        "G_0": nan,
        "Gprime_0": nan,
        "T_einstein": 444.6488294314381,
    }
)

herc_nood = Mineral(
    {
        "name": "herc",
        "formula": {"Al": 2.0, "Fe": 1.0, "O": 4.0},
        "equation_of_state": "hp_tmt",
        "H_0": -1949470.0,
        "S_0": 113.9,
        "V_0": 4.075e-05,
        "Cp": [184.9, 0.01417, -3674800.0, -404.0],
        "a_0": 2.06e-05,
        "K_0": 192200000000.0,
        "Kprime_0": 4.04,
        "Kdprime_0": -2.1e-11,
        "n": 7.0,
        "molar_mass": 0.1738056,
        "T_0": 298.15,
        "F_0": 0.0,
        "P_0": 100000.0,
        "G_0": nan,
        "Gprime_0": nan,
        "T_einstein": 468.310479305573,
    }
)

ilm_nood = Mineral(
    {
        "name": "ilm",
        "formula": {"Fe": 1.0, "O": 3.0, "Ti": 1.0},
        "equation_of_state": "hp_tmt",
        "H_0": -1232320.0,
        "S_0": 107.5,
        "V_0": 3.169e-05,
        "Cp": [138.9, 0.005081, -1288800.0, -463.7],
        "a_0": 2.4e-05,
        "K_0": 170000000000.0,
        "Kprime_0": 8.3,
        "Kdprime_0": -4.9e-11,
        "n": 5.0,
        "molar_mass": 0.1517102,
        "T_0": 298.15,
        "F_0": 0.0,
        "P_0": 100000.0,
        "G_0": nan,
        "Gprime_0": nan,
        "T_einstein": 380.67287043664993,
    }
)

sp_nood = Mineral(
    {
        "name": "sp",
        "formula": {"Al": 2.0, "Mg": 1.0, "O": 4.0},
        "equation_of_state": "hp_tmt",
        "H_0": -2300180.0,
        "S_0": 80.63,
        "V_0": 3.978e-05,
        "Cp": [200.5, 0.006252, -2996400.0, -888.4],
        "a_0": 1.93e-05,
        "K_0": 192200000000.0,
        "Kprime_0": 4.04,
        "Kdprime_0": -2.1e-11,
        "n": 7.0,
        "molar_mass": 0.1422656,
        "T_0": 298.15,
        "F_0": 0.0,
        "P_0": 100000.0,
        "G_0": nan,
        "Gprime_0": nan,
        "T_einstein": 592.252008591202,
    }
)


abhI = CombinedMineral(
    [HGP_2018_ds633.abh()],
    [1.0],
    [np.float64(570.0), np.float64(4.12), np.float64(0.0)],
    "abhI",
)
anC = CombinedMineral(
    [HGP_2018_ds633.an()],
    [1.0],
    [np.float64(7030.0), np.float64(4.66), np.float64(0.0)],
    "anC",
)
cfm = CombinedMineral(
    [HGP_2018_ds633.fa(), HGP_2018_ds633.fo()],
    [0.5, 0.5],
    [np.float64(0.0), np.float64(-0.0), np.float64(0.0)],
    "cfm",
)
anC = CombinedMineral(
    [HGP_2018_ds633.an()],
    [1.0],
    [np.float64(7030.0), np.float64(4.66), np.float64(0.0)],
    "anC",
)
knom = CombinedMineral(
    [HGP_2018_ds633.knor()],
    [1.0],
    [np.float64(18200.0), np.float64(-0.0), np.float64(0.0)],
    "knom",
)
tig = CombinedMineral(
    [
        HGP_2018_ds633.py(),
        HGP_2018_ds633.per(),
        HGP_2018_ds633.ru(),
        HGP_2018_ds633.cor(),
    ],
    [1.0, 0.5, 0.5, -0.5],
    [np.float64(46700.0), np.float64(17.3), np.float64(0.0)],
    "tig",
)
fm = CombinedMineral(
    [HGP_2018_ds633.en(), HGP_2018_ds633.fs()],
    [0.5, 0.5],
    [np.float64(-6600.0), np.float64(-0.0), np.float64(0.0)],
    "fm",
)
odi = CombinedMineral(
    [HGP_2018_ds633.di()],
    [1.0],
    [np.float64(2800.0), np.float64(-0.0), np.float64(5.0000000000000004e-08)],
    "odi",
)
cren = CombinedMineral(
    [HGP_2018_ds633.mgts(), HGP_2018_ds633.kos(), HGP_2018_ds633.jd()],
    [1.0, 1.0, -1.0],
    [np.float64(-25900.0), np.float64(-15.5), np.float64(5.000000000000001e-07)],
    "cren",
)
obuf = CombinedMineral(
    [
        HGP_2018_ds633.mgts(),
        HGP_2018_ds633.per(),
        HGP_2018_ds633.ru(),
        HGP_2018_ds633.cor(),
    ],
    [1.0, 0.5, 0.5, -0.5],
    [np.float64(-5000.0), np.float64(5.1000000000000005), np.float64(-6.1e-08)],
    "obuf",
)
mess = CombinedMineral(
    [HGP_2018_ds633.mgts(), HGP_2018_ds633.acm(), HGP_2018_ds633.jd()],
    [1.0, 1.0, -1.0],
    [np.float64(4800.0), np.float64(-0.0), np.float64(-8.900000000000001e-07)],
    "mess",
)
ojd = CombinedMineral(
    [HGP_2018_ds633.jd()],
    [1.0],
    [np.float64(18800.0), np.float64(-0.0), np.float64(0.0)],
    "ojd",
)
cfs = CombinedMineral(
    [HGP_2018_ds633.fs()],
    [1.0],
    [np.float64(2100.0), np.float64(2.0), np.float64(4.5000000000000003e-07)],
    "cfs",
)
crdi = CombinedMineral(
    [cats_nood, HGP_2018_ds633.kos(), HGP_2018_ds633.jd()],
    [1.0, 1.0, -1.0],
    [np.float64(-1100.0), np.float64(2.8815731608219894), np.float64(1e-07)],
    "crdi",
)
cess = CombinedMineral(
    [cats_nood, HGP_2018_ds633.acm(), HGP_2018_ds633.jd()],
    [1.0, 1.0, -1.0],
    [np.float64(350.0), np.float64(2.8815731608219894), np.float64(1e-07)],
    "cess",
)
cbuf = CombinedMineral(
    [cats_nood, HGP_2018_ds633.per(), HGP_2018_ds633.ru(), HGP_2018_ds633.cor()],
    [1.0, 0.5, 0.5, -0.5],
    [
        np.float64(-12400.0),
        np.float64(4.081573160821989),
        np.float64(4.999999999999999e-08),
    ],
    "cbuf",
)
cen = CombinedMineral(
    [HGP_2018_ds633.en()],
    [1.0],
    [np.float64(3500.0), np.float64(2.0), np.float64(4.800000000000001e-07)],
    "cen",
)
cfm = CombinedMineral(
    [HGP_2018_ds633.en(), HGP_2018_ds633.fs()],
    [0.5, 0.5],
    [np.float64(-1600.0), np.float64(2.0), np.float64(4.6500000000000005e-07)],
    "cfm",
)
kjd = CombinedMineral(
    [HGP_2018_ds633.jd(), HGP_2018_ds633.abh(), HGP_2018_ds633.san()],
    [1.0, -1.0, 1.0],
    [np.float64(11700.0), np.float64(-0.0), np.float64(6e-06)],
    "kjd",
)
nsp = CombinedMineral(
    [sp_nood], [1.0], [np.float64(0.0), np.float64(0.0), np.float64(0.0)], "nsp"
)
isp = CombinedMineral(
    [sp_nood], [1.0], [np.float64(23600.0), np.float64(5.76303), np.float64(0.0)], "isp"
)
nhc = CombinedMineral(
    [herc_nood], [1.0], [np.float64(0.0), np.float64(0.0), np.float64(0.0)], "nhc"
)
ihc = CombinedMineral(
    [herc_nood],
    [1.0],
    [np.float64(23600.0), np.float64(5.76303), np.float64(0.0)],
    "ihc",
)
nmt = CombinedMineral(
    [HGP_2018_ds633.mt()],
    [1.0],
    [np.float64(0.0), np.float64(-5.76303), np.float64(0.0)],
    "nmt",
)
imt = CombinedMineral(
    [HGP_2018_ds633.mt()],
    [1.0],
    [np.float64(300.0), np.float64(-0.0), np.float64(0.0)],
    "imt",
)
pcr = CombinedMineral(
    [HGP_2018_ds633.picr()],
    [1.0],
    [np.float64(0.0), np.float64(-0.0), np.float64(0.0)],
    "pcr",
)
qndm = CombinedMineral(
    [HGP_2018_ds633.qnd()],
    [1.0],
    [np.float64(-30000.0), np.float64(-0.0), np.float64(0.0)],
    "qndm",
)
oilm = CombinedMineral(
    [ilm_nood],
    [1.0],
    [
        np.float64(1444.0572257227777),
        np.float64(1.5923196732102785),
        np.float64(1.836386612201713e-07),
    ],
    "oilm",
)
dilm = CombinedMineral(
    [ilm_nood],
    [1.0],
    [
        np.float64(17044.35722572278),
        np.float64(13.118319673210278),
        np.float64(1.836386612201713e-07),
    ],
    "dilm",
)
dhem = CombinedMineral(
    [hem_nood],
    [1.0],
    [np.float64(9522.770803030953), np.float64(12.937668369038724), np.float64(0.0)],
    "dhem",
)


[docs] class pl4tr(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a pl4tr solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.ab(), "[Naa][Altb1/4Sitb3/4]"] * [HGP_2018_ds633.an(), "[Caa][Altb1/2Sitb1/2]"] * [HGP_2018_ds633.san(), "[Ka][Altb1/4Sitb3/4]"] This is implemented as an asymmetric solution. """ self.name = "pl4tr" self.solution_model = AsymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.ab(), "[Naa][Altb1/4Sitb3/4]"], [HGP_2018_ds633.an(), "[Caa][Altb1/2Sitb1/2]"], [HGP_2018_ds633.san(), "[Ka][Altb1/4Sitb3/4]"], ], alphas=[0.674, 0.55, 1.0], energy_interaction=[[14600.0, 24100.0], [48500.0]], entropy_interaction=[[0.00935, 0.00957], [-0.0]], volume_interaction=[ [-4.0000000000000003e-07, 3.3800000000000007e-06], [-1.3e-06], ], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class k4tr(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a k4tr solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.ab(), "[Naa][Altb1/4Sitb3/4]"] * [HGP_2018_ds633.an(), "[Caa][Altb1/2Sitb1/2]"] * [HGP_2018_ds633.san(), "[Ka][Altb1/4Sitb3/4]"] This is implemented as an asymmetric solution. """ self.name = "k4tr" self.solution_model = AsymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.ab(), "[Naa][Altb1/4Sitb3/4]"], [HGP_2018_ds633.an(), "[Caa][Altb1/2Sitb1/2]"], [HGP_2018_ds633.san(), "[Ka][Altb1/4Sitb3/4]"], ], alphas=[0.674, 0.55, 1.0], energy_interaction=[[14600.0, 24100.0], [48500.0]], entropy_interaction=[[0.00935, 0.00957], [-0.0]], volume_interaction=[ [-4.0000000000000003e-07, 3.3800000000000007e-06], [-1.3e-06], ], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class pli(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a pli solution object. Contains the following endmembers with associated site occupancies: * [abhI, "[Na]"] * [HGP_2018_ds633.an(), "[Ca]"] * [HGP_2018_ds633.san(), "[K]"] This is implemented as an asymmetric solution. """ self.name = "pli" self.solution_model = AsymmetricRegularSolution( endmembers=[ [abhI, "[Na]"], [HGP_2018_ds633.an(), "[Ca]"], [HGP_2018_ds633.san(), "[K]"], ], alphas=[0.643, 1.0, 1.0], energy_interaction=[[15000.0, 25100.0], [40000.0]], entropy_interaction=[[-0.0, 0.0108], [-0.0]], volume_interaction=[[0.0, 3.3800000000000007e-06], [0.0]], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class plc(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a plc solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.abh(), "[Na]"] * [anC, "[Ca]"] * [HGP_2018_ds633.san(), "[K]"] This is implemented as an asymmetric solution. """ self.name = "plc" self.solution_model = AsymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.abh(), "[Na]"], [anC, "[Ca]"], [HGP_2018_ds633.san(), "[K]"], ], alphas=[0.643, 1.0, 1.0], energy_interaction=[[3100.0, 25100.0], [40000.0]], entropy_interaction=[[-0.0, 0.0108], [-0.0]], volume_interaction=[[0.0, 3.3800000000000007e-06], [0.0]], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class ol(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a ol solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.mont(), "[Mgmone][Camtwo]"] * [HGP_2018_ds633.fa(), "[Femone][Femtwo]"] * [HGP_2018_ds633.fo(), "[Mgmone][Mgmtwo]"] * [cfm, "[Mgmone][Femtwo]"] This is implemented as a symmetric solution. """ self.name = "ol" self.solution_model = SymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.mont(), "[Mgmone][Camtwo]"], [HGP_2018_ds633.fa(), "[Femone][Femtwo]"], [HGP_2018_ds633.fo(), "[Mgmone][Mgmtwo]"], [cfm, "[Mgmone][Femtwo]"], ], energy_interaction=[ [24000.0, 38000.0, 24000.0], [9000.0, 4500.0], [4500.0], ], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class ksp(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a ksp solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.san(), "[K]"] * [HGP_2018_ds633.abh(), "[Na]"] * [anC, "[Ca]"] This is implemented as an asymmetric solution. """ self.name = "ksp" self.solution_model = AsymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.san(), "[K]"], [HGP_2018_ds633.abh(), "[Na]"], [anC, "[Ca]"], ], alphas=[1.0, 0.643, 1.0], energy_interaction=[[25100.0, 40000.0], [3100.0]], entropy_interaction=[[0.0108, -0.0], [-0.0]], volume_interaction=[[3.3800000000000007e-06, 0.0], [0.0]], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class g(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a g solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.py(), "[Mgmone]3[Almtwo]2"] * [HGP_2018_ds633.alm(), "[Femone]3[Almtwo]2"] * [HGP_2018_ds633.gr(), "[Camone]3[Almtwo]2"] * [HGP_2018_ds633.andr(), "[Camone]3[Fethreemtwo]2"] * [knom, "[Mgmone]3[Crmtwo]2"] * [tig, "[Mgmone]3[Almtwo1/2Mgmtwo1/4Timtwo1/4]2"] This is implemented as an asymmetric solution. """ self.name = "g" self.solution_model = AsymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.py(), "[Mgmone]3[Almtwo]2"], [HGP_2018_ds633.alm(), "[Femone]3[Almtwo]2"], [HGP_2018_ds633.gr(), "[Camone]3[Almtwo]2"], [HGP_2018_ds633.andr(), "[Camone]3[Fethreemtwo]2"], [knom, "[Mgmone]3[Crmtwo]2"], [tig, "[Mgmone]3[Almtwo1/2Mgmtwo1/4Timtwo1/4]2"], ], alphas=[1.0, 1.0, 2.5, 2.5, 1.0, 1.0], energy_interaction=[ [4000.0, 45400.0, 107000.0, 2000.0, 0.0], [17000.0, 65000.0, 6000.0, 0.0], [2000.0, 1000.0, 0.0], [63000.0, 0.0], [0.0], ], entropy_interaction=[ [-0.0, 0.01, 0.01, -0.0, -0.0], [0.01, 0.01, -0.0, -0.0], [-0.0, 0.01, -0.0], [0.01, -0.0], [-0.0], ], volume_interaction=[ [1.0000000000000002e-06, 4.0000000000000003e-07, -3.6e-07, 0.0, 0.0], [1.0000000000000002e-06, 3.9e-07, 1.0000000000000001e-07, 0.0], [0.0, 1.8000000000000001e-06, 0.0], [1.0000000000000002e-06, 0.0], [0.0], ], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class opx(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a opx solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.en(), "[Mgmone][Mgmtwo][Sit]1/2"] * [HGP_2018_ds633.fs(), "[Femone][Femtwo][Sit]1/2"] * [fm, "[Mgmone][Femtwo][Sit]1/2"] * [odi, "[Mgmone][Camtwo][Sit]1/2"] * [HGP_2018_ds633.mgts(), "[Almone][Mgmtwo][Sit1/2Alt1/2]1/2"] * [cren, "[Crmone][Mgmtwo][Sit1/2Alt1/2]1/2"] * [obuf, "[Mgmone1/2Timone1/2][Mgmtwo][Sit1/2Alt1/2]1/2"] * [mess, "[Fethreemone][Mgmtwo][Sit1/2Alt1/2]1/2"] * [ojd, "[Almone][Namtwo][Sit]1/2"] This is implemented as an asymmetric solution. """ self.name = "opx" self.solution_model = AsymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.en(), "[Mgmone][Mgmtwo][Sit]1/2"], [HGP_2018_ds633.fs(), "[Femone][Femtwo][Sit]1/2"], [fm, "[Mgmone][Femtwo][Sit]1/2"], [odi, "[Mgmone][Camtwo][Sit]1/2"], [HGP_2018_ds633.mgts(), "[Almone][Mgmtwo][Sit1/2Alt1/2]1/2"], [cren, "[Crmone][Mgmtwo][Sit1/2Alt1/2]1/2"], [obuf, "[Mgmone1/2Timone1/2][Mgmtwo][Sit1/2Alt1/2]1/2"], [mess, "[Fethreemone][Mgmtwo][Sit1/2Alt1/2]1/2"], [ojd, "[Almone][Namtwo][Sit]1/2"], ], alphas=[1.0, 1.0, 1.0, 1.2, 1.0, 1.0, 1.0, 1.0, 1.2], energy_interaction=[ [7000.0, 4000.0, 29400.0, 12500.0, 8000.0, 6000.0, 8000.0, 35000.0], [4000.0, 21500.0, 11000.0, 10000.0, 7000.0, 10000.0, 35000.0], [18000.0, 15000.0, 12000.0, 8000.0, 12000.0, 35000.0], [75500.0, 20000.0, 40000.0, 20000.0, 35000.0], [2000.0, 10000.0, 2000.0, 7000.0], [6000.0, 2000.0, -11000.0], [6000.0, 20000.0], [-11000.0], ], volume_interaction=[ [0.0, 0.0, 0.0, -4.0000000000000003e-07, 0.0, 0.0, 0.0, 0.0], [0.0, 8.000000000000001e-07, -1.5e-06, 0.0, 0.0, 0.0, 0.0], [8.000000000000001e-07, -1.5e-06, 0.0, 0.0, 0.0, 0.0], [-8.400000000000001e-06, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0], [0.0], ], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class cpx(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a cpx solution object. Contains the following endmembers with associated site occupancies: * [HGP_2018_ds633.di(), "[Mgmone][Camtwo][Sit]1/2"] * [cfs, "[Femone][Femtwo][Sit]1/2"] * [HGP_2018_ds633.cats(), "[Almone][Camtwo][Sit1/2Alt1/2]1/2"] * [crdi, "[Crmone][Camtwo][Sit1/2Alt1/2]1/2"] * [cess, "[Fethreemone][Camtwo][Sit1/2Alt1/2]1/2"] * [cbuf, "[Mgmone1/2Timone1/2][Camtwo][Sit1/2Alt1/2]1/2"] * [HGP_2018_ds633.jd(), "[Almone][Namtwo][Sit]1/2"] * [cen, "[Mgmone][Mgmtwo][Sit]1/2"] * [cfm, "[Mgmone][Femtwo][Sit]1/2"] * [kjd, "[Almone][Kmtwo][Sit]1/2"] This is implemented as an asymmetric solution. """ self.name = "cpx" self.solution_model = AsymmetricRegularSolution( endmembers=[ [HGP_2018_ds633.di(), "[Mgmone][Camtwo][Sit]1/2"], [cfs, "[Femone][Femtwo][Sit]1/2"], [HGP_2018_ds633.cats(), "[Almone][Camtwo][Sit1/2Alt1/2]1/2"], [crdi, "[Crmone][Camtwo][Sit1/2Alt1/2]1/2"], [cess, "[Fethreemone][Camtwo][Sit1/2Alt1/2]1/2"], [cbuf, "[Mgmone1/2Timone1/2][Camtwo][Sit1/2Alt1/2]1/2"], [HGP_2018_ds633.jd(), "[Almone][Namtwo][Sit]1/2"], [cen, "[Mgmone][Mgmtwo][Sit]1/2"], [cfm, "[Mgmone][Femtwo][Sit]1/2"], [kjd, "[Almone][Kmtwo][Sit]1/2"], ], alphas=[1.2, 1.0, 1.9, 1.9, 1.9, 1.9, 1.2, 1.0, 1.0, 1.2], energy_interaction=[ [ 25800.0, 13000.0, 8000.0, 8000.0, 8000.0, 26000.0, 29800.0, 20600.0, 26000.0, ], [25000.0, 38300.0, 43300.0, 24000.0, 24000.0, 2300.0, 3500.0, 24000.0], [2000.0, 2000.0, 6000.0, 6000.0, 45200.0, 27000.0, 6000.0], [2000.0, 6000.0, 3000.0, 52300.0, 40300.0, 3000.0], [6000.0, 3000.0, 57300.0, 45300.0, 3000.0], [16000.0, 24000.0, 22000.0, 16000.0], [40000.0, 40000.0, 28000.0], [4000.0, 40000.0], [40000.0], ], volume_interaction=[ [0.0, -6.000000000000001e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.0000000000000002e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, -3.5e-06, -1.0000000000000002e-06, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0], [0.0], ], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class spn(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a spn solution object. Contains the following endmembers with associated site occupancies: * [nsp, "[Mgt][Alm]"] * [isp, "[Alt][Mgm1/2Alm1/2]"] * [nhc, "[Fet][Alm]"] * [ihc, "[Alt][Fem1/2Alm1/2]"] * [nmt, "[Fet][Fethreem]"] * [imt, "[Fethreet][Fem1/2Fethreem1/2]"] * [pcr, "[Mgt][Crm]"] * [qndm, "[Mgt][Mgm1/2Tim1/2]"] This is implemented as a symmetric solution. """ self.name = "spn" self.solution_model = SymmetricRegularSolution( endmembers=[ [nsp, "[Mgt][Alm]"], [isp, "[Alt][Mgm1/2Alm1/2]"], [nhc, "[Fet][Alm]"], [ihc, "[Alt][Fem1/2Alm1/2]"], [nmt, "[Fet][Fethreem]"], [imt, "[Fethreet][Fem1/2Fethreem1/2]"], [pcr, "[Mgt][Crm]"], [qndm, "[Mgt][Mgm1/2Tim1/2]"], ], energy_interaction=[ [-8200.0, 3500.0, -13000.0, 43200.0, 49100.0, -5000.0, 22500.0], [4400.0, -6000.0, 36800.0, 20000.0, 14000.0, 21500.0], [-8200.0, 18100.0, 49000.0, -19000.0, 35100.0], [-4000.0, 7600.0, -11000.0, 9000.0], [18100.0, 11900.0, 62200.0], [-6400.0, 24300.0], [60000.0], ], ) Solution.__init__(self, molar_fractions=molar_fractions)
[docs] class ilm(Solution): def __init__(self, molar_fractions=None): """ Initialisation for a ilm solution object. Contains the following endmembers with associated site occupancies: * [oilm, "[Fetwoa][Tib]"] * [dilm, "[Fetwoa1/2Tia1/2][Fetwob1/2Tib1/2]"] * [dhem, "[Fethreea][Fethreeb]"] This is implemented as a symmetric solution. """ self.name = "ilm" self.solution_model = SymmetricRegularSolution( endmembers=[ [oilm, "[Fetwoa][Tib]"], [dilm, "[Fetwoa1/2Tia1/2][Fetwob1/2Tib1/2]"], [dhem, "[Fethreea][Fethreeb]"], ], energy_interaction=[[15600.0, 26600.0], [11000.0]], ) Solution.__init__(self, molar_fractions=molar_fractions)