← Back to team overview

yade-users team mailing list archive

Re: [Question #699471]: Load and run new simulation

 

Question #699471 on Yade changed:
https://answers.launchpad.net/yade/+question/699471

    Status: Open => Answered

Jan Stránský proposed the following answer:
> Is it possible to also save interparticle forces as well and particle
wall interactions?

it is possible to save them, it is easy.
The loading and applying would/could be more difficult :-D
E.g. for simple contact law, the normal forces are just there defined by position.
If your concerns are also shear forces, friction sliding, normal forces defined by some non-linear law, then this approach is probably not suitable and O.save/O.load is much more suitable.

> But in my simulation ParticleSwelling() command have been run 8 times
within iterationperiod of 4000. The command run each 500 iteration.

Please try to reduce your codes. At least remove the unnecessary commented lines.
E.g. the line
#o.engines = o.engines+[PyRunner(command='ParticleSwelling()', iterPeriod=100000)]
is really distracting and confusing if one of the main problems is PyRunner with ParticleSwelling and iterPeriod 100000 :-)

Another tip (I don' have time and mood to test myself):
PyRunner(command='checkForce()', realPeriod=1, label="fCheck"),
fCheck.command = 'ParticleSwelling()'
So if fCheck.command is actually set like this, it runs every 1 real second.
As you load your simulation, the original O.engines is applied (see below), so maybe it is this case?

> Sorry is was a typo. I meant the time step is still 1e-7, even through
I defined as 1e-5s.

You have O.load after setting O.dt, right? (I am not sure, but I got the feeling from the codes)
If so, O.load overwrites everything it can (O.dt, O.engines, ...) with the saved state (just as what load should do).

If you want to change anything (O.dt, PyRunners), do it AFTER O.load()

Cheers
Jan

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.