Source code for burnman.calibrants.Zhao_2000

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

"""
Zhao_2000
^^^^^^^^^
"""

from burnman.classes.calibrant import Calibrant
import numpy as np


[docs] class Mo(Calibrant): """ The Mo pressure standard reported by Zhao et al. (2000; https://doi.org/10.1103/PhysRevB.62.8766). """ def __init__(self): def _pressure_Zhao_Mo(volume, temperature, params): # Modified BM3+Thermal (see Zhao et al. 1997) a0 = params["a0"] a1 = params["a1"] K0 = params["K_0"] Kprime0 = params["Kprime_0"] dK_dT = params["dK_dT"] dKprime_dT = params["dKprime_dT"] KT = (K0) + dK_dT * (temperature - params["T_0"]) KprimeT = Kprime0 + dKprime_dT * (temperature - params["T_0"]) V0T = params["V_0"] * np.exp( ((a0 * temperature) + (a1 * ((temperature**2.0) / 2.0))) - ((a0 * params["T_0"]) + (a1 * ((params["T_0"] ** 2.0) / 2.0))) ) V_V0T = volume / V0T f = 0.5 * ((V_V0T ** (-2.0 / 3.0)) - 1.0) P = (3.0 * KT * f * (1.0 + 2.0 * f) ** (5.0 / 2.0)) * ( 1.0 - 3.0 / 2.0 * (4.0 - KprimeT) * f ) return P _params_Zhao_Mo = { "V_0": 9.37647e-06, "K_0": 268.0e9, "Kprime_0": 3.82, "a0": 1.27e-5, "a1": 1.12e-8, "dK_dT": -0.0213e9, "dKprime_dT": -1.41e-2, "n": 1.0, "T_0": 300.0, "P_0": 0.0, "Z": 2.0, } Calibrant.__init__(self, _pressure_Zhao_Mo, "pressure", _params_Zhao_Mo)