conserve linear and angular momentum, when resacling velocities

Hello,

is there a way to conserve both the linear and the angular momentum while rescaling the velocities of a group of atoms?

Thanks for your help in advance!

fix momentum

You doh’t say how you are rescaling the velocities,
nor whether it is a one-time operation or done periodically
during a run.

If the linear/angular momemtum is 0.0, then rescaling
should keep it zero. If it’s not 0.0, then I don’t see how

you can rescale the velocities and keep momentum
the same. How would you do that for a single particle?

Steve

Hello Steve,

Hello Nial,

Hello Lammps-Mailinglist,

thanks for your answers.

Actually I want to rescale the velocities of a specific group of atoms, which form a cluster via some bonding, to a specific temperature periodically during the run.

The rescaling should only affect relative velocities, and should conserve linear momentum as well as angular momentum if possible.

One can define fix temp/rescale and use compute temp/com to conserve linear momentum when scaling.

If the cluster/group is not fully rotational symmetric angular momentum will not be conserved here.

Then there is compute temp/rotate in user-misc. But again if the cluster/group is not fully rotational symmetric, with this command both the angular and linear momentum will not be conserved when rescaling.

Also Nials remark of zeroing both momenta with fix momentum does not work if the the group is not rotational symmetric.

My question was therefore if there exists an mathematical algorithm (and if it is implemented in lammps) which conserves both the angular and the linear momentum when rescaling the velocities of an arbitrary formed cluster of atoms with a specific factor (lets call it alpha).

Thank you very much for your help in advance!

Best,

Norman

The rescaling should only affect relative velocities, and should conserve linear momentum as well as angular
momentum if possible.

Sorry, this still doesn’t make sense to me. When you rescale the velocity of a group of atoms,

e.g. the velocity rescale command, or fix temp/rescale, a single scale factor is applied to all the atoms.

For the simple case of a group of atoms all with equal mass, if they have a net linear momentum,

that total momentum will be scaled by the same factor as the individual velocities. Also it it is
zero, it will stay zero. So I don’t know what it means to “conserve” the linear momentum.

If you have some operation in mind that would adjust the velocity of each atom differently to

change the temperature and conserve linear momentum and preserve some reasonable

thermal distribution of velocities, then that is not a “rescale”, and I don’t know what that

operation is, and no one has coded it in LAMMPS.

Steve