yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #08273
Re: [Yade-users] Optimized contact detection available
>> - One problem in your script it there are no spheres at startup, hence the
>> collider can't determine a verletDist and then it runs at each iteration,
>> which take a lot of time. I got a significant speedup by setting verletDist
>> explicitely to something positive (e.g. 0.002). I added a message warning
>> the user at runtime when the collider fails finding a valid verletDist.
> Ok
>
Actually, there may be no other option for you than using verlet=0
currently if you are creating spheres very intensively.
If, let's say, you create one sphere at each iteration and the collider
runs each 10 iterations, then the spheres created between each colliding
will not "see" each other, hence the "jumping sphere" problem (probably
also the !bound problem comes from this).
A smart solution would be to delay spheres creation so that they are
created all at once each 10 iterations, or to remember which ones were
created to avoid creating another one at the same place.
If the collider takes more than 50% of cpu time in your simulation it is
worth a try (usually the case when N>20k), else you could continue using
verlet=0.
It would be usefull maybe to make sure that the collider is triggered
each time a body is added, since it is not the case apparently.
I wonder if your script are working with version<bzr3000 and verlet>0.
Did you try that before?
Bruno
References