Reflecting surfaces momentum conservation


I am trying to simulate polymers between two surfaces. For a test case, I simulated a few polymer particles between two reflecting surfaces (fix wall/lj93). Polymers are homopolymers with LJ-FENE interactions.

Q: Even when I start with zero momentum initial condition, when I check the result after some timesteps (ran using Nose Hoover thermostat - which is supposed to have the momentum conserving property) the momentum in the direction perpendicular to the surface is not zero. I could guess that the momentum in the direction perpendicular is not zero since there is an unbalanced force from the surface. Question is whether fix momentum will be a good fix (or it will just cure the symptoms and not the problem?) for this or there is something else that needs to be taken care of LAMMPS which is equivalent to the force holding the surface in place?

PS: If required I can send a small datafile and an input file to generate the scenario. The datafile I am having is big to load here. Sorry about that


Vaidyanathan M S
PhD Candidate
University of Texas at Austin

You can calculate the momentum exchange between the wall and your atoms with compute and variable commands, since the fix calculates the forces the wall exerts. If the thermostat is momentum conserving then your setup should probably satisfy (change in momentum) == (impulse from wall), at least, up to numerical errors.

While a thermostat may conserve momentum, an external

force (e.g. due to a wall) does not. Think of one particle

bouncing off the wall. It’s momentum is not conserved.

If you constraining the system in one dimension

(between 2 walls?), why do you care if the momentum

of the particles is strictly conserved in that direction?
They can’t drift away.