How to choose an optimal time increment?

Submitted by jw851602 on Tue, 01/28/2014 - 10:33

Hello,

I'm thinking about how to choose the optimal time increment for my simulations. I set up a very simple testcase in order to study the behaviour of contact interaction between particles and STL-geometries, defined as wall.
Video: http://www.youtube.com/watch?v=IBf3vUwHh-w
First, I calculated the timestep as provided by many posts in this forum with the formula dt = 0.2*dt_rayleigh:
r = 0.005
rho = 8000
Y = 5e6
nu = 0.3
G = Y/(2*(1+nu)) = 1923076.92

dt = 0.2*PI*r*sqrt(rho/G)/(0.1631*nu+0.8766)
dt = 0.00021893

So, I choose dt = 0.0002 in my simulation. If I plot the z-Coordinate of the bouncing particle I can see an instability (see Fig.1).
For this reason I halve the time increment and use dt = 0.0001. Now it seems to run stable (see Fig.2).
Are there any explanations for this behaviour and any more hints how to choose an appropriate time increment when using STL-geometries in the simulation?
Thank you!

Best regards,
Jan

AttachmentSize
Image icon instable22.87 KB
Image icon stable28.22 KB

cstoltz | Tue, 01/28/2014 - 12:57

What version of LIGGGHTS are you using? Try setting 'neigh modify delay 0'. This seems to significantly improve stability for some simulations, though will cost you a bit in terms of performance.

Regards,
Chris

aaigner's picture

aaigner | Tue, 01/28/2014 - 14:07

Hi!

20% of the Rayleigh time step is somewhat high. The simulation may fail.. in your case it failed ;-). Apparently, the bouncing particle moved too far in one timestep and the particle-wall contact was not resolved correctly.
I would stick to a maximum of 10%. In general you can use the fix check/timestep/gran command to check your time step. It also checks the Hertz time.

Regards,
Andi