VORONOI bug (fixed)

Hello LAMMPS users,

Alexander Stukowski alerted me to a problem with the voronoi/atom compute whereas for the case of the polydisperse tessellation incorrect voronoi volumes are computed near periodic boundaries.
The cause of the issue was an incorrect use of the ghost atom communication which is needed to transmit the per atom radius for the polydisperse tessellation onto the neighboring cells’ ghost atoms. I used pack_comm and unpack_comm, where pack_forward_comm and unpack_forward_comm are needed. The attached files correct this issue.

Daniel Schwen

compute_voronoi_atom.cpp (17 KB)

compute_voronoi_atom.h (2.1 KB)

These will be in the next patch. Thanks Daniel and Alexander.


Just for the record. I screwed up the parallel communication stuff in this patch. There is a missing comm_forward = 1; in the constructor, and the return value of pack_forward_comm needs to be the total buffer used.
in examples/voronoi is a test input in.voronoi. If you use the voronoi compute I suggest verifying that all of the included tests return a 0% error (in parallel and serial).
Fixed file is attached.

compute_voronoi_atom.cpp (17 KB)