Comment 2 for bug 1026073

Revision history for this message
Jan Stránský (honzik) wrote : Re: [Yade-dev] [Bug 1026073] [NEW] "calm function" inside source code

Hello Christian,

I would say it will be faster in c++ (as almost anything :-). Esepcially
here you can save a lot of time by changing allocation of new Vector3r
object for each particle to just rewriting doubles.

As the place I would use Shop.*pp file for c++ code and utils module for
python interface (if nobody else disagree).

regards
Jan

2012/7/18 Christian Jakob <email address hidden>

> Public bug reported:
>
> Hi,
>
> I need a "calm function" for my generation process. In python code it
> looks like this:
>
> def calm():
> for b in O.bodies:
> if isinstance(b.shape,Sphere) or b.isClump:
> b.state.vel = Vector3(0,0,0)
> b.state.angVel = Vector3(0,0,0)
> b.state.angMom = Vector3(0,0,0)
>
> I detected, that it is very slow in the case it is called by PyRunner
> for e.g. every 2 steps.
>
> O.engines=O.engines+[PyRunner(iterPeriod=2,command='calm()')]
>
> Would it be faster, when it is implemented inside C++ source code?
> If yes, where can I implement it (which file)?
>
> Regards,
>
> Christian
>
> ** Affects: yade
> Importance: Wishlist
> Status: New
>
> --
> You received this bug notification because you are a member of Yade
> developers, which is the registrant for Yade.
> https://bugs.launchpad.net/bugs/1026073
>
> Title:
> "calm function" inside source code
>
> Status in Yet Another Dynamic Engine:
> New
>
> Bug description:
> Hi,
>
> I need a "calm function" for my generation process. In python code it
> looks like this:
>
> def calm():
> for b in O.bodies:
> if isinstance(b.shape,Sphere) or b.isClump:
> b.state.vel = Vector3(0,0,0)
> b.state.angVel = Vector3(0,0,0)
> b.state.angMom = Vector3(0,0,0)
>
> I detected, that it is very slow in the case it is called by PyRunner
> for e.g. every 2 steps.
>
> O.engines=O.engines+[PyRunner(iterPeriod=2,command='calm()')]
>
> Would it be faster, when it is implemented inside C++ source code?
> If yes, where can I implement it (which file)?
>
> Regards,
>
> Christian
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/yade/+bug/1026073/+subscriptions
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-dev
> More help : https://help.launchpad.net/ListHelp
>