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
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.
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!
Excellent one. Easy to understand step wise script file is given.
ReplyDeleteThank you.
Thank You! Keep visiting the blog for further updates!
DeleteERROR: Incorrect args for pair coefficients (../pair_eam_alloy.cpp:52)
ReplyDeletesir I am using window os and getting this error while running your input script. plz tell me why this is occurring?
Hi,
DeleteProbably 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.
Excellent tutorial.
ReplyDeletehi, 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!
ReplyDeleteGreat and that i have a neat proposal: What Is In House Renovation Loan house remodel contractors
ReplyDelete