← Back to team overview

yade-users team mailing list archive

Re: [Question #694531]: non linear shear: How to implement it?

 

Question #694531 on Yade changed:
https://answers.launchpad.net/yade/+question/694531

    Status: Open => Answered

Jan Stránský proposed the following answer:
Ah, ok, I see, thanks for clarification.

> Shear force uses an incremental formulation whereas normal force and
moment uses an absolute formulation. (At least in the code for
Law2_ScGeom6D_CohFrictPhys_CohesionMoment)

As you pointed, "this model will not work", so to achieve this, you need a new material model (new Law2 and probably new IPhys).
Implementing the new model, just use the absolute formulation :-)

E.g. CPM uses "absolute formulation" [1,2], have a look

ScGeom and derivatives store shear increment. To use shear displacement, you can:
- use different IGeom (much more work)
   - either using shear displacement somehow directly
   - or deriving from ScGeom and storing shear displacement (incremented every iteration by shear increment)
- use ScGeom, but in the new IPhys, store total shear displacement (updated every iteration by shear increment)

Using just shear increment is very reasonable. In the framework of DEM, the shear increment is "small" and can be easily considered "linearized".
Shear displacement is not used for two reasons.
1) is it not needed by current models
2) total shear displacement may be "large" and tricky

Concerning "large" shear displacement, there are some tricky situations you should take into account:
- the two spheres rotate in space as a rigid body. What does it mean to shear displacement? (note the "geom->rotate(epsT)" a few lines before [2])
- two spheres touches along z direction (at "north pole" of the bottom sphere). The upper sphere "shears down", such that the two spheres touches at "equator" of the bottom sphere. What should be the shear displacement? A "diagonal" vector connecting north pole and equator? Or rather some orientation quantity storing the 90 degrees? or ... ?
- as above, but the the upper sphere makes a round, ending at "north pole" again. What should be the shear displacement? If you just sum the increments, wouldn't the result be zero vector? Or again, maybe some orientation using the 360deg fact?
- as above, but the upper sphere shears from north pole some angle to south, some angle to east, some angle to north ending at north pole again. What should be the shear displacement at each state?
- ... ?

Some of above are more academical (the 360deg case), but the other must be taken into account for a solid model.
Even for angles << 90deg, you get discrepancy between sum of increments and "angle representation" of shear.

cheers
Jan

[1] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ConcretePM.hpp#L193
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ConcretePM.cpp#L404

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.