← Back to team overview

yade-dev team mailing list archive

Re: PeriTriaxController

 

When I wrote : "If the displacement (resp. velocity) at the boundary is "u", then the displacement (vel) at the center should be "u/2", they ran to my office and told me no-no-no. ;-)

Let's start again.

H is in fact defined by 3 vectors. Say X=[X1 X2 X3], Y=[Y1 Y2 Y3] and Z=[Z1 Z2 Z3]:
   	| X1 Y1 Z1 |
H =	| X2 Y2 Z2 |
   	| X3 Y3 Z3 |
(Gael correct me if it's wrong)

As Gael said, r is the coordinate of each grain in the "real world".
s is the coordinate of each grain in a world where each component are in the range [-0.5 0.5] and X^Y=Z.
With this in mind, you can define a special body (TriPCell for instance) that hold H and a mass (typically the mass the entire system of particles).
This special body interact with all bodies so that its "acceleration" (second derivative of H) can be computed. its position can thus be integrated woth 2nde  Newton's law to compute dH/dt and H.


Assuming that the deformation is triaxial (no distorsion) - and assuming I understand correctly - we have :

  	| X 0 0 |
H =	| 0 Y 0 |
  	| 0 0 Z |

where _X,Y,Z are the sizes of the periodic cell_, and are control parameters for the problem.

Thus, imposing an increment of strain along axis Y means imposing a dY (resp. strain rate vs dY/dt).

So :
- if a particle as a in-cell coordinate s=(0;1;0) (top of the box), it will have a displacement dY in the real coordinate system. - if a particle as a in-cell coordinate s=(0;0.5;0) (middle of the box), it will have a displacement dY/2.
- etc.
(This is if the in-cell coordinates are in [0;1], easier for me. If they are in [-0.5;0.5], you translate this of course.)

Consequence : I don't see why we really need to define in-cell coordinates and H in a computer code (theoretical explanations is something else). The new "real" coordinate y*, of a point (x,y,z) after a deformation deyy is just :

y*  = deyy . Y . (y/Y) = deyy . y

Then, one can define deyy/dt as a function of applied stress (in fact more a function of the difference between the prescibed and the measured stress).

And finally, if the function is of the form d^2 eyy/dt^2 = sigma/m, one can say "m" is the inertia of the special body.

In yade, we can just control the periodic cell via X, Y, Z. Like this :

if we have imposed stress along x axis : d^2 X/dt^2 = sigma/m;
if we have imposed strain rate : dX = strain_rate * X * dt;
if we have imposed srain increment : dX = strain_increment * X;

do this for all three dimensions.

Then, for all bodies new_x = old_x . dX/X (or define a velocity if this is done BEFORE Newtons law integration).

It can be written like this : new_r = J * old_r

with J a proportional transformation matrix :

 	| dX/X 0 0 |
J =	| 0 dY/Y 0 |		
  	| 0 0 dZ/Z |


What's wrong with that?

It is easily generalized to arbitrary deformations, including distorsions, if one realize that J is also called?... the small-strain tensor! No surprise if they ignored that in fluid mechanics, they don't use this tensor much because they have large transformations.

Bruno


--

_______________
Chareyre Bruno
Maître de Conférences

Grenoble INP
Laboratoire 3SR - bureau E145
BP 53 - 38041, Grenoble cedex 9 - France
Tél : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43
________________




Follow ups

References