[lammps-users] Mismatch between expected number of runs and actual number of runs

Dear all,

I have run into a confusing situation in LAMMPS.

I have pasted parts of a code below. In the code, an indenter scratches the surface of the copper substrate. The timestep of the simulation in .005 picoseconds. The velocity of the indenter is 0.1 Angstrom per picosecond. The total length of the slab is 86.64 Angstrom (i.e. 3.61 * 24; 3.61 being the lattice spacing of copper, and 24 being the number of layers in the indenters’ direction of motion). I am running the simulation for 606480 steps. So then the number of times the indenter should pass over the copper substrate will be (0.005606480.1) / (3.61*24). And this works upto 3.5 times. But when I visualise my dump file in VMD, I am getting over 15 runs (before VMD crashes due to memory limitation on my system). I just cant figure out whats going wrong. Could anyone point out as to what I am overlooking?

The Code:

dimension 3
neighbor 0.3 bin
neigh_modify every 5 delay 0
units metal
boundary p p p
atom_style atomic
timestep 0.01
lattice fcc 3.61

region box block -12 12 -5 16 -12 12 units lattice
create_box 5 box
create_atoms 1 box

mass 1 63.54
mass 2 12.001
mass 3 63.54
mass 4 63.54
mass 5 63.54

region FIXED_LAYERS block -12 12 -5 -4 -12 12
region THERMO block -12 12 -4 -2 -12 12
region TOTAL_SLAB block -12 12 -5 5 -12 12

lattice none
lattice diamond 3.56 orient x 1 1 1 orient y 1 -1 0 orient z 1 1 -2
region indenter sphere -4 8 0 3
region dummy block -12 12 -5 8 -12 12
region indent intersect 2 dummy indenter

region FIXED union 2 THERMO FIXED_LAYERS
region temp union 2 indent TOTAL_SLAB

group FIXED_ATOMS region FIXED_LAYERS
group THERMO region THERMO
group SLAB_ATOMS region TOTAL_SLAB
group FIXED region FIXED
group indent region indent
group temp region temp
group MOVING_ATOMS subtract SLAB_ATOMS FIXED
group EXTRA_ATOMS subtract all temp
delete_atoms group EXTRA_ATOMS

set group FIXED_ATOMS type 3
set group MOVING_ATOMS type 5
set group THERMO type 4
set group indent type 2

pair_style hybrid eam morse 10
pair_coeff * * eam /home/nandu/Desktop/lammps/potentials/Cu_u6.eam

pair_coeff 2 5 morse 0.087 5.14 2.05 10

velocity MOVING_ATOMS create 300 887723 mom yes rot yes dist gaussian
velocity THERMO create 300 776393 mom yes rot yes dist gaussian

compute CU_TEMP MOVING_ATOMS temp
thermo 10
thermo_style custom step c_CU_TEMP vol pe ke etotal
thermo_modify flush yes
dump 1 all atom 50 dump.CU

fix NVE MOVING_ATOMS nve
fix nivia THERMO nve
run 5000
run 10000
unfix NVE
timestep 0.005
fix 234 indent rigid single force 1 off on on torque 1 off off off

velocity indent set .1 0 0.0
fix 999 indent setforce NULL NULL 0
fix 678 indent addforce 0 -0.03120754876 NULL

fix N MOVING_ATOMS nph xyz 0.0 0.0 10.0

fix 1000 MOVING_ATOMS ave/time 1 7220 7220 c_forces[1] c_forces[2] c_forces[3] file ave.forces0.03120754876 start 15000

log log.temp300v.1f0.03120754876nph
thermo 10
thermo_modify flush yes
dump 3 all atom 50 dump.temp300v.1f0.03120754876nph
run 606480
delete_atoms group indent
log log.temp300v.1f0.03120754876nph.relax
dump 44 all atom 50 relax.temp300v.1f0.03120754876nph
run 100000

Regards,
Nandu Gopan,
M.Tech Nanotechnology,
School of Nanoscience and Technology,
NITC

I know how to make 4 horses pull a cart - I don’t know how to make 1024 chickens do it. – Enrico Clementi, pioneer of cluster computing

Just a guess, it could be due to intermixing of lattice and real units in your system. Instead of intender moving .1 Angs/ps , It could be 1 lattice spacing per ps, which will result in significantly higher number of runs. Please check one thing. In VMD, select one of the atoms of the intender and track its coordinate (how much it is moving in certain timestep). You can do this by label option. See if it is actually what you expect.