← Back to team overview

yade-dev team mailing list archive

Re: GlobalStiffnessTimeStepper

 

Václav Šmilauer a écrit :
Hi Bruno,

I was reading code of GSTS trying to write down what it computes. Do you
have some paper for reference?

The one in ASCE is explaining that in details.

1. Concerning per-body stiffness, we have diagonal terms of the
stiffness matrix Kii=(kn-kt)*ni²+kt. If I understand right, the
"rotational stiffness matrix" are non-diagonal terms of K,
No. Think to K as a 6x6 matrix with one line per DOF. Taking the diagonal means you ignore cross-dependency (e.g. a rotation of the body generating a force, or a displacement on X giving a force on Y).

Now, e.g. in  http://www.fisica.ufc.br/hans/p/256.pdf (please swallow
the fact that they use (1), that is not important now) eq. (16) gives
local rigidity proportional to

  (Kn N ⊗ N)+(Kt T^T T)

where N and T are projection tensors defined in (5).

Now, I am not able to make up my mind whether these two definitions are
equivalent (neglecting the difference kn vs. Kn). Can you enlighten me
on that?

Isn't it exactly the same?

2. If I see correctly, computation of timestep from rotational stiffness
is mathematically incorrect; e.g. line 39:
dtx = sdec->inertia.X()/Rstiffness.X();

as it mixes up inertia.X() in local frame and Rstiffness.X() in global
frame. For spherical particles, that makes no difference, of course.

You are right.

Bruno



References