[lammps-users] fix the center of mass

Dear LAMMPS users,

I’m looking for a command in LAMMPS, which can fix the center of mass of molecules but allow the atoms with the same molecular ID to change positions. Going through the mailing list (https://matsci.org/t/looking-for-a-comand-cant-find/25521), ‘fix momentum’ may help. Thus I tried the following commands in my simulation (where rigid body and non-rigid body exist):

fix 5 mobile npt temp 1 1 1000 tri 0.0 0.0 10000

fix 7 mobile momentum 1 linear 1 1 0

However I observed the changes of COM again. Do you have any ideas? Thanks.

Sincerely,

Joe

The fix momentum command removes - as the name indicates and the documentation explains- the center of mass momentum of a group of atom and thus is not a position contraint/restraint.
As the message you are quoting hints at, it is a mistake to invoke it for every step as that will suppress fluctuations that are supposed to happen in a correct simulation.

The e-mail you quote discusses multiple options. There is not much to add to it as it is impossible to give more specific advice without knowing anything about your simulation setup. It may well be that the COM motion is the correct behavior and induced by your input and system setup.

Dr. Kohlmeyer,

Sorry for my misunderstanding. What I want to do is to calculate the energy of my molecular system at a certain deformation state with limited relaxation.

Setup: I apply an in-plane deformation to the upper part of my model as a rigid body, then set the middle part as mobile and the rest of the entire model as rigid, and I calculate the energy of this state, allowing the atoms to change their positions or the molecules to change their molecular structures with MD. Since the molecules may heal back during MD, I would like to limit the changing of positions of COM of those molecules.

Sincerely,
Joe

So why not attach a spring fix?

Dr. Koholmeyer,

Thanks for your suggestion. Going through the website, ‘fix spring tether’ is worth trying. However, since I want to fix the COM of each mobile molecule, then I need to use ‘fix spring’ for every molecule in the mobile part?

Sincerely,
Joe

There are multiple types of spring fixes.

Dr. Kohlmeyer,

Running a few simulations,’ fix spring/chunk’ does what I want. However, the deformation applied and fixed COM result in kinetic energy. To reduce KE, I use ‘fix viscous’ and ‘fix nve’, but the KE doesn’t go down. Using a larger parameter for ‘fix viscous’ or a longer simulation time don’t help. Could you please provide any hints? The part of the input script is following:

Sorry, I have no more suggestions.
This is getting increasingly confusing with every one of your messages and doesn’t sound like you are doing serious science anymore but more like you are just trying to make an animation. At this point you could just make up your results and I don’t think it would make much of a difference.

Dr. Kohlmeyer,

I’m so sorry that I confused you and other LAMMPS users. All I want to do is to relax my model at a given deformation state and drain the kinetic energy due to the deformation. But I’m trying to do serious science, even though it may not make sense to you.

You don’t need to provide any suggestions for this message. Thanks.

Sincerely,
Joe

This is to a large degree due to providing extremely limited information, careless and imprecise (and thus contradicting) descriptions, and lack of suitable context.
Because of that you are forcing people to guess and also confusing people because they cannot know what may seem logical to you but looks illogical out of context.