Trouble Converging Temperature During Equilibration with NPT in LAMMPS

Hi everyone,

I’m currently trying to equilibrate a simple FCC metal system using the NPT ensemble in LAMMPS. However, I’m running into an issue where the temperature fluctuates too much and doesn’t seem to settle around the desired value, even after several hundred thousand timesteps.

Here’s a brief summary of my setup:

  • Pair style: EAM
  • Thermostat/barostat: fix npt (100K, 100K, 100.0)
  • Timestep: 0.001 ps
  • Equilibration time: 500 ps (500,000 steps)
  • Pressure: 0 atm (isotropic)

I’ve tried adjusting the Tdamp and Pdamp values but haven’t had much luck getting a stable temperature. I also ensured proper minimization before starting dynamics. I’m wondering if there’s something I’m overlooking—maybe related to initial velocities or damping constants?

If anyone has experience with stabilizing temperature during NPT equilibration, I’d really appreciate your insights. Also, is it better to equilibrate with NVT first and then switch to NPT?

Thanks in advance!

New to LAMMPS, still learning the ropes.

There is not enough information here to make any meaningful assessment.
But there have been numerous discussions of temperature fluctuations and why they have to appear in finite systems for atomic scale simulations. This is basically textbook material, so you may have to consult your text book on statistical mechanics and thermodynamics, but you can also search the forum or the web for those previous discussions and learn from them.

If you believe that your case is different (most likely not), then you need to provide convincing evidence, not just some vague statements that you don’t get what you expect.

I imagine you are using units metal.

You need to define what you mean by stable. Do you observe statistical fluctuations around the 100 K that you attempt to set? Are those fluctuations too big? Or is it that you are not able to achieve the mean temperature (100 K) that you specified in the fix?

In the second case it seems that you are using a “way” too large damping parameter for the thermostat (you did not specify the parameters for the barostat). A good starting guess is to use 100 times the timestep, which can be done as shown below:

fix 1 all nvt temp 300.0 300.0 $(100.0*dt)