← Back to team overview

yade-users team mailing list archive

Re: Be carefull with "normalize"



Is the "normalize" function from wm3 used currently in Yade? I mean not in specific packages your are developing at the present time but in some basic and usual computation made in Yade. I think for instance to the computation of the normal vector defining the intergranular contact plane (for the DEM), or something else. If yes it could a real problem...

Bruno have you got an idea of the default value of the "tolerance" value? The reason for this check could be to avoid a division by zero or "something" to close to zero.


Bruno Chareyre a écrit :

Be aware that if you use the "normalize" function from wm3, it might give the result (0,0,0) if the norm of the vector is smaller than a "tolerance" value. It sounds very strange to me, as I see no reason for this check, and I was wondering if it could not cause problems in some cases, when a "normalized" vector has length 0... Janek had this problem when defining the normal of some triangular facets (of small size) by normalizing the cross product of edges vectors. I prefer not to be the only one thinking about this potential problem, which probably needs a fix.

A few ideas from a discussion with Janek :
1- possibly fix minWm3 so that the test vs. tolerance is removed
2- display a warning to the user when the tolerance is hit and the vector is "rounded" to (0,0,0)
3-  run batch tests with/without the tolerance test


Luc Sibille

Université de Nantes - Laboratoire GeM UMR CNRS

IUT de Saint Nazaire
58, rue Michel-Ange - BP 420
44606 Saint-Nazaire Cedex, France

Tel: +33 (0)2 40 17 81 78

Follow ups