WARNING: Shake determinant < 0.0 (../fix_shake.cpp:1742)

Dear All. I am doing simulation about sodium polyacrylate on montmorillonite surface, without water. When I use NVT ensemble to simulate 0.1ns at 300K, it was running normally for most of the time, but the above error “WARNING: Shake determinant < 0.0 (…/fix_shake.cpp:1742)” occurred in the final stage, I don’t know what caused this, details have been attached.
Initial.data (680.5 KB)
nohup.out (166.9 KB)
PAAS_MMT_Dry.in (1.8 KB)

Quick question: how did you choose the value of 1 fs for the timestep? Was it based on a publication?

I don’t know what forcefield you are using, but with polymeric system, smaller value are sometimes used. Do you still have and error with a timestep of 0.5 fs ?


This usually means you have some geometry that leads to the shake constraint equations becoming degenerate. That could be due to a 180 degree angle between two constrained bonds sharing an atom.

Yes; The force field I used was CVFF, I haven’t tried 0.5 fs

Thanks for reply; So how could I prevent this from happening? By adding angle constraints?

This would be an issue with your initial geometry.
You could try running without fix shake but then increase the force constants for bonds by a factor of 1000 or more.

It is also always a good idea in such cases to output a trajectory with frequent updates and then visualize it and particularly check if there is something unusual happening just before the crash happens. The same goes for an unusual change in the energy components for the different styles that compute forces.