LAMMPS Extrinsic Stacking-Fault Energy

From EVOCD
(Difference between revisions)
Jump to: navigation, search
(Replaced content with "'''Coming Soon!'''")
 
Line 1: Line 1:
== Questions / Comments ==
+
'''Coming Soon!'''
 
+
Please contact me if you have any questions or comments about this tutorial.
+
 
+
Email: Mark Tschopp, [mailto:mark.tschopp@gatech.edu mark.tschopp@gatech.edu]
+
 
+
== Abstract ==
+
 
+
This tutorial demonstrates how to create an extrinsic stacking-fault in FCC metals, taking Cu as an example, and how to estimate its energy (SFE) using molecular dynamics (MD). The stacking fault is created using two different processes. The first process is the shearing of the crystal on {111} slip plane along the <112> direction, as in the actual deformation process in metals. In the second, the stacking fault is created through the thought process whereby a layer one atom thick parallel to {111} plane is removed and the material put back together. LAMMPS is used to perform MD calculations while OVITO, visualization software for atomic structures is used to visualize the stacking fault using the energy per atom and centro-symmetry parameters generated by LAMMPS.
+
 
+
Author(s): Dennis Williams, Richard Glaze IV, [http://tuskegee.edu/academics/colleges/ceps/mechanical_engineering/faculty_and_staff/akasheh_firas.aspx Firas Akasheh*], [https://sites.google.com/site/drmarktschopp/ Mark A. Tschopp**] 
+
 
+
Advisor(s): [http://tuskegee.edu/academics/colleges/ceps/mechanical_engineering/faculty_and_staff/akasheh_firas.aspx Firas Akasheh*],  [https://sites.google.com/site/drmarktschopp/ Mark A. Tschopp]
+
 
+
(*) Mechanical Engineering Department, Tuskegee University, Tuskegee, AL 36088
+
 
+
(**) U.S. Army Research Laboratory
+
 
+
== Introduction ==
+
 
+
In general, metals have crystalline structures having long-range order consisting of a repetitive unit cell. Nevertheless, crystalline materials are never perfect and normally have defects. This tutorial focuses on a planar defect which is one of the three types of crystallographic defects: line and point. In this tutorial, the focus will be on the planar defect called extrinsic stacking fault. Defects form when the regular patterns are interrupted. Extrinsic stacking faults are interstitial agglomerate of atoms occupying a plane which does not imitate a systems original sequence such as ABCABCABC… and rather ABCACBCABC… It is as if one closed plane, C in this case, has been inserted, disrupting the otherwise perfect stacking. Such straying from perfect order increases the energy of the material. The stacking-fault energy (SFE) quantifies this additional energy and is measured in terms of energy per unit area of the stacking fault.  The SFE has a significant effect on the deformation behavior of metals. Metals with low stacking fault energy tend to have more twinning, more extended (partial) dislocations which have less mobility and less inclination to cross slip. This affects ductility, climb, hardening, and texture development during deformation. Also, stacking faults provide a strong barrier to dislocation motion which becomes more notable in nanoscale metallic structures.
+
=== Description of Simulation ===
+
 
+
Slips planes occur on the plane (111) in FCC crystals. So first LAMMPS generates a FCC copper (Cu) cell with a 44.2745 x 25.5619 x 62.6263 dimension and a xyz orientation [112], [-110], and [-1-11] respectively with a total of 6200 atoms created. The boundaries of the cell structure are periodic in the x and y and free surface in the z direction.  The input script file is written to simulate the insertion of a plane of atoms and calculate the extrinsic stacking fault energy <math>E_s</math>. First the initial cohesive energy <math>E_c</math> of the relaxed cell structure is calculated; then the top region will be shift to the right while the bottom to the left to simulate the extrinsic stacking fault and disruption of the sequence; the potential energy of that system is calculated, then the cohesive energy of the extrinsic stacking fault model <math>E_s</math> is calculated. After both values are obtained the extrinsic stacking fault energy <math>E_s</math> can be calculated using this equation. <math>Y</math> will then be the extra energy gained by having created the extrinsic stacking-fault.
+
 
+
                                                      <math>Y=(N*(E_s-E_c))/A</math>,
+
 
+
== Input ==
+
=== LAMMPS input script for FCC ===
+
 
+
This input script was run using the July 1 2014 version of LAMMPS. The input script files were created and named sCu_ext.txt and iCu_ext.txt.  sCu_ext.txt represents the file where the atoms are only slid. iCu_ext.txt represents the file where the atoms are separated and a layer of atoms is manually inserted in the gap. To run this script the alloy file, LAMMPS executable file, and script file must all be in the same destination folder. Open the command prompt and run the "lmp_win_no-mpi.exe < sCu_ext.txt" or “lmp_win_no-mpi.exe<iCu_ext.txt”  and "lmp_win_no-mpi.exe" refers to the LAMMPS executable.
+
 
+
'''''Input for sCu_ext.txt'''''
+
{|border  ="0"
+
|<pre>
+
# Input file for Stack Fault Energy surface of Copper
+
# Dennis Williams and Richard Glaze IV, 2014
+
# --------------- INITIALIZATION ------------------
+
units metal
+
dimension 3
+
boundary p p s 
+
atom_style atomic
+
variable latparam1 equal 3.615
+
variable x_displace1 equal ${latparam1}/sqrt(6)
+
variable x_displace2 equal -${latparam1}/sqrt(6)
+
variable xdim equal ${latparam1}*sqrt(6)/2*10
+
variable ydim equal ${latparam1}*sqrt(2)/2*10
+
 
+
# ------------------ ATOM DEFINITION -------------------
+
lattice          fcc ${latparam1}
+
region 1 block -.001 ${xdim} -.001 ${ydim} -.001 28.875194 units box
+
region          2 block -.001 ${xdim} -.001 ${ydim} 28.875194 30.68269 units box
+
region          3 block -.001 ${xdim} -.001 ${ydim} 30.68269 63.17288 units box
+
region          whole block 0 ${xdim} 0 ${ydim} 0 63.17288 units box
+
 
+
create_box 3 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 2 region 2
+
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
create_atoms    3 region 3
+
+
# ------------------------ FORCE FIELDS -----------------------
+
pair_style eam/alloy
+
pair_coeff * * FeCuNi.eam.alloy Cu Cu Cu
+
#---------------------------Settings----------------------------
+
compute csym all centro/atom fcc
+
compute peratom all pe/atom
+
compute eatoms all reduce sum c_peratom
+
 
+
thermo 1
+
thermo_style custom step pe c_eatoms
+
dump 1 all custom 1 dump.relax.1.* id type xs ys zs c_peratom c_csym
+
run 0
+
 
+
#this command creates a model of the script before the displacement and minimization occur
+
 
+
variable E equal "c_eatoms"
+
variable Eo equal $E
+
 
+
#variable E equal "c_eatoms" computes the initial energy of the model before any sliding is done
+
#E is necessary to store the initial energy in Eo
+
 
+
 
+
group bot region 1
+
group mid region 2
+
group top region 3
+
 
+
 
+
displace_atoms bot move  ${x_displace1} 0.0 0.0 units box
+
displace_atoms top move  ${x_displace2} 0.0 0.0 units box
+
 
+
#displace_atoms command will displace the top layer in the positive x-direction and the bottom layer in the negative x-direction thus creating an extrinsic stacking-fault.
+
 
+
fix 1 all setforce 0 0 NULL
+
 
+
min_style cg
+
minimize 1e-10 1e-10 1000 1000
+
 
+
variable Ef equal "c_eatoms"
+
variable Cf equal 1.60217657e-16
+
variable A equal (${xdim}*${ydim})*1e-20
+
variable SFE equal ((${Ef}-${Eo})*${Cf})/${A}
+
 
+
#variable Ef equal "c_eatoms" computes the final energy of the system after sliding is done
+
#variable A is the area of the Stacking fault plane
+
#variable Cf is the conversion factor of electro volts to millijoules
+
#variable SFE is the stacking-fault energy of the system
+
 
+
#---------------------------------------
+
 
+
####################################
+
# SIMULATION DONE
+
print "All done"
+
print "Initial energy of atoms = ${Eo} eV"
+
print "Final energy of atoms = ${Ef} eV"
+
print "Stacking-fault energy = ${SFE} mJ/m^2"
+
</pre>
+
|}
+
 
+
'''''Input for iCu_ext.txt'''''
+
{|border  ="0"
+
|<pre>
+
# Input file for Stack Fault Energy surface of Copper
+
# Dennis Williams and Richard Glaze IV, 2014
+
# --------------- INITIALIZATION ------------------
+
units metal
+
dimension 3
+
boundary p p s 
+
atom_style atomic
+
variable latparam1 equal 3.615
+
variable z_displace equal 2.08712
+
variable x_displace equal ${latparam1}/sqrt(6)
+
variable xdim equal ${latparam1}*sqrt(6)/2*10
+
variable ydim equal ${latparam1}*sqrt(2)/2*10
+
 
+
# ------------------ ATOM DEFINITION -------------------
+
lattice          fcc ${latparam1}
+
region   1 block -.001 ${xdim} -.001 ${ydim} -.001 28.875194 units box
+
region          2 block -.001 ${xdim} -.001 ${ydim} 28.875194 30.68269 units box
+
region          3 block -.001 ${xdim} -.001 ${ydim} 28.875194 63.17288 units box
+
region          whole block 0 ${xdim} 0 ${ydim} 0 63.17288 units box
+
 
+
create_box 3 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 2 region 2
+
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
create_atoms    3 region 3
+
+
# ------------------------ FORCE FIELDS -----------------------
+
pair_style eam/alloy
+
pair_coeff * * FeCuNi.eam.alloy Cu Cu Cu
+
#---------------------------Settings----------------------------
+
compute csym all centro/atom fcc
+
compute peratom all pe/atom
+
compute eatoms all reduce sum c_peratom
+
 
+
thermo 1
+
thermo_style custom step pe c_eatoms
+
dump 1 all custom 1 dump.relax.1.* id type xs ys zs c_peratom c_csym
+
 
+
run 0
+
 
+
#this command creates a model of the script before the displacement and minimization occur
+
 
+
variable E equal "c_eatoms"
+
variable Eo equal $E
+
 
+
#variable E equal "c_eatoms" computes the initial energy of the model before any sliding is done
+
#E is necessary to store the initial energy in Eo
+
 
+
 
+
group bot region 1
+
group mid region 2
+
group top region 3
+
 
+
displace_atoms top move ${x_displace} 0.0 0.0 units box
+
displace_atoms bot move  ${x_displace} 0.0 0.0 units box
+
displace_atoms top move 0.0 0.0 ${z_displace} units box
+
 
+
create_atoms 2 region 2
+
 
+
#this create_atoms command will now create atoms in the gap formed when displacing the top region in the positive z-direction by one layer of atoms.
+
 
+
fix 1 all setforce 0 0 NULL
+
 
+
min_style cg
+
minimize 1e-10 1e-10 1000 1000
+
 
+
variable Ei equal 200*-3.54022
+
variable Ef equal "c_eatoms"
+
variable Cf equal 1.60217657e-16
+
variable A equal (${xdim}*${ydim})*1e-20
+
variable SFE equal ((${Ef}-(${Eo}+${Ei}))*${Cf})/${A}
+
 
+
#variable Ei is the energy of the inserted atoms
+
#variable Ef equal "c_eatoms" computes the final energy of the system after sliding is done
+
#variable A is the area of the Stacking fault plane
+
#variable Cf is the conversion factor of electro volts to millijoules
+
#variable SFE is the stacking-fault energy of the system
+
 
+
#---------------------------------------
+
 
+
####################################
+
# SIMULATION DONE
+
print "All done"
+
print "Initial energy of atoms = ${Eo} eV"
+
print "Final energy of atoms = ${Ef} eV"
+
print "Stacking-fault energy = ${SFE} mJ/m^2"
+
</pre>
+
|}
+
 
+
== Output for ''sCu_ext.txt'' ==
+
 
+
=== LAMMPS logfile ===
+
 
+
The log file should look like the one shown below.
+
 
+
{|border  ="0"
+
|<pre>
+
LAMMPS (July 2014)
+
# Input file for Stack Fault Energy surface of Copper
+
# Dennis Williams and Richard Glaze IV, 2014
+
# --------------- INITIALIZATION ------------------
+
units metal
+
dimension 3
+
boundary p p s
+
atom_style atomic
+
variable latparam1 equal 3.615
+
variable x_displace1 equal ${latparam1}/sqrt(6)
+
variable x_displace1 equal 3.6150000000000002/sqrt(6)
+
variable x_displace2 equal -${latparam1}/sqrt(6)
+
variable x_displace2 equal -3.6150000000000002/sqrt(6)
+
variable xdim equal ${latparam1}*sqrt(6)/2*10
+
variable xdim equal 3.6150000000000002*sqrt(6)/2*10
+
variable ydim equal ${latparam1}*sqrt(2)/2*10
+
variable ydim equal 3.6150000000000002*sqrt(2)/2*10
+
 
+
# ------------------ ATOM DEFINITION -------------------
+
lattice          fcc ${latparam1}
+
lattice          fcc 3.6150000000000002
+
Lattice spacing in x,y,z = 3.615 3.615 3.615
+
region 1 block -.001 ${xdim} -.001 ${ydim} -.001 28.875194 units box
+
region 1 block -.001 44.27452710080594 -.001 ${ydim} -.001 28.875194 units box
+
region 1 block -.001 44.27452710080594 -.001 25.561910139893698 -.001 28.875194 units box
+
region          2 block -.001 ${xdim} -.001 ${ydim} 28.875194 30.68269 units box
+
region          2 block -.001 44.27452710080594 -.001 ${ydim} 28.875194 30.68269 units box
+
region          2 block -.001 44.27452710080594 -.001 25.561910139893698 28.875194 30.68269 units box
+
region          3 block -.001 ${xdim} -.001 ${ydim} 30.68269 63.17288 units box
+
region          3 block -.001 44.27452710080594 -.001 ${ydim} 30.68269 63.17288 units box
+
region          3 block -.001 44.27452710080594 -.001 25.561910139893698 30.68269 63.17288 units box
+
region          whole block 0 ${xdim} 0 ${ydim} 0 63.17288 units box
+
region          whole block 0 44.27452710080594 0 ${ydim} 0 63.17288 units box
+
region          whole block 0 44.27452710080594 0 25.561910139893698 0 63.17288 units box
+
 
+
create_box 3 whole
+
Created orthogonal box = (0 0 0) to (44.2745 25.5619 63.1729)
+
  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 3.6150000000000002 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
Lattice spacing in x,y,z = 5.90327 5.11238 6.26136
+
create_atoms    1 region 1
+
Created 2800 atoms
+
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
lattice fcc 3.6150000000000002 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
Lattice spacing in x,y,z = 5.90327 5.11238 6.26136
+
create_atoms 2 region 2
+
Created 200 atoms
+
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
lattice fcc 3.6150000000000002 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
Lattice spacing in x,y,z = 5.90327 5.11238 6.26136
+
create_atoms    3 region 3
+
Created 3200 atoms
+
 
+
# ------------------------ FORCE FIELDS -----------------------
+
pair_style eam/alloy
+
pair_coeff * * FeCuNi.eam.alloy Cu Cu Cu
+
#---------------------------Settings----------------------------
+
compute csym all centro/atom fcc
+
compute peratom all pe/atom
+
compute eatoms all reduce sum c_peratom
+
 
+
thermo 1
+
thermo_style custom step pe c_eatoms
+
dump 1 all custom 1 dump.relax.1.* id type xs ys zs c_peratom c_csym
+
run 0
+
WARNING: No fixes defined, atoms won't move (../verlet.cpp:54)
+
Memory usage per processor = 9.69936 Mbytes
+
Step PotEng eatoms
+
      0  -21773.224  -21773.224
+
Loop time of -2.45636e-008 on 1 procs for 0 steps with 6200 atoms
+
 
+
Pair  time (%) = 0 (-0)
+
Neigh time (%) = 0 (-0)
+
Comm  time (%) = 0 (-0)
+
Outpt time (%) = 0 (-0)
+
Other time (%) = -2.45636e-008 (100)
+
 
+
Nlocal:    6200 ave 6200 max 6200 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Nghost:    6769 ave 6769 max 6769 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Neighs:    416000 ave 416000 max 416000 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
FullNghs:  832000 ave 832000 max 832000 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
 
+
Total # of neighbors = 832000
+
Ave neighs/atom = 134.194
+
Neighbor list builds = 0
+
Dangerous builds = 0
+
 
+
#this command creates a model of the script before the displacement and minimization occur
+
 
+
variable E equal "c_eatoms"
+
variable Eo equal $E
+
variable Eo equal -21773.224253325923
+
 
+
#variable E equal "c_eatoms" computes the initial energy of the model before any sliding is done
+
#E is necessary to store the initial energy in Eo
+
 
+
 
+
group bot region 1
+
2800 atoms in group bot
+
group mid region 2
+
200 atoms in group mid
+
group top region 3
+
3200 atoms in group top
+
 
+
 
+
displace_atoms bot move  ${x_displace1} 0.0 0.0 units box
+
displace_atoms bot move  1.475817570026865 0.0 0.0 units box
+
displace_atoms top move  ${x_displace2} 0.0 0.0 units box
+
displace_atoms top move  -1.475817570026865 0.0 0.0 units box
+
 
+
#displace_atoms command will displace the top layer in the positive x-direction and the bottom layer in the negative x-direction thus creating an extrinsic stacking-fault.
+
 
+
fix 1 all setforce 0 0 NULL
+
 
+
min_style cg
+
minimize 1e-10 1e-10 1000 1000
+
WARNING: Resetting reneighboring criteria during minimization (../min.cpp:173)
+
Memory usage per processor = 11.0727 Mbytes
+
Step PotEng eatoms
+
      0    -21770.07    -21770.07
+
      1  -21770.859  -21770.859
+
      2  -21770.998  -21770.998
+
      3  -21771.036  -21771.036
+
      4  -21771.058  -21771.058
+
      5  -21771.072  -21771.072
+
      6  -21771.081  -21771.081
+
      7  -21771.085  -21771.085
+
      8  -21771.087  -21771.087
+
      9  -21771.088  -21771.088
+
      10  -21771.089  -21771.089
+
      11  -21771.089  -21771.089
+
      12    -21771.09    -21771.09
+
      13  -21771.091  -21771.091
+
      14  -21771.091  -21771.091
+
      15  -21771.092  -21771.092
+
      16  -21771.092  -21771.092
+
      17  -21771.092  -21771.092
+
      18  -21771.093  -21771.093
+
      19  -21771.093  -21771.093
+
      20  -21771.093  -21771.093
+
      21  -21771.093  -21771.093
+
      22  -21771.094  -21771.094
+
      23  -21771.094  -21771.094
+
      24  -21771.094  -21771.094
+
      25  -21771.095  -21771.095
+
      26  -21771.095  -21771.095
+
      27  -21771.095  -21771.095
+
      28  -21771.095  -21771.095
+
      29  -21771.096  -21771.096
+
      30  -21771.096  -21771.096
+
      31  -21771.096  -21771.096
+
      32  -21771.096  -21771.096
+
      33  -21771.096  -21771.096
+
      34  -21771.096  -21771.096
+
      35  -21771.096  -21771.096
+
      36  -21771.096  -21771.096
+
      37  -21771.097  -21771.097
+
      38  -21771.097  -21771.097
+
      39  -21771.097  -21771.097
+
      40  -21771.097  -21771.097
+
      41  -21771.097  -21771.097
+
      42  -21771.097  -21771.097
+
      43  -21771.097  -21771.097
+
      44  -21771.097  -21771.097
+
      45  -21771.097  -21771.097
+
      46  -21771.097  -21771.097
+
      47  -21771.097  -21771.097
+
      48  -21771.097  -21771.097
+
      49  -21771.097  -21771.097
+
      50  -21771.097  -21771.097
+
      51  -21771.097  -21771.097
+
      52  -21771.098  -21771.098
+
      53  -21771.098  -21771.098
+
      54  -21771.098  -21771.098
+
      55  -21771.098  -21771.098
+
      56  -21771.098  -21771.098
+
      57  -21771.098  -21771.098
+
      58  -21771.098  -21771.098
+
Loop time of 11.958 on 1 procs for 58 steps with 6200 atoms
+
 
+
Minimization stats:
+
  Stopping criterion = energy tolerance
+
  Energy initial, next-to-last, final =
+
        -21770.0696963    -21771.0979782    -21771.0979797
+
  Force two-norm initial, final = 3.99107 0.00243331
+
  Force max component initial, final = 0.146198 7.82345e-005
+
  Final line search alpha, max atom move = 0.125 9.77932e-006
+
  Iterations, force evaluations = 58 191
+
 
+
Pair  time (%) = 5.59371 (46.778)
+
Neigh time (%) = 0 (0)
+
Comm  time (%) = 0.0180192 (0.150687)
+
Outpt time (%) = 6.17811 (51.6652)
+
Other time (%) = 0.168138 (1.40608)
+
 
+
Nlocal:    6200 ave 6200 max 6200 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Nghost:    6768 ave 6768 max 6768 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Neighs:    419200 ave 419200 max 419200 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
FullNghs:  838400 ave 838400 max 838400 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
 
+
Total # of neighbors = 838400
+
Ave neighs/atom = 135.226
+
Neighbor list builds = 0
+
Dangerous builds = 0
+
 
+
variable Ef equal "c_eatoms"
+
variable Cf equal 1.60217657e-16
+
variable A equal (${xdim}*${ydim})*1e-20
+
variable A equal (44.27452710080594*${ydim})*1e-20
+
variable A equal (44.27452710080594*25.561910139893698)*1e-20
+
variable SFE equal ((${Ef}-${Eo})*${Cf})/${A}
+
variable SFE equal ((-21771.097979613118-${Eo})*${Cf})/${A}
+
variable SFE equal ((-21771.097979613118--21773.224253325923)*${Cf})/${A}
+
variable SFE equal ((-21771.097979613118--21773.224253325923)*1.6021765700000001e-016)/${A}
+
variable SFE equal ((-21771.097979613118--21773.224253325923)*1.6021765700000001e-016)/1.1317414832370896e-017
+
 
+
#variable Ef equal "c_eatoms" computes the final energy of the system after sliding is done
+
#variable A is the area of the Stacking fault plane
+
#variable Cf is the conversion factor of electro volts to millijoules
+
#variable SFE is the stacking-fault energy of the system
+
 
+
#---------------------------------------
+
 
+
####################################
+
# SIMULATION DONE
+
print "All done"
+
All done
+
print "Initial energy of atoms = ${Eo} eV"
+
Initial energy of atoms = -21773.224253325923 eV
+
print "Final energy of atoms = ${Ef} eV"
+
Final energy of atoms = -21771.097979613118 eV
+
print "Stacking-fault energy = ${SFE} mJ/m^2"
+
Stacking-fault energy = 30.101096182493457 mJ/m^2
+
</pre>
+
|}
+
 
+
== Output for ''iCu_ext.txt'' ==
+
 
+
=== LAMMPS logfile ===
+
 
+
The log file for second script should look like this:
+
 
+
{|border  ="0"
+
|<pre>
+
LAMMPS (July 2014)
+
# Input file for Stack Fault Energy surface of Copper
+
# Dennis Williams and Richard Glaze IV, 2014
+
# --------------- INITIALIZATION ------------------
+
units metal
+
dimension 3
+
boundary p p s
+
atom_style atomic
+
variable latparam1 equal 3.615
+
variable z_displace equal 2.08712
+
variable x_displace equal ${latparam1}/sqrt(6)
+
variable x_displace equal 3.6150000000000002/sqrt(6)
+
variable xdim equal ${latparam1}*sqrt(6)/2*10
+
variable xdim equal 3.6150000000000002*sqrt(6)/2*10
+
variable ydim equal ${latparam1}*sqrt(2)/2*10
+
variable ydim equal 3.6150000000000002*sqrt(2)/2*10
+
 
+
# ------------------ ATOM DEFINITION -------------------
+
lattice          fcc ${latparam1}
+
lattice          fcc 3.6150000000000002
+
Lattice spacing in x,y,z = 3.615 3.615 3.615
+
region   1 block -.001 ${xdim} -.001 ${ydim} -.001 28.875194 units box
+
region   1 block -.001 44.27452710080594 -.001 ${ydim} -.001 28.875194 units box
+
region   1 block -.001 44.27452710080594 -.001 25.561910139893698 -.001 28.875194 units box
+
region          2 block -.001 ${xdim} -.001 ${ydim} 28.875194 30.68269 units box
+
region          2 block -.001 44.27452710080594 -.001 ${ydim} 28.875194 30.68269 units box
+
region          2 block -.001 44.27452710080594 -.001 25.561910139893698 28.875194 30.68269 units box
+
region          3 block -.001 ${xdim} -.001 ${ydim} 28.875194 63.17288 units box
+
region          3 block -.001 44.27452710080594 -.001 ${ydim} 28.875194 63.17288 units box
+
region          3 block -.001 44.27452710080594 -.001 25.561910139893698 28.875194 63.17288 units box
+
region          whole block 0 ${xdim} 0 ${ydim} 0 63.17288 units box
+
region          whole block 0 44.27452710080594 0 ${ydim} 0 63.17288 units box
+
region          whole block 0 44.27452710080594 0 25.561910139893698 0 63.17288 units box
+
 
+
create_box 3 whole
+
Created orthogonal box = (0 0 0) to (44.2745 25.5619 63.1729)
+
  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 3.6150000000000002 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
Lattice spacing in x,y,z = 5.90327 5.11238 6.26136
+
create_atoms    1 region 1
+
Created 2800 atoms
+
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
lattice fcc 3.6150000000000002 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
Lattice spacing in x,y,z = 5.90327 5.11238 6.26136
+
#create_atoms 2 region 2
+
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
lattice fcc 3.6150000000000002 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
+
Lattice spacing in x,y,z = 5.90327 5.11238 6.26136
+
create_atoms    3 region 3
+
Created 3400 atoms
+
 
+
# ------------------------ FORCE FIELDS -----------------------
+
pair_style eam/alloy
+
pair_coeff * * FeCuNi.eam.alloy Cu Cu Cu
+
#---------------------------Settings----------------------------
+
compute csym all centro/atom fcc
+
compute peratom all pe/atom
+
compute eatoms all reduce sum c_peratom
+
 
+
thermo 1
+
thermo_style custom step pe c_eatoms
+
dump 1 all custom 1 dump.relax.1.* id type xs ys zs c_peratom c_csym
+
 
+
run 0
+
WARNING: No fixes defined, atoms won't move (../verlet.cpp:54)
+
Memory usage per processor = 9.69936 Mbytes
+
Step PotEng eatoms
+
      0  -21773.224  -21773.224
+
Loop time of 1.12923e-007 on 1 procs for 0 steps with 6200 atoms
+
 
+
Pair  time (%) = 0 (0)
+
Neigh time (%) = 0 (0)
+
Comm  time (%) = 0 (0)
+
Outpt time (%) = 0 (0)
+
Other time (%) = 1.12923e-007 (100)
+
 
+
Nlocal:    6200 ave 6200 max 6200 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Nghost:    6769 ave 6769 max 6769 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Neighs:    416000 ave 416000 max 416000 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
FullNghs:  832000 ave 832000 max 832000 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
 
+
Total # of neighbors = 832000
+
Ave neighs/atom = 134.194
+
Neighbor list builds = 0
+
Dangerous builds = 0
+
 
+
#this command creates a model of the script before the displacement and minimization occur
+
 
+
variable E equal "c_eatoms"
+
variable Eo equal $E
+
variable Eo equal -21773.224253325923
+
 
+
#variable E equal "c_eatoms" computes the initial energy of the model before any sliding is done
+
#E is necessary to store the initial energy in Eo
+
 
+
 
+
group bot region 1
+
2800 atoms in group bot
+
group mid region 2
+
200 atoms in group mid
+
group top region 3
+
3400 atoms in group top
+
 
+
displace_atoms top move ${x_displace} 0.0 0.0 units box
+
displace_atoms top move 1.475817570026865 0.0 0.0 units box
+
displace_atoms bot move  ${x_displace} 0.0 0.0 units box
+
displace_atoms bot move  1.475817570026865 0.0 0.0 units box
+
displace_atoms top move 0.0 0.0 ${z_displace} units box
+
displace_atoms top move 0.0 0.0 2.0871200000000001 units box
+
 
+
create_atoms 2 region 2
+
Created 200 atoms
+
 
+
#this create_atoms command will now create atoms in the gap formed when displacing the top region in the positive z-direction by one layer of atoms.
+
 
+
fix 1 all setforce 0 0 NULL
+
 
+
min_style cg
+
minimize 1e-10 1e-10 1000 1000
+
WARNING: Resetting reneighboring criteria during minimization (../min.cpp:173)
+
Memory usage per processor = 11.0735 Mbytes
+
Step PotEng eatoms
+
      0  -22478.113  -22478.113
+
      1  -22478.903  -22478.903
+
      2  -22479.042  -22479.042
+
      3  -22479.079  -22479.079
+
      4  -22479.101  -22479.101
+
      5  -22479.115  -22479.115
+
      6  -22479.125  -22479.125
+
      7  -22479.129  -22479.129
+
      8  -22479.131  -22479.131
+
      9  -22479.132  -22479.132
+
      10  -22479.133  -22479.133
+
      11  -22479.133  -22479.133
+
      12  -22479.133  -22479.133
+
      13  -22479.134  -22479.134
+
      14  -22479.135  -22479.135
+
      15  -22479.135  -22479.135
+
      16  -22479.136  -22479.136
+
      17  -22479.136  -22479.136
+
      18  -22479.136  -22479.136
+
      19  -22479.137  -22479.137
+
      20  -22479.137  -22479.137
+
      21  -22479.137  -22479.137
+
      22  -22479.138  -22479.138
+
      23  -22479.138  -22479.138
+
      24  -22479.138  -22479.138
+
      25  -22479.138  -22479.138
+
      26  -22479.138  -22479.138
+
      27  -22479.138  -22479.138
+
      28  -22479.139  -22479.139
+
      29  -22479.139  -22479.139
+
      30  -22479.139  -22479.139
+
      31  -22479.139  -22479.139
+
      32  -22479.139  -22479.139
+
      33  -22479.139  -22479.139
+
      34    -22479.14    -22479.14
+
      35    -22479.14    -22479.14
+
      36  -22479.141  -22479.141
+
      37  -22479.141  -22479.141
+
      38  -22479.141  -22479.141
+
      39  -22479.141  -22479.141
+
      40  -22479.141  -22479.141
+
      41  -22479.141  -22479.141
+
      42  -22479.141  -22479.141
+
      43  -22479.141  -22479.141
+
      44  -22479.141  -22479.141
+
      45  -22479.141  -22479.141
+
      46  -22479.141  -22479.141
+
      47  -22479.141  -22479.141
+
      48  -22479.142  -22479.142
+
      49  -22479.142  -22479.142
+
      50  -22479.142  -22479.142
+
      51  -22479.142  -22479.142
+
      52  -22479.142  -22479.142
+
      53  -22479.142  -22479.142
+
      54  -22479.142  -22479.142
+
      55  -22479.142  -22479.142
+
      56  -22479.142  -22479.142
+
      57  -22479.142  -22479.142
+
      58  -22479.142  -22479.142
+
      59  -22479.142  -22479.142
+
      60  -22479.142  -22479.142
+
      61  -22479.142  -22479.142
+
      62  -22479.142  -22479.142
+
      63  -22479.142  -22479.142
+
      64  -22479.142  -22479.142
+
      65  -22479.142  -22479.142
+
      66  -22479.142  -22479.142
+
      67  -22479.142  -22479.142
+
Loop time of 14.3226 on 1 procs for 67 steps with 6400 atoms
+
 
+
Minimization stats:
+
  Stopping criterion = energy tolerance
+
  Energy initial, next-to-last, final =
+
        -22478.1133611    -22479.1416331    -22479.1416339
+
  Force two-norm initial, final = 3.99107 0.00214074
+
  Force max component initial, final = 0.146198 6.12736e-005
+
  Final line search alpha, max atom move = 0.125 7.6592e-006
+
  Iterations, force evaluations = 67 221
+
 
+
Pair  time (%) = 6.31521 (44.0928)
+
Neigh time (%) = 0 (0)
+
Comm  time (%) = 0.024026 (0.167749)
+
Outpt time (%) = 7.8152 (54.5657)
+
Other time (%) = 0.168119 (1.1738)
+
 
+
Nlocal:    6400 ave 6400 max 6400 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Nghost:    6986 ave 6986 max 6986 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
Neighs:    433200 ave 433200 max 433200 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
FullNghs:  866400 ave 866400 max 866400 min
+
Histogram: 1 0 0 0 0 0 0 0 0 0
+
 
+
Total # of neighbors = 866400
+
Ave neighs/atom = 135.375
+
Neighbor list builds = 0
+
Dangerous builds = 0
+
 
+
variable Ei equal 200*-3.54022
+
variable Ef equal "c_eatoms"
+
variable Cf equal 1.60217657e-16
+
variable A equal (${xdim}*${ydim})*1e-20
+
variable A equal (44.27452710080594*${ydim})*1e-20
+
variable A equal (44.27452710080594*25.561910139893698)*1e-20
+
variable SFE equal ((${Ef}-(${Eo}+${Ei}))*${Cf})/${A}
+
variable SFE equal ((-22479.141633815099-(${Eo}+${Ei}))*${Cf})/${A}
+
variable SFE equal ((-22479.141633815099-(-21773.224253325923+${Ei}))*${Cf})/${A}
+
variable SFE equal ((-22479.141633815099-(-21773.224253325923+-708.04399999999998))*${Cf})/${A}
+
variable SFE equal ((-22479.141633815099-(-21773.224253325923+-708.04399999999998))*1.6021765700000001e-016)/${A}
+
variable SFE equal ((-22479.141633815099-(-21773.224253325923+-708.04399999999998))*1.6021765700000001e-016)/1.1317414832370896e-017
+
 
+
#variable Ei is the energy of the inserted atoms
+
#variable Ef equal "c_eatoms" computes the final energy of the system after sliding is done
+
#variable A is the area of the Stacking fault plane
+
#variable Cf is the conversion factor of electro volts to millijoules
+
#variable SFE is the stacking-fault energy of the system
+
 
+
#---------------------------------------
+
 
+
####################################
+
# SIMULATION DONE
+
print "All done"
+
All done
+
print "Initial energy of atoms = ${Eo} eV"
+
Initial energy of atoms = -21773.224253325923 eV
+
print "Final energy of atoms = ${Ef} eV"
+
Final energy of atoms = -22479.141633815099 eV
+
print "Stacking-fault energy = ${SFE} mJ/m^2"
+
Stacking-fault energy = 30.105991553865966 mJ/m^2
+
</pre>
+
|}
+
 
+
== Post-Processing ==
+
 
+
 
+
=== Visualization ===
+
The simulation can be visualized using OVITO. First open the Ovito program and select the import data tab. Then go to the directory and file in which you ran the simulation. Locate the first dumpfile, which would be dump.relax.1.0 in this case. You can then double click on the file, or select the file, then click open.
+
 
+
 
+
{|
+
[[File:front1.png|thumb|500px|center|Figure 1: Shows the simulation model of the system in its initial state with no stacking fault in the ZY- plane. The sequence, which for this example will be referred to as ABC from bottom to top, can clearly be seen. Atoms are colored by energy per atom. The top and bottom rows of atoms are of higher energy because it’s a free surface in the Z direction and the system can no longer go infinitely in that direction, this results in the atoms exerting a force on the entire system.]]
+
[[File:front2.png|thumb|500px|center|Figure 2: Shows the disruption in sequence after the stacking fault in the ZY- plane. Due to the top and bottom rows of the system having a high energy the extrinsic stacking fault energy was not displayed in the color scheme, so those rows had to be sliced out.]]
+
[[File:front3.png|thumb|500px|center|Figure 3: A closer image of the extrinsic stacking fault, the insertion of row '''''C''''' can be shown being of highest energy between rows '''''A''''' and '''''B'''''. The account of higher energy than the previous figures is the result of more slicing.]]
+
|}
+
 
+
 
+
 
+
== Next Tutorial ==
+
 
+
== Go Back ==
+
*[[LAMMPS_Intrinsic_Stacking-Fault_Energy | LAMMPS Intrinsic Stacking-Fault Energy]]
+
*[[LAMMPS tutorials]]
+
 
+
== Acknowledgments ==
+
 
+
We would like to acknowledge the support to this work by the National Science Foundation, HBCUUP-RIA program, Program Manager Dr. Claudia Rankins, Award No. HRD-1137587. Additionally, the technical and logistical support of CAVS and HPC2 of Mississippi State University is gratefully acknowledged.
+

Latest revision as of 10:34, 29 September 2014

Coming Soon!

Personal tools
Namespaces

Variants
Actions
home
Materials
Material Models
Design
Resources
Projects
Education
Toolbox