← Back to team overview

yade-users team mailing list archive

Re: Python scripting for create links, change player config and model scale question

 

> The mean radius of the debris is about 0.0004 m, in this case the
> critical timestep is 10^-6 and with many particles it takes too much
> time to have a one or two minutes simulation, in Your opinion could I
> use a scaled model to have a bigger radius ad a bigger timestep, how
> should I modify set up parameters like Gravity, should I leave 9.81
> cause the mass is auto calculated from dimensions?
>   
I am not sure if I understand what are you going to scale. If you will
simulate only smaller part of the problem, you don't really scale
anything, just use smaller domain. You can have more rough particles and
see if you get realistic results. You will never have 1 minute
simulation, just forget that, with 10^-6 timestep (unless you have 10
particles or something).

I've been working with (and smaller) .3mm particles now. To quickly
guess the simulation time, you can use this formula:

 number_of_particles*number_of_timesteps*computer_constant=computation
time [s]

where computer_constant is time/particle_and_timestep, given that number
of interactions scales roughly with number of particles. The
computer_constant is, in my case, about 3e-5 (2.4GHz Opteron), so you
get the idea how much you can simulate. For 1 minute simulation of 1e3
particles with 1e-6 timestep (i.e. 6e7 steps) you get 21 days.
> I read a lot of posts of the mailing list but I have not found anything
> about commanding the Yade player with Python, for example i saved a
> simulation in SQLite, but the clipping plane make scene cut, How can I
> change clipping plane?
>   
See gui/qt3/GLViewer.hpp, it has a comment at the beginning that
explains the keystrokes. F1,F2,F3 to select the plane, space to
(de)activate it, Escape to return to scene manipulation.
> How can I set particle links with python script, there is a function
> that at a certain level of force breack the links?
>   
During the simulation, this is done by the constitutive law, which is
written in c++ (since it is very computationally intensive; in can be,
in principle, in Python, but it would be too slow to be usable). There
is quite a few of them, depending on the material you need. Some of them
have friction, cohesion, ..., etc, others can comment better on that. If
you have special law for your case, your best bet is to write a new
constitutive law from scratch. Have a look at ElasticContactLaw2 for a
quite simple example.

Regards, Vaclav



References