Update algorithm of shear displacement
Hi everyone,
My questions concern the algorithm used for the shear dispalcement update and its implementation is the class ScGeom. I would like to fully understand the update procedure but it seems like there are discrepancies between the documentation and the code.
In the documentation ( https:/
Getting into the corresponding code from the class ScGeom ( https:/
The determination of these axes is performed in the ScGeom::precompute function. While the definition of the orthonormal axis (line 27) corresponds to what the documentation says, the definition of the twist angle and axis (lines 28,29) differs from the formula in the documentation in that is uses the variable "normal" for the current normal vector n° and not "currentNormal".
Regarding the documentation, shouldn't the second rotation of the shear dispalcement (around the twist axis) be applied to the shear displacement already updated by the first rotation (around the orthonormal axis), as it is in the function ScGeom::rotate ? That is :
(\Delta \uT)_2&=-(\prevuT + (\Delta \uT)_1) \times\
instead of
(\Delta \uT)_2&
And keeping the summation of the 3 increments as it is.
Regarding the ScGeom::precompute function, shouldn't the twist axis be around the current normal vector n° as it is in the documentation ? That is replacing the variable "normal" by "currentNormal" in lines (28,29) ? This way the rotations would be properly composed :
- rotation around the orthonormal axis first brings the previous normal vector together with the current normal vector.
- rotation around the twist axis (that is colinear to the current normal) then performs the remaining rotation.
I would really appreciate your help and hope I have been understandable and clear.
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Jibril Coulibaly for more information if necessary.