← Back to team overview

yade-dev team mailing list archive

Re: [Yade-users] Optimized contact detection available

 

Hi Bruno,

> - A crash sometimes (not very often) occurs in GLrender(), it is apparently> due to deleted body. i could reproduce it before and after bzr3001. I never> crashed without opening the GL view.

I know about the problem with OpenGL-crashes. But for working
simulations I do not use graphic at all. Anyway I have catched the
backtrace from the crash (rev. 3007):

===============
python: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const
[with T = Bound]: Assertion `px != 0' failed.
===============

Please, have a look.

> - 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

> - I saved a bit more cpu by removing gravityEngine and using Newton::gravity
> instead.
Thanks for the tip. Will try on my working scripts.


Anton



On Mon, Jan 30, 2012 at 1:41 PM, Bruno Chareyre
<bruno.chareyre@xxxxxxxxxxx> wrote:
> Hi,
>
> Thanks for the script Anton. This is what I found:
> - A crash sometimes (not very often) occurs in GLrender(), it is apparently
> due to deleted body. i could reproduce it before and after bzr3001. I never
> crashed without opening the GL view.
> - There was a typo in the modified probe(), it is fixed. There was also the
> problem of comparing the ref. positions of aabb instead of current position
> of body, it is fixed too.
> - 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.
> - I saved a bit more cpu by removing gravityEngine and using Newton::gravity
> instead.
>
> I'm sending the fixed script.
> Please let me know how bzr3007 works in your true working scripts.
>
> Klaus,
> I found that clumps were still using an old function from Newton. As a
> consequence, striding was broken and the collider was acting at each
> iteration. I get speedup on your script with bzr3007, give it a try. (Don't
> use Newton::gravity though, it breaks something in your script and I'm still
> investigating).
>
> Bruno
>
>
>
>
> On 27/01/12 21:03, Anton Gladky wrote:
>
> Hi, Bruno,
> I have prepared a small test-script from "examples/packs.py". It is
> similar to one, which is crashes in my case,I could not "catch" a
> crash with this test-script, but it seems, BoxFactory creates new
> spheres not in the right places:some of particles are "jumping", it
> can be caused by the initial overlapping.
> Anton
>
>
>
> On Fri, Jan 27, 2012 at 7:43 AM, Anton Gladky <gladky.anton@xxxxxxxxx>
> wrote:
>
> Ok, I have got a "segmentation fault".
>
> Will try to prepare a simple test-script.
>
> Anton
>
>
>
> On Thu, Jan 26, 2012 at 12:22 PM, Bruno Chareyre
> <bruno.chareyre@xxxxxxxxxxx> wrote:
>
> Could you please try bzr3006?
>
> B
>
> I have tried one of my working scripts and the results are not good.
> The new version is dramatically slower. Not sure what is the reason,
> but it seems
> the bottleneck is SpheresFactory which is working with new version
> incorrectly and
> cannot find places for new bodies.
>
> Bruno, is there an opportunity to use both algorithms: old and new one?
>
> It is very difficult to keep both logics Anton, it would combine
> disadvantages from each side. I should understand what the problem is in
> SpheresFactory and fix it. Since I didn't touch this code, I'm really
> curious about the problem. Are you doing operations in SpheresFactory at
> runtime?
> Could you send an example script?
>
> Bruno
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>
>
> --
> _______________
> Bruno Chareyre
> Associate Professor
> ENSE³ - Grenoble INP
> 11, rue des Mathématiques
> BP 46
> 38402 St Martin d'Hères, France
> Tél : +33 4 56 52 86 21
> Fax : +33 4 76 82 70 43
> ________________
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help   : https://help.launchpad.net/ListHelp
>
>
>
> --
> _______________
> Bruno Chareyre
> Associate Professor
> ENSE³ - Grenoble INP
> 11, rue des Mathématiques
> BP 46
> 38402 St Martin d'Hères, France
> Tél : +33 4 56 52 86 21
> Fax : +33 4 76 82 70 43
> ________________
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help   : https://help.launchpad.net/ListHelp
>


Follow ups

References