Clump size limited to 256 bodies.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Yade |
Fix Released
|
Low
|
Christian Jakob |
Bug Description
Hi,
I noticed that there is a limited number of bodies you can add to clump::members : 256. Whatever method you use, if you put 257 members into a clump, the c++ map "members" will have the right number of keys (257), but all corresponding values of Se3r will be set to "nan". If you create a clump of 256 bodies, it will be ok first, but if you add one more body all clump members will be corrupted (see the script attached).
I think the problem doesn't come from the "map" type of C++ or the "dict" type of python, because they always have the right size, even if the clump size exceeds 256. It looks like a variable doesn't have sufficient memory allocated and I really wonder where ...
Does someone have an idea ?
Thanks
Changed in yade: | |
assignee: | nobody → Christian Jakob (jakob-ifgt) |
I would like to add one more precision :
Into the script I have sent, all spheres are aligned and if I put more than 256 spheres into the clump it will not work (with NaN). But if you replace (l. 37)
utils.sphere( (i,0,0) ,0.5
by :
utils.sphere( (i,rand( ),rand( )),0.5
then you have one chance out of two not to get the bug.
And if you put seed(x) somewhere at the top of the script (replacing x by whatever int you want), then it will always bugs, or always works depending on the int you choose.