← Back to team overview

yade-users team mailing list archive

parallelization & per-step callbacks


1. Hi, last time we spoke about parallelization, it was the response
calculation that was supposed to be distributed. Obviously, sphere
collision is about the easiest collision one can do (except for
degenerate cases like point collision...), therefore it is
understandable that it takes as few as 16% of time in yade (information
from Bruno - I hope to emember that one right). 

It will gain much less for non-spehrical elements. Potapov reports
(article from cca 1996) that for 4hedra, his code consumed about 80% of
time on collision detection.

Therefore, collision detection should be parallelized as well; since it
is well-defined series of one-to-one tests, it should be rather easy,
given that bodies are divided (by some spatial criterion) in groups,
with but a few extra-group collisions.

I will try (time permitting) to do some profiling of the code so that it
is obvious what takes how much time and for what configurations
(dense/sparse, spherical/box/... elements). Or has it been done already?

Or did I miss the point of parallelization completely?

2. I don't know yade's internals very well, so I'd like to ask if there
is some sort of user-definable per-timestep callback function. What I
would like: a custom function that file-outputs velocity of an element,
relative displacements of a few elements (and so on) so that I can graph
it with gnuplot or whatever else.


Václav Šmilauer
Yade-users mailing list

Follow ups