[lammps-users] Energy Equipartition for rotation and translation of body atomic_style

Dear Everyone,

When I try to run the simulation in lammps-3Mar20/examples/body/in.squares (or in.body .etc), and use the following command lines to output the rotational temperature and translational temperature, as well as the overall temperature, these values are not equal. Based on the energy equipartition theorem, aren’t they the same? I also tried some other body/nparticle model in 3D (three translational degrees of freedom and three rotational degrees of freedom) and had a similar issue. Is this because of the temperature control method by fix body/nvt or body/npt? Should we control translational and rotational temperature separately? How can I control the same temperature for rotation and translation? Thanks!

compute Tall all temp/body dof all
compute Trot all temp/body dof rotate
thermo_style custom step temp c_Trot c_Tall ke pe press density

best regards,
Yuanchao

How large is the unequality? Equipartition is a statistical phenomenon, and the exact thermal energies in different DoFs will fluctuate over time from their averages (which should indeed be equal).

Hi Shern,

Thanks for the quick reply!

I monitored the thermo for a while, and found T_trans/T_rot is always larger than 3 (can be quite high), while in some cases almost keeping T = (T_trans + T_rot)/2.

Best regards,
Yuanchao

The purpose of the example inputs is to demonstrate how to set up a simulation with a feature.
They are not to be expected to be a good example for proper simulations because they usually are designed to be small and using a small number of steps.

Reaching equipartitioning for translation and rotation of rigid bodies (especially in “jammed” configurations) can be time consuming.
Exchange of kinetic energy between DOFs depends on how well they couple. Since most of LAMMPS is focused atomic simulations, a bit more care and patience is required when setting up simulation with extended particles or rigid bodies.

Hi Axel,

Thanks for the response!

I saw from the liquid equilibration process that the translational and rotational temperatures seems to be quite stable, which may mean a lot of time is required for energy equipartition. Will there be any good way to make this more efficient? Thanks!

I am not aware of anyone that is currently working on this. However, that doesn’t mean much with an open source software like LAMMPS since a lot of people are working on many things in LAMMPS for their own purposes and sometimes this is contributed back, but not always.

axel.

Hi Axel,

Thanks for the response!

I saw from the liquid equilibration process that the translational and rotational temperatures seems to be quite stable, which may mean a lot of time is required for energy equipartition. Will there be any good way to make this more efficient? Thanks!

Best regards,
Yuanchao

Thanks! I will let you know if there is any improvement in the future.