Hello,

I am trying to slightly increase the density of my system every 2000 time steps (1000 fs) by using the following line in my input script:

fix compress all deform 2000 x scale 0.9999 y scale 0.9999 z scale 0.9999 remap x remap v

There are two problems that I am having with this that I was hoping someone could help me with. The first one is that it doesn’t seem to compress the box by 0.01 in each direction. Rather, it seems to be under by two orders of magnitude (0.0001 ). I can fix this simply by changing the factors to 0.99 (I have done this and it works), but I was wondering why the scaling factor doesn’t correspond to the number inserted.

The second problem (the more important of the two) is that the compression happens equally in both directions. So for example, say I wanted to compress the box in the x direction by 2 units and chose the appropriate scaling factor. LAMMPS automatically scales it so that the bottoms gets pushed up and the top gets pushed down by 1 unit each. This shifts the corner of the box away from the origin. This is problematic because I have a network of python scripts that all depend on the box being positive everywhere with a point at the origin. Is there any way that I can use “fix compress” so that it only compresses the box in one direction per dimension and stays locked onto the origin and Cartesian axes?

Thank you for your time and your help. Regards,

-Keith