In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
from pycalphad import equilibrium
from pycalphad import Database, Model
import pycalphad.variables as v

In [2]:
dbf = Database('craldad_for_pandat.TDB')
phases = ['LIQUID', 'L12_FCC', 'BCC_B2', 'HCP_A3']
%time eq = equilibrium(dbf, ['AL', 'CO', 'NI', 'CR', 'VA'] , phases,\
                       {v.X('AL'): 0.20, v.X('CO'): 0.2, v.X('CR'): 0.2, v.T: 1373, v.P: 101325})
print(eq)


Components: AL CO CR NI VA
Phases: BCC_B2 HCP_A3 L12_FCC LIQUID [done]
Computing initial grid [4524 points, 742.1KB]
Computing convex hull [iteration 1]
progress 157375.713982 [1 conditions updated]
Refining convex hull
N-R convergence on mini-iteration 4 [BCC_B2]
N-R convergence on mini-iteration 4 [HCP_A3]
N-R convergence on mini-iteration 3 [L12_FCC]
N-R convergence on mini-iteration 2 [LIQUID]
Rebuilding grid [4540 points, 744.7KB]
Computing convex hull [iteration 2]
progress 3132.10946059 [1 conditions updated]
Refining convex hull
N-R convergence on mini-iteration 0 [BCC_B2]
N-R convergence on mini-iteration 1 [HCP_A3]
N-R convergence on mini-iteration 1 [L12_FCC]
N-R convergence on mini-iteration 1 [LIQUID]
Rebuilding grid [4556 points, 747.3KB]
Computing convex hull [iteration 3]
progress 2169.34747008 [1 conditions updated]
Refining convex hull
N-R convergence on mini-iteration 0 [BCC_B2]
N-R convergence on mini-iteration 1 [HCP_A3]
N-R convergence on mini-iteration 1 [L12_FCC]
N-R convergence on mini-iteration 1 [LIQUID]
Rebuilding grid [4572 points, 749.9KB]
Computing convex hull [iteration 4]
progress 1113.76824576 [1 conditions updated]
Refining convex hull
N-R convergence on mini-iteration 0 [BCC_B2]
N-R convergence on mini-iteration 1 [HCP_A3]
N-R convergence on mini-iteration 1 [L12_FCC]
N-R convergence on mini-iteration 1 [LIQUID]
Rebuilding grid [4588 points, 752.6KB]
Computing convex hull [iteration 5]
progress 542.637656309 [0 conditions updated]
Global search complete
Refining equilibrium
Chem pot progress 0.0
Energy progress 243.119468193
No progress
CPU times: user 11min 5s, sys: 11.9 s, total: 11min 17s
Wall time: 13min 30s
<xarray.Dataset>
Dimensions:       (P: 1, T: 1, X_AL: 1, X_CO: 1, X_CR: 1, component: 4, internal_dof: 11, vertex: 4)
Coordinates:
  * P             (P) float64 1.013e+05
  * T             (T) float64 1.373e+03
  * X_AL          (X_AL) float64 0.2
  * X_CO          (X_CO) float64 0.2
  * X_CR          (X_CR) float64 0.2
  * vertex        (vertex) int64 0 1 2 3
  * component     (component) object 'AL' 'CO' 'CR' 'NI'
  * internal_dof  (internal_dof) int64 0 1 2 3 4 5 6 7 8 9 10
Data variables:
    GM            (P, T, X_AL, X_CO, X_CR) float64 -9.972e+04
    NP            (P, T, X_AL, X_CO, X_CR, vertex) float64 0.711 0.2797 ...
    MU            (P, T, X_AL, X_CO, X_CR, component) float64 -1.542e+05 ...
    X             (P, T, X_AL, X_CO, X_CR, vertex, component) float64 0.1729 ...
    Y             (P, T, X_AL, X_CO, X_CR, vertex, internal_dof) float64 0.1729 ...
    Phase         (P, T, X_AL, X_CO, X_CR, vertex) object 'L12_FCC' 'BCC_B2' ...
Attributes:
    hull_iterations: 5
    solve_iterations: 1
    created: 2016-02-09 19:55:19.306799
    engine: pycalphad 0.2.5+38.g143f2db.dirty

In [3]:
print(eq.GM)
print(eq.X)
print(eq.Y)
print(eq.Phase)
print(eq.MU)
print(eq.NP)


