I am doing a simulation of a 3D LJ system in LAMMPS, where I am heating an already equilibrated configuration at $T^* = 0.3$ to $T^* = 0.4$ for $1000000$ steps then equilibrating the same at $T^* = 0.4$ for $3000000$ steps. My system consists of 14713 atoms, the lj/cut parameters I am using are $\epsilon = 1$, $\sigma = 1$, and cutoff $4.0$. Timestep size is default lj timestep size $0.005 \tau$, and the neighbor skin distance is 0.3 bin.
Now I have a few questions regarding the neigh_modify command. I have done 4 simulations using the conditions specified above but changing the neigh_modify command arguments as below -
neigh_modify every 1 delay 0 check yes
neigh_modify every 1 delay 0 check no
neigh_modify every 20 delay 0 check yes
neigh_modify every 20 delay 0 check no
I have plotted the Total Energy vs Timestep for these 4 simulations and compared them, and the plots are identical. My 1st question is if regardless of how we build the neighbor list, the results are the same, what is the need for this command? or am I making comparisons with the wrong properties and I need to validate with some other properties?
Also, in the case of neigh_modify every 20 delay 0 check yes
I get $50000$ Dangerous builds (which is equal to my Neighbor list builds). What is the significance of this, if the energy of the system is statistically the same no matter what?
P.S. - the 4 simulations are also identical throughout the whole simulation, visually.
And finally, when I use neigh_modify every 1 delay 0 check no
the simulation runs almost twice as slow compared to all other cases. ($915.333$ timesteps/s compared to $\approx 2201.750$ timesteps/s on average for other cases). Why this is happening?
Thank you for your help.