freud.voronoi.Voronoi does not wrap correctly and is very sensitive on buff

Issue #128 closed
James Antonaglia created an issue

If the parameter buff is too low, the length of the getVoronoiPolytopes() is not necessarily equal to the length of the input positions.

At least in 2D, computing the voronoi diagram does not seem to respect the periodic boundary conditions, and the degree to which the periodic boundaries are not respected depends on the value of buff.

Comments (1)

  1. Bradley Dice

    The voronoi behavior is only guaranteed to be correct with periodic boundaries when the buffer distance is equal to half of the box's largest side length. Smaller buffer sizes are fine for dense crystals, but droplets and dilute systems may fail to compute the correct Voronoi cell if they can't find enough replicated neighbors in the buffer region. A significant amount of work has been done on voronoi since this issue was filed, so I believe that any underlying problems in the code have probably been resolved. However, we need to write documentation for voronoi and include that information. I am closing this issue and opening a doc-writing issue #161.

  2. Log in to comment