Skip to content
Phase field model for precipitate aging in ternary analogues to Ni-based superalloys
Python C++ Cuda C Makefile Shell
Branch: master
Clone or download

Phase field precipitate aging model

Phase field model for precipitate aging in ternary analogues to Ni-based superalloys. Please cite using the following DOI:


Table of Contents


This repository contains a phase-field model for solid-state transformations in Inconel 625 based on Zhou et al., which involves a ternary generalization of the binary KKS model.

To capture δ and λ intermetallic precipitates in a γ matrix, I have chosen the ternary Cr-Nb-Ni system. The three-phase three-component model is represented using two composition fields (Cr and Nb) and two phase fields (δ and λ). There is one dependent composition (Ni) and one dependent phase (γ). Based on ASTM F3056, combining Cr with Mo under the assumption that their influences on the alloy are similar, this codebase considers system compositions between (Ni--0.0202 Nb--0.2794 Cr) and (Ni--0.0269 Nb--0.3288 Cr), expressed as molar fractions. Based on DICTRA simulations, this work considers enrichment of interdendritic regions to compositions between (Ni--0.1659 Nb--0.2473 Cr) and (Ni--0.1726 Nb--0.2967 Cr).

Free energies for each constituent phase are computed using a CALPHAD database, simplified from Du et al. to enable one-to-one mapping of sublattice compositions to system compositions. This modified database is provided. The CALPHAD expressions are further simplified using 2nd-order Taylor series (paraboloid) approximations.

Further details are provided in src/README and thermo/README.


This repository contains Python code to handle the CALPHAD database and C++ code to perform the phase-field simulation. A Python 3 interpreter and C++11 compiler are recommended. You will need to satisfy the following dependencies:

After downloading MMSP, please set the environmental variable MMSP_PATH to its location. If you are using bash, do something similar to

$ echo "MMSP_PATH=~/Downloads/mmsp" >> ~/.bashrc
$ . ~/.bashrc

You will also want to build the MMSP utilities, as described in the MMSP documentation.


  1. make. This will compile the source code into a binary, src/alloy625.
  2. Run the code. Since your executable is built against MMSP.main.hpp, the options of that program apply to your binary. For usage suggestions, run ./alloy625 --help. A typical MMSP run comprises two steps: initialization and update loops. So you would normally do:
    • ./alloy625 --example 2 data.dat
    • ./alloy625 data.dat 10000000 1000000
    • mmsp2pvd data.dat data.*.dat to generate VTK visualization files, then use a VTK viewer such as ParaView or Mayavi to see the results.
  3. Remix, run, and analyze your own variants.


Pull requests are welcome! Comments are also appreciated via issues and e-mail.


ASTM F3056

"Standard Specification for Additive Manufacturing Nickel Alloy (UNS N06625) with Powder Bed Fusion." URL:

Du 2005

Du, Y.; Liu, S.; Chang, Y. and Yang, Y. "A thermodynamic modeling of the Cr–Nb–Ni system." Calphad 29 (2005) 140–148. DOI: 10.1016/j.calphad.2005.06.001.

Jokisaari 2016

Jokisaari, A.M.; Permann, C.; Thornton, K. "A nucleation algorithm for the coupled conserved-nonconserved phase field model." Computational Materials Science 112 (2016) 128–138. DOI: 10.1016/j.commatsci.2015.10.009.

Karunaratne 2005

Karunaratne, M. S. A. and Reed, R. C. "Interdiffusion of Niobium and Molybdenum in Nickel between 900 - 1300°C." Defect and Diffusion Forum 237-240 (2005) 420–425. DOI: 10.4028/

Kim 1999

Kim, S. G.; Kim, W. T. and Suzuki, T. "Phase-field model for binary alloys." Physical Review E 60 (1999) 7186–7197. DOI: 10.1103/PhysRevE.60.7186.

Keller 2018

Keller, T.; Lindwall, G.; Ghosh, S.; Ma, L.; Lane, B.; Zhang, F.; Kattner, U.; Lass, E.; Heigel, J.; Idell, Y.; Williams, M.; Allen, A.; Guyer, J.; and Levine, L. "Application of finite element, phase-field, and CALPHAD-based methods to additive manufacturing of Ni-based superalloys." Acta Materialia 139 (2018) 244-253. DOI: 10.1016/j.actamat.2017.05.003.

Provatas 2010

Provatas, N. and Elder, K. Phase-Field Methods in Materials Science and Engineering. Wiley-VCH: Weinheim, 2010. ISBN: 978-3-527-40747-7.

Simmons 2000

Simmons, J.P. and Shen, C. and Wang, Y. "Phase Field Modeling of Simultaneous Nucleation and Growth by Explicitly Incorporating Nucleation Events." Scripta Materialia 43 (2000) 935–942. DOI: 10.1016/S1359-6462(00)00517-0.

Xu 2016

Xu, G.; Liu, Y. and Kang, Z. "Atomic Mobilities and Interdiffusivities for fcc Ni-Cr-Nb Alloys." Metallurgical Transactions B 47B (2016) 3126–3131. DOI: 10.1007/s11663-016-0726-6.

Zhou 2014

Zhou, N.; Lv, D.; Zhang, H.; McAllister, D.; Zhang, F.; Mills, M. and Wang, Y. "Computer simulation of phase transformation and plastic deformation in IN718 superalloy: Microstructural evolution during precipitation." Acta Materialia 65 (2014) 270–286. DOI: 10.1016/j.actamat.2013.10.069.



The source files (.py, .hpp, and .cpp) in this repository were written by an employee of the United States federal government in the course of their employment, and are therefore not subject to copyright. They are public domain. However, the Mesoscale Microstructure Simulation Project (MMSP) is subject to the General Public License v3.0, and this software #includes major aspects of that work. Therefore, if you are not an employee of the US government, your derivative works will likely be subject to the terms and conditions of GPLv3.

You can’t perform that action at this time.