Single Phase Field Model with Isotropic Surface Energy
Single Phase Field Model with Isotropic Surface Energy
Seunghwa Ryu and Wei Cai
This tutorial describes the theory and numerical implementation of a basic 3D phase field model. The model has been implemented in both matlab and in MD++. We describe the algorithm of these codes and how to use them in detail. A brief introduction of the phase field model can e found in Chapter 11 of
Computer Simulations of Dislocations, V. V. Bulatov and W. Cai, Oxford University Press (2006).
Download files
The matlab program can be downloaded here. You can download and extract the matlab scripts into a directory of your choice and run the test cases by executing, e.g. pf3d_single_iso.m.
To run the MD++ test cases, first you need to install MD++ on your computer by following the instructions on MD++ Manuals.
Second, copy files ??? and ??? to your input file directory of MD++. You can do so by the following commands (assuming you have installed MD++ in ~/Codes/MD++).
export MDPP=~/Codes/MD++
mkdir -p ${MDPP}/scripts/work/phasefield
cd ${MDPP}/scripts/work/phasefield
wget http://micro.stanford.edu/mediawiki-1.11.0/images/phasefield.tcl.txt -O phasefield.tcl
Compile executable file
This step is only necessary for running MD++ test cases. In this tutorial, we describe how to run these examples on a linux computer (using mc2.stanford.edu as an example).
You can can compile the executable phasefield by typing
cd ${MDPP}
make phasefield build=R SYS=mc2
If compilation is successful, this will create binary file sworig_mc2 file in your ${MDPP}/bin directory. To compile MD++ on a different system, you should set variable SYS to a different value.
Theory
In this simple phase field model, the fundamental degree of freedom is a phase field, . The range of the value for is between 0 and 1. For example, we can think of the region where as the solid phase and the region where as the liquid phase. The region where transitions (rapidly) from 0 to 1 is then the liquid-solid interface.
A free energy functional is defined as the integral of the local free energy density ,
The system evolves in the direction that reduces the free energy. In the Ginzburg-Landau model, the phase field evolves with the following equation of motion that does not conserve the total amount of the solid phase (or liquid phase),
(GL) where is the variational derivative.
In the Cahn-Hillard model, the phase field eolves with the following equation of motion that conserve the total amount of the solid phase (or liquid phae),
(CH)
Note here that we have been treating as a function with two independent input variables, which take the values of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \nabla\phi} , respectively.
A stationary, planar interface (between liquid and solid) is described by the following solution that satisfies the boundary conditions: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(x=+\infty) = 1} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(x=-\infty) = 0} ,
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(x) = \frac{1}{2} [ 1 + \tanh(x/\xi) ] }
where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \xi = 2\sqrt{\varepsilon/U}}
is the interface width.
Note that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{x} = (x,y,z)} but the phase field in this solution is independent of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle z} , i.e. the interface is normal to the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x} axis.
The interface energy (per unit area) of this solution is
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sigma = \int_{-\infty}^{\infty} f(\phi,\nabla\phi) dx = \frac{1}{3} \sqrt{\varepsilon U} }
Algorithm
Represent phi by a three dimensional grid of size Nx x Ny x Nz.
How to compute variational derivative. Centered numerical difference.
How to constrain the total amount of solid phase within the Ginzburg-Landau equation. Subtract off average forces, equivalent to using a Lagrangian multiplier, or adjusting the chemical potential of the solid phase.