I started out using cg for months, and then realized that once I started exfoliating the system (essentially making a stress/strain plot) the force never turned out to be 0 while the displacement was zero, so for some reason cg wasn’t finding the correct minimum. The calculated cg minimum was always higher than the fire minimum so I’ve stuck with fire. Cg also sometimes gave me too many “linesearch alpha = 0” giving me noisy data that I needed to be smooth. It’s also weird because months ago I used to be able to go all the way to 10% compression without the system crashing. With these systems, the atoms deformed to form some surface roughness, but still didn’t cause the energy to blow up. But then one day instead of just vastly deforming the crystal, the thermo data just started spitting out “nan” without warning, which leads me to believe it’s not just that the forces are becoming too large although that’s still a possibility.
There are many possible causes of this behavior. Some obvious items concern are:
pair_style rebomos: something that has been added to LAMMPS by persons unknown
All minimizers are sensitive to the smoothness of the potential energy surface and
also the consistency of force and energy calculations. It is quite possible that you
rebomos pair_style is deficient in this area. This may also explain the NaN issue.
I would strongly suggest that you start out doing simulations with potential that has
been carefully vetted.
neigh_modify once yes: this is highly questionable and may cause a variety
of unphysical behaviors.
min_modify line has no effect on fire
There might be some issues with how you freeze the top layer. Perhaps you should try not freezing it.
neighbor 0.5 bin
neigh_modify #delay 5 every 1
neigh_modify once yes
neigh_modify one 8000
pair_coeff * * MoS.REBO.set5b M S
thermo_style custom step etotal pxx pyy pzz
fix 1 top setforce 0.0 0.0 NULL
velocity top set 0.0 0.0 0.0
dump 1 all atom 1 dump.953
dump_modify 1 scale no
min_modify line quadratic
minimize 1.0e-16 1.0e-16 100 100