# LAMMPS Stacking Fault Energy

## Contents |

## Abstract

This page is under construction!!!

This example shows how to run an atomistic simulation to generate the generalized stacking fault (GSF) energy curve for FCC metals. A parallel molecular dynamics code, LAMMPS[1], is used. Excel is used to plot the energy-displacement and Ovito[2] is used to visualize the simulation.

Author(s): Phillip M. Spear

Corresponding Author: Mark A. Tschopp

## Input

### Description of Simulation

The generalized stacking fault energy curve is obtained by rigidly displacing two halves of a crystal on a (111) plane along a <112> direction in that plane. As the displacement proceeds, the energy of the crystal changes as the atoms slip by each other. The potential used here is the Mishin et al. (1999) aluninum potential. This molecular dynamics simulation first generates a simulation cell with fcc atoms of orient [112] in the x, [-110] in the y, and [-1-11] in the z direction and a total of 6,995 atoms are created. The cell size will be 10 lattice units in the x and y directions and 40 lattice units in the z direction. Note that the units in the x and y direction are modified to reflect the different periodicit boundaries of the structure in the corresponding.The top half of the crystal is shifted in the xy plane along the x direction. With this scheme, the boundary conditions used are periodic, periodic and free surface in the x, y, and z directions, respectively. After the displacement in the x direction is made, the crystal is allowed to relax in the z direction and the energy is calculated and then dumped into the dump.comp.* file.

### LAMMPS input script for FCC

This input script was run using the December 21 2011 version of LAMMPS. Changes in some commands in more recent versions may require revision of the input script. To run this script, store it in "in.stack_fault.txt" and then use the "lmp_win_no-mpi.exe < in.stack_fault.txt" in a Windows environment where "lmp_win_no-mpi.exe" refers to the LAMMPS executable.

# Input file for Stack Fault Energy surface of Aluminum # Phillip Spear, 2012 # ------------------------ INITIALIZATION ---------------------- units metal dimension 3 boundary p p s atom_style atomic variable latparam1 equal 4.05 variable xdim equal ${latparam1}*sqrt(6)/2*10 variable ydim equal ${latparam1}*sqrt(2)/2*10 # ----------------------- ATOM DEFINITION ---------------------- lattice fcc ${latparam1} region 1 block 0 ${xdim} 0 ${ydim} 0 20 units box region 2 block 0 ${xdim} 0 ${ydim} 20 40 units box region whole block 0 ${xdim} 0 ${ydim} 0 162 units box create_box 1 whole lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1 create_atoms 1 region 1 lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1 create_atoms 1 region 2 # ----------------------- FORCE FIELDS ------------------------ pair_style eam/alloy pair_coeff * * Al99.eam.alloy Al # ------------------------- SETTINGS -------------------------- group top region 1 group bot region 2 ####################################### # Displacement displace_atoms bot move 0.0 0.0 0.0 units box compute peratom all pe/atom compute eatoms all reduce sum c_peratom # Dump to comp for Ovito post processing dump 1 all custom 1 dump.comp.* id type xs ys zs c_peratom fx fy fz thermo 1 thermo_style custom step pe c_eatoms #fix 1 all setforce 0 0 NULL min_style cg minimize 1e-10 1e-10 1 1 ###################################### # SIMULATION DONE print ${x} print "All done" |

## Output

### LAMMPS datafile

The following log file was generated during this simulation

