In [1]:
SYSTEM = 'Al-Ni'
PHASE = 'FCC_L12'

In [2]:
import datetime
import time
import os
current_time = datetime.datetime.now()
print(current_time)
timestamp = str(time.mktime(current_time.timetuple()))
os.makedirs('output-results/{0}/{1}/'.format(PHASE, timestamp))


2015-11-30 16:30:44.685036

In [3]:
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
matplotlib.style.use('bmh')
from pycalphad.fitting import build_pymc_model, plot_results
from pycalphad import Database
import pymc
import numpy as np

In [4]:
import glob
input_database = Database(SYSTEM+'-start.tdb')
dataset_names = sorted(glob.glob('input-json/'+PHASE+'/*.json'))

FCCALNI0A = pymc.Normal('FCCALNI0A', mu=0, tau=1./100000**2)
FCCALNI0B = pymc.Normal('FCCALNI0B', mu=0, tau=1./100**2)
FCCALNI1A = pymc.Normal('FCCALNI1A', mu=0, tau=1./100000**2)
FCCALNI1B = pymc.Normal('FCCALNI1B', mu=0, tau=1./100**2)
FCCALNI2A = pymc.Normal('FCCALNI2A', mu=0, tau=1./100000**2)
FCCALNI2B = pymc.Normal('FCCALNI2B', mu=0, tau=1./100**2)
FCCALNI3A = pymc.Normal('FCCALNI3A', mu=0, tau=1./100000**2)
FCCALNI3B = pymc.Normal('FCCALNI3B', mu=0, tau=1./100**2)
FCCBMAGNNI = pymc.Gamma('FCCBMAGNNI', alpha=1, beta=1)
FCCTCALNI0 = pymc.Normal('FCCTCALNI0', mu=0, tau=1./2000**2)
FCCTCALNI1 = pymc.Normal('FCCTCALNI1', mu=0, tau=1./2000**2)
L12UALNI_A = pymc.Normal('L12UALNI_A', mu=0, tau=1./100000**2)
L12UALNI_B = pymc.Normal('L12UALNI_B', mu=0, tau=1./100**2)
params = [FCCALNI0A, FCCALNI0B, FCCALNI1A, FCCALNI1B,
          FCCALNI2A, FCCALNI2B, FCCALNI3A, FCCALNI3B,
          FCCBMAGNNI, FCCTCALNI0, FCCTCALNI1, L12UALNI_A, L12UALNI_B]
%time mod, datasets = build_pymc_model(input_database, dataset_names, params)


CPU times: user 2min 19s, sys: 366 ms, total: 2min 20s
Wall time: 2min 19s

Run MCMC Simulation


In [ ]:
MDL = pymc.MCMC(mod, db='hdf5', dbname='output-traces/'+SYSTEM+'-'+PHASE+'-'+timestamp+'.hdf5',
                dbcomplevel=4, dbcomplib='bzip2')

In [ ]:
%time MDL.sample(iter=20000, burn=15000, burn_till_tuned=False, thin=2, progress_bar=True)