Triclinic box with pppm/tip4p and MPI

I’m having trouble running "kspace_style pppm/tip4p” for triclinic boxes when running LAMMPS version 16Mar2018 with MPI.

The first part of the simulation is carried out with an orthogonal cell (i.e., no tilt factors defined) and it runs without any trouble.

After finishing the first part, I toggle to a triclinic box and redefine the kspace_style command (following the discussion here), and
try to run a few more MD steps using the same fixes:

fix nve all nve
fix langevin all langevin {tstart} {tfinal} {tdamp} {seed} zero yes

run ${nequil} #First part of the run, orthogonal box.

change_box all triclinic remap
kspace_style pppm/tip4p 1.0e-5

run ${nequil} #Second part of the run, triclinic box with zero tilt factors.

This entire script executes fine when running on a single processor, but when trying to run in parallel, the second run command crashes with
the message

ERROR: Out of range atoms - cannot compute PPPM (…/pppm_tip4p.cpp:107)

Any suggestions (input files attached)?

Maurice

I’m having trouble running "kspace_style pppm/tip4p” for triclinic boxes
when running LAMMPS version 16Mar2018 with MPI.

The first part of the simulation is carried out with an orthogonal cell
(i.e., no tilt factors defined) and it runs without any trouble.

After finishing the first part, I toggle to a triclinic box and redefine the
kspace_style command (following the discussion here), and
try to run a few more MD steps using the same fixes:

fix nve all nve
fix langevin all langevin \{tstart\} {tfinal}
\{tdamp\} {seed} zero yes

run ${nequil} #First part of the run, orthogonal
box.

change_box all triclinic remap
kspace_style pppm/tip4p 1.0e-5

run ${nequil} #Second part of the run, triclinic
box with zero tilt factors.

This entire script executes fine when running on a single processor, but
when trying to run in parallel, the second run command crashes with
the message

ERROR: Out of range atoms - cannot compute PPPM (../pppm_tip4p.cpp:107)

Any suggestions (input files attached)?

there were no files attached, but i could reproduce it locally with
other input data.

this is certainly a bug, but i don't know exactly how to fix it.

the thing with triclinic vs. orthogonal boxes in LAMMPS is, that for
many operations with triclinic geometry, LAMMPS simply switches to
fractional coordinates, where the cell is orthogonal again. however,
that requires adjustments to a number of things like cutoffs and
similar parameters, and that is not always done or not done
consistently.

what one needs to do to address this, is to follow the flow of control
for the case of orthogonal vs. triclinic without tilt and observe
where results change. that can become quite tedious...

axel.

Forwarding this to Stan - he can comment.

Steve

​Axel, can you post the reproducer on GitHub?

Thanks

Axel, can you post the reproducer on GitHub?

done: https://github.com/lammps/lammps/issues/869

axel.