yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #10475
Re: Why Ip2 functors must be symmetric?
Hi Bruno
> Why would you define a body with FrictPhys if is supposed to have a
> cohesive behavior with others?
> You can just give CohFrictPhys to everyone.
That's what I did so far but it is not always possible.
> > Any idea about the goReverse? Can it be removed?
>
> Maybe not removed. I think it is necessary, precisely because we can
> have non-symmetric functors. If you swap ids in Ip2 you may break the
> work of the Ig2.
> The go reverse is here for this reason (handling non-symmetric cases
> without forcing a specific ordering of id1/id2 and without the need to
> define to functors).
The comment in line 98 in IntersectionLoop.cpp says:
// arguments for the geom functor are in the reverse order (dispatcher would
normally call goReverse).
// we don't remember the fact that is reverse, so we swap bodies within the
interaction
// and can call go in all cases
In fact, it seams goReverse is never called because bodies are swapped before.
So maybe we can get rid of it???
Klaus
Follow ups
References