Dear Steve and Arun,
Thank you for the detailed response and suggestions. I am still working on finding example cases where the problem occurs after a short run.
I understand the accuracy problem due to the fixed nx,ny,nz for the pppm grid. However, in some of the systems I forced the pppm grid to the initial nx,ny,nz values and the estimated accuracy was not changed significantly, nor was the energy. Partial charges are ok. Potential is OPLS, so nothing particularly fancy. Performing minimizations during equilibration seemed to help, but so did intermittently interrupting the simulation and restarting it (new run command).
Concerning the neighbor lists, I used the command neighbor_modify delay 0 every 1 check yes in addition to neighbor 2.0 bin in all the simulations.
I am still checking the code to find where the grid is remapped to the simulation box. If I am correct this is performed in pppm.cpp by the function pppm::set_grid_local() (according to the comment // reset portion of global grid that each proc owns in pppm::setup_grid()). However, in the function pppm::compute() I see no call to set_grid_local prior to mapping the atoms on the pppm grid. I have a feeling that this may be related to the issue. What do you think? Or am I off track?
Dr. Daniele Savio
Fraunhofer Institute for Mechanics of Materials IWM, Freiburg, Germany