← Back to team overview

yade-dev team mailing list archive

Critical bugfix for periodic boundaries

 

Hello all,
A recent commit [1] fixed a critical bug of contact detection in periodic boundary conditions. All simulations with periodic conditions are potentially affected.
I strongly suggest an update for everyone using periodic boundaries.

I know personally at least four users who suffered from this bug over the last six years, I imagine many more have had the same problem without understanding it. Typically, a periodic simulation would crash in a (seemingly) non-deterministic way, after hours or days of simulations. It was actually the consequence of having one or more particle inside another, because the contact between them was missed (hence if you have unexplained crashes, stop the simulation right before it and check if you find particles overlapping too much).

The logic of periodic sorting is so involved (I'm glad Vaçlav invented it) that I don't dare trying to explain the problem in details. The short story: in contrast with the non-periodic case sorting elements of a periodic ring can't be done in N steps (at least with our algorithm, N being the number of elements). As it was the case before the fix the list of positions was left partially un-ordered.

Cheers.

Bruno

[1] https://github.com/yade/trunk/commit/c7c8e6f62d452c81a31415f05a12587a6cc8c452



--

_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53
38041 Grenoble cedex 9
Tél : +33 4 56 52 86 21
Fax : +33 4 76 82 70 43
________________

Email too brief?
Here's why! http://emailcharter.org




Follow ups