Hello LAMMPS users,
I’m currently attempting to simulate the nanoindentation of a copper sheet using the fix indent command and an elasto-plastic peri style. Upon inspection of the force-displacement data, I see no hysteresis in that the loading curve matches the unloading curve. Also, I see no movement in the system when visualized with VMD. I’ve included my input below, any help or advice would be much appreciated.
variables
variable l equal 3.615e-10 # lattice
variable rho equal 8.96 # density (g/cm3)
variable t equal 1.0e-15 # timestep
variable rad equal 20 # radius points
variable sphere equal 20 # radius of sphere
variable sphere2 equal ${sphere}*$l
variable maxy equal 3 # max penetration depth in points
variable nn equal 120 # steps during penetration
variable v equal $l*$l*l # volume element point
variable r equal {rho}1000 # density (kg/m3)
variable low2 equal -20${l}-0.00001 # position lower boundary
variable bin equal 2*$l # skin
initialization
units si
boundary p f p
atom_style peri
atom_modify map array
neighbor ${bin} bin
system geometry
lattice sc $l
region target block -40 40 -20 0 -40 40
create_box 1 target
create_atoms 1 region target
velocity all set 0.0 0.0 0.0 sum no units box
potential
pair_style peri/eps
pair_coeff * * 89e9 51e9 0.81e-9 0.0012 0.22 15e9
set group all density $r
set group all volume $v
fix 1 all nve
timestep $t
outputs
compute 1 all damage/atom
compute 2 all reduce sum c_1
variable totdam equal c_2
variable dam equal “v_totdam/atoms”
compute pas all stress/atom NULL
variable pas2 atom (c_pas[1]+c_pas[2]+c_pas[3])/3
thermo_style custom step dt time pe ke press vol density c_2 v_dam
thermo 5
dump 1 all custom 100 peri.lammpstrj id type x y z c_1 v_pas2
base support
fix 4 all indent 1e21 plane y ${low2} lo
loading indenter
variable y equal “(v_sphere - v_maxy*step/v_nn)*v_l”
variable pen equal “v_sphere2 - v_y”
fix 2 all indent 1e21 sphere 0.0000 v_y 0.0000 {sphere2} units box
thermo_style custom step pe ke press c_2 v_dam f_2[2] v_y v_pen
run {nn}
unfix 2
unloading indenter
variable y equal “(v_sphere + v_maxy*(step - 2*v_nn)/v_nn)*v_l”
variable pen equal “v_sphere2 - v_y”
fix 2 all indent 1e21 sphere 0.0000 v_y 0.0000 {sphere2} units box
thermo_style custom step pe ke press c_2 v_dam f_2[2] v_y v_pen
run {nn}
unfix 2
unfix 4
unfix 1
Best,
Jared Rivera