Computational Materials Modelling Using LAMMPS: Plotting stress strain curve for gold

Plotting stress strain curve for gold

In this blog, I am showing a method using which stress-strain curve can be plotted for any given metal. I am using gold as an example here. 

Input script

units           metal
atom_style      atomic
boundary        p p p
#FCC unit cell
variable a index 4.0782



lattice fcc ${a}
region          myreg block     -30 30 &
                                -30 30 &
                                -40.782 40.782  units box

region fillreg block  -20.391 20.391 -20.391 20.391 -40.782 40.782 units box
#Lattice units is used, which is the  default
##in the argon example, we used box units.
create_box      1 myreg
create_atoms 1 region fillreg
compute csym all centro/atom fcc
compute peratom all pe/atom
# Minimize  using Embedded alloy atom method potential for Au

pair_style      eam/alloy
pair_coeff * * Au.eam.alloy Au
minimize 1e-25 1e-25 100000 100000
#=========================
reset_timestep 0
timestep 0.001
variable il equal lz
variable newil equal ${il}
variable deltz equal 20.391/25
dump dumpid all custom 100 deformtensile.in id x y z c_csym c_peratom
label repeat
variable inte index 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
variable ndeltz equal ${deltz}*${inte}
compute str all pressure NULL virial
print 'DELTZ is = ${ndeltz}' append DELTZ.txt
fix defz all deform 1 z delta 0.0 ${ndeltz} units box
thermo_style custom c_str[3]
run 1000
unfix defz
minimize 1e-25 1e-25 100 1000
variable clz equal lz

variable szz equal c_str[3]
variable ezz equal (${clz}-${newil})/${newil}
print '${ezz} ${szz}'  append strain.txt
uncompute str
next inte
jump Au.in repeat
#end==============================
Visit LAMMPS Manual for a detailed explanation of commands used.
Potential file used: Au.eam.alloy


Results


                                                                                    Strain                                                                       
                                 Stress

0.01

0.949589016
0.02 1.322087457
0.03 1.713414756
0.04 2.120972892
0.05 2.541339187
0.06 2.970258807
0.07 3.402680602
0.08 3.832804944
0.09 4.254060122
0.1 4.658643663
0.11 4.9162459
0.12 2.346534886
0.13 1.630454568
0.14 1.445815376
0.15 1.424301412
0.16 1.387175814
0.17 1.280337285
0.18 1.186909905
0.19 1.196892693
0.2 1.262192032
0.21 1.287065081
0.22 1.268527915
0.23 1.193378969
0.24 1.167897875
0.25 1.08804741

Simulation
 

Top and perspective view of the simulation (coloured atoms based on centrosymmetry)


Explanation

1. Save the input script under the name Au.in

2. When the simulation is completed you will get a file strain.txt which contains all the above values.

3. As we can see, the plot obtained is a typical plot which most of the metals exhibit. In my next blog, I will be showing how to calculate various elastic constants for gold.

4. The atoms are coloured based on centrosymmetry. Green coloured atoms are there in a perfect crystal lattice(FCC) and blue atoms are the atoms which are not in  FCC lattice. Since equilibration is done every time, after a small strain is applied, the atoms deviate from crystal lattice and again settle at FCC crystal lattice. After some time, as strain increases, the material fails with a slip plane formation at 45 degrees.

Keep visiting the blog for further updates. If you have any doubt or suggestions, do mentions them in the comment section below!


7 comments:

  1. Excellent one. Easy to understand step wise script file is given.
    Thank you.

    ReplyDelete
    Replies
    1. Thank You! Keep visiting the blog for further updates!

      Delete
  2. ERROR: Incorrect args for pair coefficients (../pair_eam_alloy.cpp:52)
    sir I am using window os and getting this error while running your input script. plz tell me why this is occurring?

    ReplyDelete
    Replies
    1. Hi,
      Probably you might be using a different LAMMPS version. I am using the one released on 19-july 2019. If you are using a different version please go through the manual of your LAMMPS version for appropriate args for pair co-effecient.
      The error is nothing to do with Os. The code can be run in any Os.
      Hope this answers your question.

      Delete
  3. hi, the tutorial was good but i have some doubts related to the stress-strain curve....if we do a model in ABAQUS and inputting the material properties, but the data of strain and stress values are different!

    ReplyDelete
  4. Great and that i have a neat proposal: What Is In House Renovation Loan house remodel contractors

    ReplyDelete