LAMMPS (21 Dec 2011) # Input file for Stack Fault Energy surface of Aluminum # Phillip Spear, 2012 # ------------------------ INITIALIZATION --------------------- units metal dimension 3 boundary p p s atom_style atomic variable latparam1 equal 4.05 #variable xlattice equal ${latparam1}*sqrt(6)/2 #variable ylattice equal ${latparam1}*sqrt(2)/2 variable xdim equal ${latparam1}*sqrt(6)/2*10 variable xdim equal 4.05*sqrt(6)/2*10 variable ydim equal ${latparam1}*sqrt(2)/2*10 variable ydim equal 4.05*sqrt(2)/2*10 # ----------------------- ATOM DEFINITION --------------------- lattice fcc ${latparam1} lattice fcc 4.05 Lattice spacing in x,y,z = 4.05 4.05 4.05 region 1 block 0 ${xdim} 0 ${ydim} 0 20 region 1 block 0 49.60216729 0 ${ydim} 0 20 region 1 block 0 49.60216729 0 28.63782464 0 20 region 2 block 0 ${xdim} 0 ${ydim} 20 40 region 2 block 0 49.60216729 0 ${ydim} 20 40 region 2 block 0 49.60216729 0 28.63782464 20 40 region whole block 0 ${xdim} 0 ${ydim} 0 162 units box region whole block 0 49.60216729 0 ${ydim} 0 162 units box region whole block 0 49.60216729 0 28.63782464 0 162 units box create_box 1 whole Created orthogonal box = (0 0 0) to (49.6022 28.6378 162) 1 by 1 by 1 MPI processor grid lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1 lattice fcc 4.05 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1 Lattice spacing in x,y,z = 6.61362 5.72756 7.01481 create_atoms 1 region 1 Created 6959 atoms lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1 lattice fcc 4.05 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1 Lattice spacing in x,y,z = 6.61362 5.72756 7.01481 create_atoms 1 region 2 Created 6995 atoms # ----------------------- FORCE FIELDS ------------------------ pair_style eam/alloy pair_coeff * * Al99.eam.alloy Al # ------------------------- SETTINGS -------------------------- group top region 1 6959 atoms in group top group bot region 2 6995 atoms in group bot displace_atoms bot move -1.0 0.0 5.0 units box compute peratom all pe/atom compute eatoms all reduce sum c_peratom # Dump to comp for Ovito post processing dump 1 all custom 1 dump.comp.* id type xs ys zs c_peratom fx fy fz thermo 1 thermo_style custom step pe c_eatoms fix 1 all setforce 0 0 NULL min_style cg minimize 1e-10 1e-10 1 1 WARNING: Resetting reneighboring criteria during minimization (min.cpp:167) Memory usage per processor = 11.5713 Mbytes Step PotEng eatoms 0 -46556.082 -46556.082 1 -46556.501 -46556.501 Loop time of 1.44408 on 1 procs for 1 steps with 13954 atoms Minimization stats: Stopping criterion = max force evaluations Energy initial, next-to-last, final = -46556.0821773 -46556.0821773 -46556.5012397 Force two-norm initial, final = 2.1518 1.04566 Force max component initial, final = 0.375727 0.189924 Final line search alpha, max atom move = 0.133075 0.0252742 Iterations, force evaluations = 1 2 Pair time (%) = 0.322017 (22.2991) Neigh time (%) = 0 (0) Comm time (%) = 0.00200115 (0.138576) Outpt time (%) = 0 (0) Other time (%) = 1.12006 (77.5624) Nlocal: 13954 ave 13954 max 13954 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 15056 ave 15056 max 15056 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 941163 ave 941163 max 941163 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 941163 Ave neighs/atom = 67.4475 Neighbor list builds = 0 Dangerous builds = 0 ###################################### # SIMULATION DONE #print ${x} print "All done"All done |

## Post-Processing

### Stacking Fault Energy Curve

### Visualization

The simulation can be visualized in AtomEye. To do so, find the name of the first cfg file (Fe_110_sig3_224.cfg, in this case) that results from the simulation and type "~/A Fe_110_sig3_225.cfg" in a UNIX environment, where "~/A" is the location of the AtomEye file. Alt+0 will color the atoms according to pyy. Use insert and delete to scroll through the images to see the fracture.

## Go Back

## Acknowledgments

The authors would like to acknowledge funding for this work through the Department of Energy.