[Yade-dev] [Bug 1475844] Re: Swap problem in InteractionLoop

2015-07-23 Thread Václav Šmilauer
Hi Bruno, I think the two-step solution is right as far as I can see. For the performance, I apologize for my incorrect statement; you're right about this. The logic is a bit different in Woo (https://github.com/eudoxos/woodem/blob/master/pkg/dem/ContactLoop.cpp) and I will check again what is ha

[Yade-dev] [Bug 1475844] Re: Swap problem in InteractionLoop

2015-07-23 Thread Bruno Chareyre
@Vaclav >I removed this functor caching, since it does not seem to bring any benefit >performance-wise. IIRC the change [1] gave a significant (clearly measurable) speedup. Before the change it was like this: if (noIGfuntor || noIPfunctor) assignIGfunctor(); if (!IGfunctor.go()) continue; assign

[Yade-dev] [Branch ~yade-pkg/yade/git-trunk] Rev 3707: add a new version of capillary law. (pushed by Caroline)

2015-07-23 Thread noreply
revno: 3707 committer: Chao Yuan timestamp: Thu 2015-07-23 19:26:21 +0200 message: add a new version of capillary law. (pushed by Caroline) added: pkg/dem/CapillaryPhys1.cpp pkg/dem/CapillaryPhys1.hpp pkg/dem/DelaunayInterpolatio

[Yade-dev] [Branch ~yade-pkg/yade/git-trunk] Rev 3706: Removal of python O.engines reference

2015-07-23 Thread noreply
revno: 3706 committer: jduriez timestamp: Thu 2015-07-23 10:20:49 -0600 message: Removal of python O.engines reference modified: py/wrapper/yadeWrapper.cpp -- lp:yade https://code.launchpad.net/~yade-pkg/yade/git-trunk Your team Y

Re: [Yade-dev] [Branch ~yade-pkg/yade/git-trunk] Rev 3705: Addition in doc of Omega.engines to state it is = to O.engines in python

2015-07-23 Thread Bruno Chareyre
On 23/07/15 15:04, Jan Stránský wrote: > @Bruno: O is defined a a global variable but it is just a convention. > If you continued: > > bla = Omega() > bla is O # False > bla == O # False > bla.engines == O.engines # True :-) > # probably some consequence of defining Omega as singleton in C++ (the >

[Yade-dev] [Bug 1475844] Re: Swap problem in InteractionLoop

2015-07-23 Thread Bruno Chareyre
Thank Vacalv, So the two-step solution is: - Implement goReverse (i.e. exactly the "Ip2_Mat1_Mat2/Ip2_Mat2_Mat1" pair but in a single functor. - enable swap and remember it somehow (bool InteractionPhysics::swapped maybe?) -- You received this bug notification because you are a member of Yade d

Re: [Yade-dev] [Bug 1475844] Re: Swap problem in InteractionLoop

2015-07-23 Thread Václav Šmilauer
Hi, My next questions (result of not knowing the code well enough): - is asssert necessary in [1]? Not really necessary. It just means that goReverse would have to be implemented properly, which, back then, was not the case with any of the existing Ip2 functors. With swap==true, you'd have to c

Re: [Yade-dev] [Bug 1475844] Re: Swap problem in InteractionLoop

2015-07-23 Thread Jan Stránský
This situation is partly described in [2]. I used it just in a special case: - spheres with CpmMat - facets with FrictMat - Ig2_Facet_Sphere - Ip2_FrictMat_CpmMat so Ig2 always order the particles with different shapes in order Facet-Sphere, so the materials are also ordered FrictMat-CpmMat fittin

Re: [Yade-dev] [Branch ~yade-pkg/yade/git-trunk] Rev 3705: Addition in doc of Omega.engines to state it is = to O.engines in python

2015-07-23 Thread Jan Stránský
@Bruno: O is defined a a global variable but it is just a convention. If you continued: bla = Omega() bla is O # False bla == O # False bla.engines == O.engines # True :-) # probably some consequence of defining Omega as singleton in C++ (the C++ object is the same but Python object wrapping it no

Re: [Yade-dev] [Branch ~yade-pkg/yade/git-trunk] Rev 3705: Addition in doc of Omega.engines to state it is = to O.engines in python

2015-07-23 Thread Bruno Chareyre
> bla=Omega() > bla.engines? > Docstring: [...] accessed using O.engines > > Do you see the problem? Do I really access the engines of "bla" as > "O.engines"? For some reason the answer is actually "yes", haha. But I guess you will get the general idea. B __

Re: [Yade-dev] [Branch ~yade-pkg/yade/git-trunk] Rev 3705: Addition in doc of Omega.engines to state it is = to O.engines in python

2015-07-23 Thread Bruno Chareyre
On 22/07/15 17:52, Jerome Duriez wrote: > Hi, > > I modified the documentation of "engines" attribute of "Omega" class. > The logic behind is that maybe some users do not know that Omega > object is accessed through "O"... > (at least this does not appear on > https://yade-dem.org/doc/yade.wrapper.

[Yade-dev] [Bug 1475844] Re: Swap problem in InteractionLoop

2015-07-23 Thread Bruno Chareyre
I don't understand this assert either. Just adding more questions: -Can the same problem also appear in Ip2_FrictMat_CpmMat_FrictPhys? -This one requires that mat1 is Frict and Mat2 is Cpm, how can it be always true? [4] The good fix would be to let materials be swapped, I don't believe it really