Diffuse interface energy

I have done
(i) cluster expansion of a ternary system (A-B-C) i.e., I have all relevant ECIs. And,
(ii) I have also generated large relevant supercells (few thousand atoms) representative of microstructure of interest (say, AB and C). Specifically, supercells represent interface habits along {100}, {110} and {111} planes.

Having done these, how do I calculate (i) diffuse interface energy for above interfaces, and (ii) diffuse-ness of above interfaces.

Since this is the first question of its kind and such an example is not provided in ATAT manual, a detailed explanation is highly desirable i.e., which (input) file should be present in working directories(s) and so on. :slight_smile:

Since this is a ternary, the MC code to use is memc2 which needs as an input the following files:
clusters.out : describes the clusters (usually previously generated by mmaps)

  • eci.out : provides the ECI (usually previously generated by mmaps). Could be replaced by
  • teci.out if vibrational effects are to be included.
  • gs_str.out : a list of ground states (usually previously generated by mmaps).
  • lat.in : description of the lattice.
    lat.in is usually the same as was given to mmaps, except that, for efficiency reasons, the simulation cell must be "simple supercell" of the cell provided in lat.in
    For single-phase calculations (as for a phase diagram), you don’t need to worry about that - the code will "do the right thing". But for interfaces, you need to be careful to prevent the code from generating excessively large supercells to meet this requirement.
    For instance, if your primive cell is fcc:
3.1 3.1 3.1 90 90 90
0   0.5 0.5
0.5 0   0.5
0.5 0.5 0
0 0 0 A,B,C

and you want to study a (100) interface with a simulation cell that is a parallelipiped along the cartesian axes, you would need to use a non-primitive cell as the lat.in:

3.1 3.1 3.1 90 90 90
1 0 0
0 1 0
0 0 1
0   0   0   A,B,C
0   0.5 0.5 A,B,C
0.5 0   0.5 A,B,C
0.5 0.5 0   A,B,C
  • initstr.in : the initial configuration of your interface (this needs to be indicated on the command line -is=initstr.in ). For instance:
3.1 3.1 3.1 90 90 90
1 0 0
0 1 0
0 0 8
0   0   0   A
0   0.5 0.5 B
0.5 0   0.5 B
0.5 0.5 0   B
...
0   0   4   A
0   0.5 4.5 C
0.5 0   4.5 C
0.5 0.5 4   C
...

(for conciseness I have omitted most the 118*4=32 lines of configurations). You will likely need a bigger cell than this, even along x and y!

  • conccons.in : this file is optional for phase diagram calculations, but for interfaces, you need to impose one compositional constraint to stabilize the interface position, e.g., this write could be
    1.0B -1.0C = 0

  • control.in : sets the temperature and chemical potentials (the later are irrelevant under the composition constraint above), e.g.:

300 0 0 0
300 0 0 0 10
1000 0 0 0 8

this will go from 300K to 1000K in steps of 100K (with the -il option on). The second line is just a dummy grid so that you get 10 observation points per temperature.

Now, the command line:

memc2 -keV -is=initstr.in  -il -er=1 -eq=1000 -n=1000 -opss=snapshot0000.out

A few comments on the options
-keV : always put this for energies in eV and T in K
-is : the initial configuration of your interface
-il : (optional but convenient - see manual)
-er : here any small nonzero number will work, the cell size is determined by your initstr.in file
-eq and -n : need to increase and check convergence.
-opss : output periodic snapshots (at each new value of the grid specified by control.in ).

The above gives you the total energy as a function of temperature in mc.out .
To get the interfacial excess energy, you need to run for various supercell sizes, fit the energy versus cell length (perpendicular to the interface) with
a linear function and then extrapolate the energy to zero cell length. Remember there are TWO interfaces in your simulation.

To get the interfacial excess free energy, you need to use thermodynamic integration (more on this when you get there!).

A useful reference to cite when performing interfacial calculations is:

I have followed all the steps to calculate the interface energy. I want also to extract the interfacial excess free energy. Could you please claryfy further?

Thank you and best regards!

You then need to perform the MC simulations over a range of temperatures (0K to the temperature of interest). This gives you E_interf(T)You then use thermodynamic integration:
d(F_interf/T)/d(1/T) = E_interf .
As the initial condition, use the fact that F_interf=E_interf and that the interface is defect free at low temperatures.
See https://dx.doi.org/10.1016/j.actamat.2014.04.056 for an example.