In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from pycalphad import Database, equilibrium
import pycalphad.variables as v
db = Database('Fe-C_Fei_Brosh_2014_09.TDB')
In [2]:
%time data = equilibrium(db, ['FE', 'C', 'VA'], 'FCC_A1', {v.X('C'): 1e-6, v.T: 600, v.P: np.logspace(5, 10, num=10)})
In [3]:
data
Out[3]:
In [4]:
fig = plt.gca()
fig.plot(data['P'], np.exp(data['MU'].sel(T=600, X_C=1e-6, component='C')/(8.3145*600)))
fig.set_title('Equilibrium for X(C)=1e-6 and T=600 K', fontsize=15)
fig.set_xlabel('P (Pa)', fontsize=15)
fig.set_ylabel('Carbon Activity', fontsize=15)
fig.set_yscale('log')
fig.set_xscale('log')
In [5]:
from_tc = np.array([
[1.00000E+05, 2.87082E-04],
[2.50098E+08, 3.43702E-04],
[5.00095E+08, 4.11376E-04],
[7.50092E+08, 4.92240E-04],
[1.00009E+09, 5.88842E-04],
[1.25009E+09, 7.04217E-04],
[1.50008E+09, 8.41978E-04],
[1.75008E+09, 1.00643E-03],
[2.00008E+09, 1.20270E-03],
[2.25008E+09, 1.43688E-03],
[2.50008E+09, 1.71624E-03],
[2.75007E+09, 2.04941E-03],
[3.00007E+09, 2.44668E-03],
[3.25007E+09, 2.92025E-03],
[3.50006E+09, 3.48467E-03],
[3.75006E+09, 4.15723E-03],
[4.00006E+09, 4.95845E-03],
[4.25006E+09, 5.91275E-03],
[4.50006E+09, 7.04914E-03],
[4.75005E+09, 8.40209E-03],
[5.00005E+09, 1.00125E-02],
[5.25005E+09, 1.19290E-02],
[5.50004E+09, 1.42094E-02],
[5.75004E+09, 1.69221E-02],
[6.00004E+09, 2.01484E-02],
[6.25004E+09, 2.39849E-02],
[6.50004E+09, 2.85461E-02],
[6.75003E+09, 3.39678E-02],
[7.00003E+09, 4.04112E-02],
[7.25003E+09, 4.80674E-02],
[7.50002E+09, 5.71628E-02],
[7.75002E+09, 6.79661E-02],
[8.00002E+09, 8.07956E-02],
[8.25002E+09, 9.60286E-02],
[8.50002E+09, 1.14112E-01],
[8.75001E+09, 1.35576E-01],
[9.00001E+09, 1.61047E-01],
[9.25001E+09, 1.91268E-01],
[9.50000E+09, 2.27120E-01],
[9.75000E+09, 2.69643E-01],
[1.00000E+10, 3.20071E-01]
])
fig = plt.gca()
fig.plot(from_tc[:, 0], from_tc[:, 1])
fig.set_title('Equilibrium for X(C)=1e-6 and T=600 K', fontsize=15)
fig.set_xlabel('P (Pa)', fontsize=15)
fig.set_ylabel('Carbon Activity', fontsize=15)
fig.set_yscale('log')
fig.set_xscale('log')
In [ ]: