← Back to team overview

yade-dev team mailing list archive

Re: Modified GlobalStiffnessTimeStepper for visco-elastic contact law

 

Hi Raphael,

You explanations should definitely go to the documentation. You can take
the text below and put it in good shape for the class documentation of
the viscous timeStepper.

>
> I have some questions about that :
> - Does the evaluation of the time step seems reasonable to you?
>
I think so, since you re-used our approach. ;)

> - What can I do to test it quantitavely ? (if I try a collision
> between two beads, GSTS does not work..)
>
A good test is this:
- start from an equilibrated dense packing(this is the worst case in
terms of timestep). The end of a gravity deposition with 100 spheres,
for instance.
- then
 while kinetic energy < smth:
    run(20)
    O.dt = 1.1*O.dt #make sure the timeStepper will not interfere by
setting its own dt

The transition between a very small kinetic energy and an explosion is
very sudden, it will let you evaluate the critical timestep very
precisely and compare with your theoretical value.

> - To add it to the code, should I add it as a new "file"/"function" or
> should I implement it as an option of GSTS ?
>
Merging in the existing one is better. It will need to assume that the
user is activatingthe viscous part of the calculation wisely (and that
it is disabled by default).
It is the only way to avoid dynamic casts to check if each interaction
does/not have a viscosity.
>
> And about GSTS in general :
> - why is GSTS not working when we consider a gravity deposition or a
> collision ?? (even when defaultDt is small enough)
>
What "not working" means here? Collisions introduce an additional
restriction: dt < velocity/diameter, else one particle can go through
another in less than one step, hence never detected (or poorly resolved).
This is independant of the stability condition of the scheme.

Bruno


References