← Back to team overview

yade-dev team mailing list archive

Re: [Yade-users] [Question #675297]: Problem in GlobalStiffnessTimeStepper

 

Hi Raphaël, in my case I get dt=0 strictly...
As previously suspected returning unconditionally at line 58 restores previous behaviour. I updated trunk [1]. I don't feel completely safe with current logic but at least it will be the same as before.
Cheers
Bruno

[1] https://github.com/yade/trunk/commit/ec68f4513bbb77f2cc1aef2e1e713cf1d71036fb

On 11/6/18 6:13 PM, Raphael Maurin wrote:

Hi Bruno,

Sorry for the long delay. I am not able to understand how the small change you made affect so much the results.

I believe that you can reproduce the problem by running the example "trunk/examples/HydroForceEngine/twoWayCoupling/sedimentTransportExample_1DRANSCoupling.py" on your computer. If GSTS option viscEl =True (as set by default in this script) GSTS gives a time step of ~10^-310. If you put viscEl = False, then you obtain a more normal a time step of ~10^-5. (The script run well with viscEl = False as the damping is not fundamental in this situation where the restitution coefficient is not too small).

Tell me if you can reproduce that, and if you see any possible reason for such a big change.

Cheers,

Raphael



Le 17/10/2018 à 18:42, Bruno Chareyre a écrit :
Hi Raphaël,
Let's use yade-dev for this sort of things.
Sorry if I broke something, I was actually about to write to you when commiting. The check-script is apparently not using timeStepper since "yade --check" still gives the expected result:

/###################################//
//running:  checkViscElPM.py//
//Status: success//
/
One thing to clarify before I can suggest something is this: before my last commit [1] a body with null stiffness (no contact) would not be asigned a timestep at all, while I can imagine that some particles have viscous interactions with neighbors even if they don't touch. No? In last commit I thus inserted something to let timestep be computed with just viscosity part, it leads to line 58 being now conditional:
/if (not viscEl) return;/

You can remove the "if" to restore previous behaviour. Most of the other changes I made are only effective if densityScaling=true, which is not your case I guess. So this "return" is one of very changes that could cause the regression.

Cheers

Bruno

[1] https://github.com/yade/trunk/commit/85ae0ab8fea0be21e7f7e58efadc7120552c6f48#diff-d16884b57bf77bd94e7c5043ee35fe82



On 10/17/2018 05:52 PM, Raphaël Maurin wrote:
New question #675297 on Yade:
https://answers.launchpad.net/yade/+question/675297

Hi all,

I just updated the code from source, and a problem just appeared in GlobalStiffnessTimeStepper, which was working fine before. When considering the example script trunk/examples/HydroForceEngine/twoWayCoupling/sedimentTransportExample_1DRANSCoupling.py, I get a time step of the order of 10^{-310} (!).
This is the case when considering the option viscEl = True, while everything is fine if viscEl = False.

This seems to come from a recent commit by Bruno (2 days ago), but I am not able to find from where the change come from. Can anyone (Bruno ? ) help me to identify the problem ?

Thanks !

Raphael




References