← Back to team overview

yade-users team mailing list archive

Re: Physics Dispatcher


> Quick general question on the dispatchers. Why do we need a physics 
> dispatcher? I mean, if I try to think about it once we have all the information 
> concerning the bodies involved in that should be enough to go on with the loop. 
> what is the point here?
In most cases, the iphys functors assign interaction properties that
depend on materials only when the interaction has just been created, and
are no-ops once the interaction has been created.

The point is (as I see it) that you don't access bodies from inside the
interaction loop; that might improve memory locality (and speed) and
also will be beneficial if we (ever) go to distributed memory computing,
where the body might be on another node.

I admit that the design here is not perfectly clear, since many iphys
functors access interaction geometry (i.e. to assign stiffness based on
sizes of particles); originally I believe it was thought that igeom and
iphys are completely orthogonal and only meet in the constitutive law

I hope this clarifies the issue (you are welcome to suggest improvements
as well, but they might not be implemented due to lack of manpower).

Cheers, Václav