← Back to team overview

yade-dev team mailing list archive

Re: periodic boundary consolidation

 

In r2696, I tried and isolated in #ifdef guards what (seems to me) is
not necessary in a new interface (but should be kept - at least partly -
for backward compatibility).
Of course, compiling without the #def breaks reg tests and existing
scripts, but appart from that it works correctly from what I can see.
Could we keep it like this to clearly indicate what should not be used
in future code and scripts? Else there is still a risk to see some
refSize emerge in future commits (new periEngine, stress evaluations,
strain definitions, etc.).

There is small difference between setBox and "size=". setBox() is
forcing axis aligned hSize. "size=" is not because it only update the
sizes of current vectors.
Since they do very similar things, we probably don't have to keep both
setBox and size=. I have a small preference for size= for the following
reason:

If R is a rotation matrix, the two following sequences will give
different results:
(1a) cell.setBox(v); cell.hSize=R*cell.hSize;
(1b) cell.hSize=R*cell.hSize; cell.setBox(v);

With "size=", the result will be the same :
(2a) cell.sizes=v; cell.hSize=R*cell.hSize;
(2b) cell.hSize=R*cell.hSize; cell.sizes=v;

1a, 2a, and 2b gives exactly the same result.
I tend to prefer something that gives ordering-independant behaviour,
mostly a matter of taste.

Cheers.

Bruno



References