error: Body's boundary metting its opposite boundary

Bug #669095 reported by Sergei Dorofeenko
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Yade
Fix Released
Undecided
Václav Šmilauer

Bug Description

When I try to add polydisp spheres into periodic domain I get a error:

FATAL /home/sega/work/yade/trunk/pkg/common/InsertionSortCollider.cpp:343 insertionSortPeri: Inversion of body's #29 boundary with its other boundary, 0.5 meets 0.375
FATAL /home/sega/work/yade/trunk/core/ThreadRunner.cpp:31 run: Exception occured:
/home/sega/work/yade/trunk/pkg/common/InsertionSortCollider.cpp: Body's boundary metting its opposite boundary.

With monodisp spheres no error occurs.

I attach a test script.

Related branches

Revision history for this message
Sergei Dorofeenko (sergei.dorofeenko) wrote :
Revision history for this message
Václav Šmilauer (eudoxos) wrote :

This looks like a genuine bug. My nightmare of a bug in the collider comes true :-| I will try to isolate minimal acse and fix it, but it can take a while. I could disable the exception for now, but I fear that it could just hide some other problems which are not noticed.

Changed in yade:
assignee: nobody → Václav Šmilauer (eudoxos)
status: New → Confirmed
Revision history for this message
Václav Šmilauer (eudoxos) wrote :

Ok, I run in the same problem with updated regular-sphere-pack.py where there is facet perpendicular to z, where for some reason the maximum is reported to be smaller than the minimum, even though the numbers are the same (to the machine precision). The problem is apparently in the operator< and operator> defined on bounds, which handles same-id situation specially -- with equal coordinates and ids, the minimum is always smaller. I don't know how it can happen that the minimum is above the maximum (hence triggering the inversion). The next commit will contain the fix, which esentially avoids calling handleBoundInversion if the ids are identical.

Revision history for this message
Václav Šmilauer (eudoxos) wrote :

Fixed in the subdomains branch (it is not sure when it will be merged back to trunk, though -- I will use Fix Commited instead of Fix Released for now).

Changed in yade:
status: Confirmed → Fix Committed
Revision history for this message
Anton Gladky (gladky-anton) wrote :

Vaclav, is it possible to apply this fix to the current trunk?

Revision history for this message
Václav Šmilauer (eudoxos) wrote :

Merged to trunk.

Changed in yade:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.