<xarray.DataArray 'GM' (P: 1, T: 1, X_AL: 1, X_CO: 1, X_CR: 1)>
array([[[[[-99718.37974555]]]]])
Coordinates:
  * P        (P) float64 1.013e+05
  * T        (T) float64 1.373e+03
  * X_AL     (X_AL) float64 0.2
  * X_CO     (X_CO) float64 0.2
  * X_CR     (X_CR) float64 0.2
<xarray.DataArray 'X' (P: 1, T: 1, X_AL: 1, X_CO: 1, X_CR: 1, vertex: 4, component: 4)>
array([[[[[[[  1.72933019e-01,   1.82286085e-01,   2.07661172e-01,
               4.37119724e-01],
            [  2.54676656e-01,   2.35896167e-01,   2.10020758e-01,
               2.99406419e-01],
            [  5.00000059e-01,   1.22671835e-08,   9.42568851e-09,
               4.99999919e-01],
            [             nan,              nan,              nan,
                          nan]]]]]]])
Coordinates:
  * P          (P) float64 1.013e+05
  * T          (T) float64 1.373e+03
  * X_AL       (X_AL) float64 0.2
  * X_CO       (X_CO) float64 0.2
  * X_CR       (X_CR) float64 0.2
  * vertex     (vertex) int64 0 1 2 3
  * component  (component) object 'AL' 'CO' 'CR' 'NI'
<xarray.DataArray 'Y' (P: 1, T: 1, X_AL: 1, X_CO: 1, X_CR: 1, vertex: 4, internal_dof: 11)>
array([[[[[[[  1.72933019e-01,   1.82286085e-01,   2.07661172e-01,
               4.37119724e-01,   1.72933019e-01,   1.82286085e-01,
               2.07661172e-01,   4.37119724e-01,   1.00000000e+00,
                          nan,              nan],
            [  2.18906760e-02,   3.41108816e-01,   1.44613869e-01,
               4.92385959e-01,   6.80831974e-07,   4.87462461e-01,
               1.30683356e-01,   2.75427501e-01,   1.06426672e-01,
               9.79103721e-09,   1.00000000e+00],
            [  2.24298273e-09,   1.16650004e-08,   6.48630181e-09,
               9.99999670e-01,   3.09153000e-07,   9.99999961e-01,
               1.28693629e-08,   1.23650723e-08,   1.38068975e-08,
               3.07994506e-12,   1.00000000e+00],
            [             nan,              nan,              nan,
                          nan,              nan,              nan,
                          nan,              nan,              nan,
                          nan,              nan]]]]]]])
Coordinates:
  * P             (P) float64 1.013e+05
  * T             (T) float64 1.373e+03
  * X_AL          (X_AL) float64 0.2
  * X_CO          (X_CO) float64 0.2
  * X_CR          (X_CR) float64 0.2
  * vertex        (vertex) int64 0 1 2 3
  * internal_dof  (internal_dof) int64 0 1 2 3 4 5 6 7 8 9 10
<xarray.DataArray 'Phase' (P: 1, T: 1, X_AL: 1, X_CO: 1, X_CR: 1, vertex: 4)>
array([[[[[['L12_FCC', 'BCC_B2', 'BCC_B2', '']]]]]], dtype=object)
Coordinates:
  * P        (P) float64 1.013e+05
  * T        (T) float64 1.373e+03
  * X_AL     (X_AL) float64 0.2
  * X_CO     (X_CO) float64 0.2
  * X_CR     (X_CR) float64 0.2
  * vertex   (vertex) int64 0 1 2 3
<xarray.DataArray 'MU' (P: 1, T: 1, X_AL: 1, X_CO: 1, X_CR: 1, component: 4)>
array([[[[[[-154178.41917463,  -92774.07801646,  -65904.16677837,
             -93475.41604963]]]]]])
Coordinates:
  * P          (P) float64 1.013e+05
  * T          (T) float64 1.373e+03
  * X_AL       (X_AL) float64 0.2
  * X_CO       (X_CO) float64 0.2
  * X_CR       (X_CR) float64 0.2
  * component  (component) object 'AL' 'CO' 'CR' 'NI'
<xarray.DataArray 'NP' (P: 1, T: 1, X_AL: 1, X_CO: 1, X_CR: 1, vertex: 4)>
array([[[[[[ 0.71100819,  0.27966724,  0.00932457,         nan]]]]]])
Coordinates:
  * P        (P) float64 1.013e+05
  * T        (T) float64 1.373e+03
  * X_AL     (X_AL) float64 0.2
  * X_CO     (X_CO) float64 0.2
  * X_CR     (X_CR) float64 0.2
  * vertex   (vertex) int64 0 1 2 3

In [ ]: