How to keep quasi-static when increase loading rate

Asked by Leonard on 2020-03-26

Hi,

I'd like to speed up my triaxial compression simulation, and I use the triax script by Bruno[1].
I made some tests and found that when I increase the strain rate from, for example -0.02 to -1.0, the simulation time dramatically reduces, and there is not much difference in stress-strain relationship between the obtained results.
However,I am not sure if it satisfies the quasi-static condition when using such a high rate like -1.0. How does Yade check the quasi-static condition? I find a paper (see page 3 in [2]), it uses inertial number I=strainRate * avgParticleDiameter*sqrt(density/confining pressure) should less than 0.001 to judge the quasi-static condition,.
and I made an estimation of my simulation: I=1*0.005*sqrt(2600/100)=0.025 >0.001, Does it means that it is not reasonable to use strain rate as -1.0 for my case? How do we usually determine the strain rate?

Thanks
Leonard

[1]https://github.com/yade/trunk/blob/master/examples/triax-tutorial/script-session1.py
[2]https://www.sciencedirect.com/science/article/pii/S0266352X19301168

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jérôme Duriez
Solved:
2020-03-26
Last query:
2020-03-26
Last reply:
2020-03-26
Jérôme Duriez (jduriez) said : #1

> How do we usually determine the strain rate?

Pretty much like you're doing here

- running different simulations with different loading rates, and see how much it affects the results or not (and then pick the most convenient loading rate, i.e. the highest one for a test that has to travel a given strain variation)
This is kind of the brute force method, with many simulations.

- monitor https://yade-dem.org/doc/yade.utils.html#yade._utils.unbalancedForce during one simulation, and check whether it is close to the threshold value you want to keep, according to your experience. Or monitor kinetic energy (ratio over elastic energy)
This does not help defining beforehand the "correct" strain rate..

- resort to inertial number considerations. Together with a threshold value for that number, here you should be able to define beforehand an appropriate strain rate.

All this is (more or less superficially) discussed in DEM literature. In all cases, Yade itself does not do anything to check quasi-static condition (this kind of DEM is dynamic by nature !), it is up to the user to check it.

Chareyre (bruno-chareyre-9) said : #2

Hi,
I would say what matters is your objective. If you want to approach a
rate-independent stress-strain response then you have to check what rate
does to the stress-strain response, define an objective measure of "error"
and a value of how much error you accept, then go find the corresponding
rate.
Although I agree overall with Jerome's answer I would underline that
inertial number makes no real difference, and the idea that there is
something special happening near Iv=0.001 is flawn. 1/ It is like asking
for which value of x, the function f=exp(-x) is negligibly small. "It
depends what you call 'small' sir". 2/ The relation between Iv and the
error depend on many parameters.
For instace, there are structural rate effects which depends on the ratio
of loading rate vs. P-waves velocity. The inertial number is independent of
P-waves velocity and therefore it is insufficient to determine what a given
rate means in terms of dynamics.

Until now it is difficult (and dangerous) to try and avoid a minimal
trial-and-error to check rate effects. It would be great to have a more
general theory for this though.

Cheers
Bruno

Leonard (z2521899293) said : #3

Thanks jduriez and Bruno, it is more clear now.

Just two more things that I want to confirm:

I run different simulations with different loading rates, and if I find that strain rate 1.0 is acceptable (which means the results are similar to other strain rates), can I choose the strain rate at 1.0 for the DEM simulation? Because in real experiment, it seems not reasonable to use such a high strain rate.

In addition, the strain rate I choose is based on one specific model (e.g., with specific material parameters), and if I change some parameters of the model, do I need to calibrate the strain rate again?

Thanks,

Leonard

Best Jérôme Duriez (jduriez) said : #4

I would say:

Yes. If you think it is acceptable, why not accept it ? (by the way, numerical experiments are meant to be easier than lab ones, no ? ;-) )

and

Probably yes. The inertial number discussion made it clear changing density would require to change strain rates. For the P-wave velocity example by Bruno, if you change stiffness values, you would have to change strain rate as well.
Can not tell how critical this can be, in a general case, though.

Leonard (z2521899293) said : #5

Thanks Jérôme Duriez, that solved my question.

Chareyre (bruno-chareyre-9) said : #6

> I run different simulations [...] and if I find that strain rate 1.0
[gives the same result] , can I choose the strain rate at 1.0?

So you found a way to get same result in less time and you are asking if it
is ok to save time, or I'm missing something? ;)
Yes you need to re-calibrate to some extent, but some scalings are known,
as Jérôme suggests.
B

Leonard (z2521899293) said : #7

Thanks Bruno,

The reason why I'd like to confirm whether strain rate 1.0 is OK is that I didn't see any paper (based on my limited literature review) who use this strain rate, normally it is 0.01 or 0.0001 or ....

I just want to make sure that I adjust this parameter in a reasonable range.

Cheers
Leonard

Chareyre (bruno-chareyre-9) said : #8

Most (numerical) papers don't really tell what the rate is in terms of
1/second. For a good reason: it means nothing. It needs to be normalized
somehow, and inertial number is a good example.
B

Chareyre (bruno-chareyre-9) said : #9

Mmmmh... in fact maybe some papers give the strain rate in 1/second
(including some of mines). In that case they need to provide all the other
parameters (including grain size) to know what rate is from a dimensionless
perspective. Defining rate in 1/second is not a good idea, still. So it
really doesn't matter if the value you read, in s^-1, is 1e-5 or 1e+5.
B

Leonard (z2521899293) said : #10

Thanks for your comments, Bruno.

Cheers
Leonard