Pressure calculated using temperature compute that removes bias results in lower average pressure than measured at equilibrium

Dear LAMMPS users

I am simulating a pressure-driven flow of a 2D Lennard-Jones fluid through a pore in between two membranes using a similar script to the one in examples/USER/misc/flow_gauss in the lammps directory, but using the pump method described in Zhu, F., E. Tajkhorshid, and K. Schulten. 2004. Biophys. J. 86:50–57. I have measured the pressure profile in the bulk regions of the reservoirs using the "compute stress/atom" command before and after applying a pressure difference. When there is no pressure difference applied to the system I use the "compute temp" command to calculate the temperature of the fluid and then use this compute ID as a temp-ID in the "compute stress/atom" command, which I use to calculate the pressure profile. When I apply a pressure difference using the pump method (see the reference above) I use a temperature compute that removes a centre of mass velocity field from the particles before computing the temperature ("compute temp/profile"). Using this temperature compute in "compute stress/atom" results in a lower average pressure (averaging over both reservoirs) compared with the equilibrium pressure profile. The difference is more severe when I measure the pressure in the reservoirs of a 3D Lennard-Jones system for a different type of simulation but using the same "compute temp/profile" command.

My questions are:

1. Do I need to correct the fluid pressure calculated using "compute stress/atom" for the extra degrees of freedom resulting from using "compute temp/profile"?
2. How do I do this?

I am using the lammps version from 11Aug17.

Thanks, Daniel.

in.pump (10.4 KB)