[lammps-users] Unexpected performance from NPT

Dear LAMMPS users,

I tried to ramp up stresses, normal stress sigma_yy and sigma_zz, of my system using NPT. From my first run, the stress curves showed that the stress components are constant, i.e. they didn’t change with time after roughly 130 ps. However, the plateau of stress was not my target stress. For some reason, I restarted my simulation with exactly the same given stresses using NPT. Then I saw relaxation of my system immediately when my second run started and stress components reached the target values.

I have two questions:
Q1. Why cannot my system reach the target stresses in my first run?
Q2. Why can my system get relaxed further in my second run?

The version of LAMMPS I’m using is LAMMPS (29 Oct 2020).

Sincerely,
Joe

Dear LAMMPS users,

I tried to ramp up stresses, normal stress sigma_yy and sigma_zz, of my system using NPT. From my first run, the stress curves showed that the stress components are constant, i.e. they didn’t change with time after roughly 130 ps. However, the plateau of stress was not my target stress. For some reason, I restarted my simulation with exactly the same given stresses using NPT. Then I saw relaxation of my system immediately when my second run started and stress components reached the target values.

I have two questions:
Q1. Why cannot my system reach the target stresses in my first run?

it is rarely possible to definitely explain why something is not doing something. this is very system specific in the first place.

Q2. Why can my system get relaxed further in my second run?

probably something is not perfectly restarted or reinitialized or otherwise different or reset in your input and that may have triggered some small change that has allowed your system to cross some barrier in the potential hypersurface that it could not before. Your unrestarted simulation may or may not have reached that situation atom some point.

Dr. Kohlmeyer,

Thanks for your explanation. I used the same input file for two simulations. The only thing that might affect and I can think of is that for my second run, the initial stress and the final stress specified in NPT were the same, i.e. it was like an instantaneous loading, however the initial value of the second run didn’t match well the the stress of the final state of the first run. However, the difference was really small in my opinion and NPT should be able to take care of it well, and I applied the same instantaneous loading in my first run. Maybe the material itself is the answer.

Sincerely,
Joe

What you consider “the same” and what causes LAMMPS to do an exact restart may not be the same.
However, it is completely pointless to discuss this in general and without a simplified specific example.
Also, a very small difference may be just the trigger. Please keep in mind that in MD you are solving a set of partial differential equations numerically which makes this in essence a chaotic system. Thus even the tiniest changes can result in exponential divergences of the numerical results. Furthermore you have a potential hypersurface with a very large number of dimensions. So you can never know whether you have sampled them sufficiently well. There is a whole branch of research in statistical mechanics with many research groups that focus on studying how to improve sampling of phase space or how to search it in a more effective and efficient fashion. All of that is beyond the scope of this mailing list. Your assumptions about LAMMPS seem to be ignoring those properties of MD simulations. Things are not as simple as you seem to believe they are.

Dr. Kohlmeyer,

I agree with you. Thanks for your help.

Sincerely,
Joe