I am trying to understand what exactly the flying ice cube effect is, and how it manifests itself in MD simulation.

From what I have read about it, I see that as we run certain forms of velocity-rescaling without scrutiny, they system "freezes" into certain fixed states with a net momentum (like an ice-cube flying in space), instead of jostling around with zero net momentum. The article says:

the energy of high-frequency fundamental modes is drained into low-frequency modes, particularly into zero-frequency motions such as overall translation and rotation of the system.

What exactly is a high-frequency energy mode for point particles in space? Why does energy get drained out of them, and go into translation and rotation?

I am thinking of point particles moving in space with some kinetic energy, and with some interaction potential energy $U$. So the Hamiltonian is pretty much: \begin{align}\tag{1} \mathcal{H} &= \mathcal{K}(\mathbf{p})+\mathcal{U}(\mathbf{r}), \\\tag{2} \mathcal{H} &= \frac{1}{2}\sum _i \frac{\mathbf{p}_i^2}{m_i} + \mathcal{U}(\mathbf{r}). \end{align}

If I consistently rescale velocity to reach a certain temperature, why does it lead to a fixed state and the energy of high-frequency modes being drained into low-frequency modes like translation and rotation?


High frequency in this case is 'particles move all independently, with different directions and speed', and low frequency means 'particles can be represented as gradually changing field of speed and direction of particles in the region'. Something like 'frequency in space', how often to change speed and direction as you observe more and more particles.

If your particles are not centered, so that movement of center of mass is not zero, then large movement may take up most of the mantissa of your variables.

For example, big movement is 1000 units, and thermal movement is 1.001 units. Non-centered particle speed is 1001.001. This requires a lot of digits to store, and last digit may be lost in rounding.


The flying ice cube effect is when the kinetic energy leaks into the translations and rotations.

In a constant energy simulation (NVE) this must come at the expense of vibrations, which has the effect of "freezing" the bonds, angles and torsions. Obviously, this is a purely classical effect because even at 0 K a bond will vibrate at the zero-point energy (ZPE).

Here is a breakdown of the types of vibrations:

  • Bond stretches: Highest in energy
  • Bends: Somewhat lower in energy
  • Torsional motions: Lower still
  • “Breathing” modes (very large molecules): Lowest energy

To prevent energy from being leaked into translations and rotations one must be careful in how they prepare initial conditions and remove translation and rotations every so often.

For example, Amber will remove COM translations (and rotations if a non-periodic simulation) every nscm steps. The default is 1000. The manual also says something interesting about Langevin Dynamics which are NVT simulations

For Langevin dynamics, the position of the center-of-mass of the molecule is re- set to zero every NSCM steps, but the velocities are not affected Hence there is no change to either the translation or rotational components of the momenta. (Doing anything else would destroy the way in which temperature is regulated in a Langevin dynamics system.)

You can also ensure you don't have translations and rotations by operating in internal coordinates. But that is very non-standard practice. Boltzamann sampled initial conditions from normal modes can be a good way to generate initial conditions as well, but that is restricted to things you can actually calculate normal modes for, which is typically less than a few hundred atoms and probably not worth your time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.