← Back to team overview

yade-users team mailing list archive

Re: [Question #169689]: Velocity gradient


Question #169689 on Yade changed:

    Status: Answered => Open

Chiara Modenese is still having a problem:
On 1 September 2011 17:00, Chareyre

> Your question #169689 on Yade changed:
> https://answers.launchpad.net/yade/+question/169689
>    Status: Open => Answered
> Chareyre proposed the following answer:
> For 1), you can also use cell->prevVelGrad in the function and
> everywhere in Newton (and update it). This attribute is currently useless.
> For 2), I think the two corrections should really be at different times.
> The convective term is a correction of velocity accounting for the
> displacement that occured between t-dt and t. This displacement is
> exactly v(t-dt/2)*dt.
> The term with dVelGrad reflects an "impulse" (or acceleration) occuring
> at time t, yes, but it actually defines the velocity between t and t+dt
> (what we call v(t+dt/2).
> In other words, we correct the old, then we define the new.
> Computing an average velGrad for time t would not make much sense since
> velocities are never defined for integer steps.
In fact I was considering to compute the two corrections to the velocity
both at time t. As you say, we use dVelGrad to update velocity at mid-step.
For me it was correct to consider _both_ corrections at time t, being the
value we update at time (t+dt/2). Anyway there is the problem below where I
would use v(t+dt/2) to update v(t+dt/2). In fact the latter is not really
v(t+dt/2) since this is not yet updated.

I can only partially see what you are doing by splitting these two
contributions, one acting on the acceleration and the other one on the
velocity. Reading the chapter by Radjai in the Discrete Element book about
PBCs, I can see that they apply ONE single corrective term to the
acceleration (please see eq. 7.26 at pag. 190). However there is a
difference between their formulation and ours since they distinguish the
fluctuating velocity of the fluid particle to the velocity field applied
whereas we do not do that if not when we compute kinetic energy.

Can we somehow be consistent with their formulation which seems good to


> If you apply this idea in the cycle I described, if I'm not wrong, it
> would result in:
> * first step: v=v-0.25*0=0 (convective); v=dVelGrad*pos=-0.5 (like before)
> * second step: v=v+0*meanVel=-0.5 (no correction); v=v+dVelGrad*pos=0
> As you see the particle is stuck at second step. The cell is deforming
> but the particle doesn't move.
> I'm not really sure I'm applying your suggestion correctly because in
> fact this equation looks recursive to me:
> v+=(prevVelGrad+velGrad)/2 * (v(t+dt/2)-a(t)*dt/2) * dt
> It means:
> v(t+dt/2)=v(t)+(prevVelGrad+velGrad)/2 * (v(t+dt/2)-a(t)*dt/2) * dt
> How can we use v(t+dt/2) to define v(t+dt/2)?
> Same remark for a(t), which is unknown before we apply this correction.
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/yade/+question/169689/+confirm?answer_id=5
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/yade/+question/169689
> You received this question notification because you asked the question.

You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.