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 happening for contacts of undefined shape combination there (those should be minimized via particle masks, but who knows). What I meant is that IIRC the dispatcher lookup is so fast that IIRC it brings very little to cache the result of the lookup as opposed to calling the dispatcher directly (in normal circumstances, not when it repeatedly fails, as in your examples). Cheers, v. -- You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. https://bugs.launchpad.net/bugs/1475844 Title: Swap problem in InteractionLoop Status in Yade: New Bug description: When you use two different materials, it might happen that IntreactionLoop ends with error [1]. It is because of IPhys stage (see also the comment in [1], but in reality Ip2 can by non-symmetric). Possible solutions: 1) define both Ip2_Mat1_Mat2 and Ip2_Mat2_Mat1 (according to [2] maybe does not work..) 2) replace assert [1] (something like if (swap) { I->functorCase.phys=physDispatcher->getFunctor2D(b2->material,b1->material,swap); swap=false }). Is the assert necessary at all? 3) make option 1) somehow automatic (using some macro?) Pros and cons: 1) would mess the source code and documentation a bit, but otherwise I think it is ok 2) would it have some side effects? Is it ok for Law2 stage? etc etc? 3) maybe the best option if the solution is reasonable cheers Jan [1] http://bazaar.launchpad.net/~yade-pkg/yade/git-trunk/view/head:/pkg/common/InteractionLoop.cpp#L116 [2] https://answers.launchpad.net/yade/+question/269315 To manage notifications about this bug go to: https://bugs.launchpad.net/yade/+bug/1475844/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp