%matplotlib inline
# %matplotlib notebook # for interactive
For high dpi displays.
%config InlineBackend.figure_format = 'retina'
This example compares pressure calculated from pytheos
and original publication for the gold scale by Yokoo 2009.
import matplotlib.pyplot as plt
import numpy as np
from uncertainties import unumpy as unp
import pytheos as eos
eta = np.linspace(1., 0.60, 21)
print(eta)
yokoo_au = eos.gold.Yokoo2009()
yokoo_au.print_equations()
yokoo_au.print_equations()
yokoo_au.print_parameters()
v0 = 67.84742110765599
yokoo_au.three_r
v = v0 * (eta)
temp = 3000.
p = yokoo_au.cal_p(v, temp * np.ones_like(v))
print('for T = ', temp)
for eta_i, p_i in zip(eta, p):
print("{0: .3f} {1: .2f}".format(eta_i, p_i))
v = yokoo_au.cal_v(p, temp * np.ones_like(p), min_strain=0.6)
print(1.-(v/v0))
I cannot quite reproduce the table values. The mismatch is about 3 GPa at 3000 K and 380 GPa.
This means his parameters may have been rounded.
Therefore, I readjusted the eos parameters from Yokoo to match their table values better. Users have a choice if they use the table values or the parameter values. If reproduce_table
sets to True
, the difference reduces to 0.1 GPa.
yokoo_au = eos.gold.Yokoo2009(reproduce_table=True)
p = yokoo_au.cal_p(v, temp * np.ones_like(v))