LAMMPS Stacking Fault Energy

From EVOCD
(Difference between revisions)
Jump to: navigation, search
(LAMMPS input script for FCC)
(LAMMPS datafile)
Line 83: Line 83:
 
=== LAMMPS datafile ===
 
=== LAMMPS datafile ===
  
The following dumpfile in .comp format was also generated during this simulation
+
The following log file was generated during this simulation
 +
 
 +
{|border  ="0"
 +
|<pre>
 +
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
 +
</pre>
 +
|}
  
 
== Post-Processing ==
 
== Post-Processing ==

Revision as of 15:43, 26 July 2012

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.

References

Personal tools
Namespaces

Variants
Actions
home
Materials
Material Models
Design
Resources
Projects
Education
Toolbox