Internal compaction with moment rotation law

Asked by Luc Sibille

Hi,

I am investigating the use of the internal compaction (growth of particles) inplemented in TriaxialStressController with the moment rotation law defined in Law2_ScGeom6D_CohFrictPhys_CohesionMoment.

Without changing anything the update of kn and ks with respect to the increasing size of particles seems to work fine. However the moment stiffnesses kr and ktw, and the value of plastic bending moment maxRollPl depends also on the size of particles and their update is not implemented.

Would you agree with an additionnal condition in TriaxialStressController::controlInternalStress after the update of kn and ks as:
if contact physics == CohFrictPhys
then update kr, ktw and maxRollPl

In such a case do you know how to identify in C++ the kind of contact physics, or in other words how to implement "if contact physics == CohFrictPhys"?

Luc

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Luc Sibille
Solved:
Last query:
Last reply:
Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#1

After a short discussion with Luc, defining a grow() function inside the
IP classes seems to be the best/cleaner way.
It would be called for all interactions when sizes are changed. Ideally,
it could work even when not all particles are growing at the same speed.
Would somebody have another idea?

Bruno

Revision history for this message
Luc Sibille (luc-sibille) said :
#2

Thank you Bruno. At the present time I finally chosen the simplest way, I coded the update of moment stiffnesses with python. Of course the computational cost is more important. I may try to define a grow() function in C++ as you suggested later.
Luc