You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've found that using neighbor lists together with rigid bodies sometimes gives wrong results when using cell lists to build the neighbor lists.
I think this is caused by rigid_body.union_to_points mapping some of the points outside the simulation box if the center of mass is near the edge of the box in combination with some (potentially missing) bounds checking in the cell_list code.
This bug can be demonstrated with a single dimer interacting via a soft-sphere potential . This isn't a super clean example as changing the orientation from 0 to pi changes the output of the neighbor list calculation even though this results in the same configuration if particle labels are permuted but I haven't yet been able to further narrow it down.
Shifting the output of rigid_body.union_to_points by zero using the shift function seems to do the job to make sure that the correct neighbor list is allocated.
The text was updated successfully, but these errors were encountered:
I've found that using neighbor lists together with rigid bodies sometimes gives wrong results when using cell lists to build the neighbor lists.
I think this is caused by
rigid_body.union_to_points
mapping some of the points outside the simulation box if the center of mass is near the edge of the box in combination with some (potentially missing) bounds checking in the cell_list code.This bug can be demonstrated with a single dimer interacting via a soft-sphere potential . This isn't a super clean example as changing the orientation from 0 to pi changes the output of the neighbor list calculation even though this results in the same configuration if particle labels are permuted but I haven't yet been able to further narrow it down.
Shifting the output of
rigid_body.union_to_points
by zero using theshift
function seems to do the job to make sure that the correct neighbor list is allocated.The text was updated successfully, but these errors were encountered: