Dear All,
I want to perform nanoindentation test on a 2D monolayer material ( the structure is like graphene in the XY plane) along the thickness direction (Z direction) in Lammps. Initially, I could do the indentation test by using the “Fix Indent” command with spherical indenter and fixing a sublayer at the bottom by “Fix Setforce=0.0” command.
However, now I want to do a similar indentation test using somewhat different boundary conditions. Rather than fixing the bottom of the substrate, I want to clamp the film on both sides and then indent through the thickness direction. (please see the attached snapshot for a visualization of the boundary condition. Green atoms represent the clamped portion on both sides of the substrate). With that boundary condition in mind, I tried to apply “Fix set force =0.0” command on both sides of the film and “Fix indent” through the thickness. But, it seems that the structure just breaks away at the two clamped regions rather than indenting through the thickness. So, my question is that is it possible to use “Fix indent” without fixing atoms at the bottom in the indentation direction? It would be really helpful if anyone could provide any insight. I also copied here the main parts of the input script I used for reference.
Thank you so much.
Regards
Shoieb Ahmed Chowdhury
Graduate Student
Dept. of Mechanical Engineering
University of Rochester
Rochester, NY 14627
Input script:
#1 general
units metal
dimension 3
atom_style atomic
neighbor 0.3 bin
#2 structure
boundary p p s
read_data lammps.dat
#3 variables
variable temperature equal 1.0
variable pressure equal 0.1
variable tstep equal 0.001
#indenter radius
variable radius equal 20.0
#regions on side of the structure where it will be clamped
region clamped1 block 0 5 INF INF INF INF units box
region clamped2 block 92 INF INF INF INF INF units box
#define group of atoms on side of the substrate where it will be #clamped
group clamped1 region clamped1
group clamped2 region clamped2
group clamped union clamped1 clamped2 #side clamp boundary
#for visualization in Ovito whether the correct boundary is set
#set group clamped type 9
#4 potentials
#output the initial structure
write_data data_initial
#5 optimize at 0 K
dump 1 all custom 50000 dump.minimization id type x y z
min_style cg
minimize 0.0 1.0e-8 10000 1000000
undump 1
#unfix 1
#6 optimize at T
compute peratom all pe/atom
reset_timestep 0
timestep ${tstep}
#assign initial velocities
compute new all temp #id new computes temp of mobile group (indenter)
velocity all create 1.0 482748 temp new mom yes rot no
fix 1 all npt temp {temperature} {temperature} 1 x {pressure} {pressure} 1 y {pressure} {pressure} 1 drag 1.0
dump 1 all custom 1000 dump.optimize.*cfg id type x y z c_peratom fx fy fz
thermo 1000
thermo_style custom step lx ly lz press pxx pyy pzz pe temp
neigh_modify once yes
run 20000
reset_timestep 0
#output the optimized structure
write_data data_equilib
run with indenter
variable k equal 1.0
variable zdn equal “74.0 -(stepdt0.1)”
compute 1 all pressure thermo_temp
#zero out all the forces on the side boundary
fix 2 clamped setforce 0.0 0.0 0.0
fix 4 all indent k sphere 50 20 v_zdn {radius} units box#command for #creating an indenter with force k.
undump 1
dump 1 all custom 1000 dump.indentation*cfg id type x y z fx fy fz
#8 run MD
thermo 1000
#thermo 1000
thermo_modify temp new
thermo_style custom step temp f_4[3] elapsed lx ly lz zlo zhi
run 100000