Quasi-static simulation

Asked by Sina Jafari

Hi everyone,
I've got a question regarding numerical stability of a simulation. When do we call a simulation "quasi-static" ? If we keep the unbalanced force index value under say 0.01 to 0.02, does that mean we are in a quasi-static regime in the simulation? what are the factors that affect this in a simulation?

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Sina Jafari
Solved:
Last query:
Last reply:
Revision history for this message
Jan Stránský (honzik) said :
#1

Hi Sina,

> I've got a question regarding numerical stability of a simulation.

I have an impression that your question is not about numerical stability..

>When do we call a simulation "quasi-static" ? If we keep the unbalanced
force index value under say 0.01 to 0.02, does that mean we are in a
quasi-static regime in the simulation?

There is IMO no strict definition, it depends on circumstances and personal
decision.. you can for example define the state by unbalanced force or you
can use different criterion, like ratio of kinetic and elastic energy.. you
can get very different results. personally I call the check of unbalanced
force as a check of quasi-equilibrium (or quasi-static equilibriun) rather
than quasi-static. Comparing energies sounds for me more natural for
defining if a simulation is static.

Please note that this part of my answer is just my opinion.

>what are the factors that affect this in a simulation?

E.g. damping influences this as more damping dissipate more energy from the
system. Also boundary and initial conditions can have significant influence.

Cheers
Jan

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#2

>When do we call a simulation "quasi-static"

An evolution is quasi-static when every intermediate state is at static equilibrium. With this strict definition most DEM simulations are not QS since there are dynamical events on short timescales.
A less demanding and widely used meaning of QS is that the result is independant on the loading rate, and it provides a clear criterion for judging if a simulation is QS (change the rate: do you have the same result?). This property is also correlated with unbalanced forces, or kinetic / elastic energy.

>what are the factors that affect this in a simulation?

If a particular simulation has a kind a "loading rate", then it is most likely the primary variable controlling quasi-staticity.
QS property is also generally a decreasing function of damping (yes: decreasing). The lower the damping, the better the quasi-staticity.

Revision history for this message
Sina Jafari (sinajafari88) said :
#3

Thank you very much Bruno and Jan.
The reason why I asked this question is that I want to study fabric evolution in a granular packing under isotropic loading. To do so, I need to conduct simulations while keeping them in a quasi-static regime which can only be achieved by controlling input parameters of my simulation (especially loading rate and damping). Since I have a large number of spheres in my simulations ( 250000 Spheres) and a small time-step, reducing loading rate can lengthen computation time up to a month as they take 4 days to complete right now with a loading rate of 0.0002!
I wanted to know that what is the effect of NOT having quasi-static conditions on simulation results? for example Average coordination number or average normal contact force? to my mind, such condition can lead to significant changes in material fabric because contacts are likely to be lost in such simulation!

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#4

>I wanted to know that what is the effect of NOT having quasi-static conditions on simulation results?

Increase the loading rate and see the result?

Revision history for this message
Sina Jafari (sinajafari88) said :
#5

Thanks Bruno, Actually results change significantly when loading rate increases. How can I force the system to become static at this point? I tried to calm the system by setting velocities to zero but unbalanced force index goes up by doing so, why is this happening?

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#6

You can't force the system to be static in explicit dynamics, the system does what it has to do.
"Calming" the system is like using a large damping: the system would converge to an equilibrium eventually, but you refrain it from doing so. The result is even worst.
The only way is to reduce strain rate (in strain per second) again.
Another question is to know if you could increase computation rate (in strain per iteration), i.e. using a larger timestep. Practically:
1/ do you use the largest possible timestep, and if so
2/ do you really need such a high contact stiffness?
3/ do you need so many particles?

If the the answers are yes/yes/yes, the only solution is to wait longer.

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#7

And also: do you use any kind of damping or viscous contacts?

Revision history for this message
Jan Stránský (honzik) said :
#8

Hi Sina,
could you please send us a short script? It would help us to inderstand
exactly what is hapenning in your simulation
Thanks
Jan

2014-05-15 11:21 GMT+02:00 Sina Jafari <<email address hidden>
>:

> Question #248341 on Yade changed:
> https://answers.launchpad.net/yade/+question/248341
>
> Status: Answered => Open
>
> Sina Jafari is still having a problem:
> Thanks Bruno, Actually results change significantly when loading rate
> increases. How can I force the system to become static at this point? I
> tried to calm the system by setting velocities to zero but unbalanced
> force index goes up by doing so, why is this happening?
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Sina Jafari (sinajafari88) said :
#9

Thank you very much Bruno, I answer your questions as follows:
1- I'm using globalstiffnesstimestepper, so yes I think I'm using the largest timestep possible.
2- The contact stiffness I use is in the order of 10^8 Pa which is not a high value for studying a granular packing in range of sands.
3- The PSD of the soil I try to simulate is concave upward with a high dmax/dmin. and that's exaclty where the problem appears: There are so many fine loose particles that easily float between the larger ones and cause such dynamic behaviour! unfortunately It seems almost impossible to keep them in a quasi-static regime unless using a very very low strain rate which is not feasible due to computation costs!
4- I'm using cundall's non-viscous damping but it has no strong effect on the behaviour ( knowing that I can't use a larger damping coefficient as you mentioned before)

So I think I should conclude that practically there is no way to simulate such packing unless I afford the computation cost!
Thank you again Bruno and Jan! That was a nice discussion :)

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#10

1- Ok
2- I'm not convinced that it is always necessary to use a realistic stiffness if you are interested in large strain, dilatancy, internal friction,...
3- For large Dmax/Dmin, it could help to use density scaling (see examples/timeStepperUsage.py). I don't think floating particles are the source of problems, they are not highly dynamic usually and they carry small force (hence small unbalanced force).