← Back to team overview

yade-users team mailing list archive

Re: [Question #698948]: Stability of advection modeling by ThermalEngine

 

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

    Status: Open => Answered

Robert Caulk proposed the following answer:
Hey Zoheir,

Thanks for the good feedback. Can you precise to me the example script
that you are basing this on? We have 4 example scripts in the
repository. I guess you are using flowScenario.py since you had
b.dynamic=False before as well as a pressure boundary condition?

>> If so, could you give me some hint on how to avoid this issue.

We've discussed in the past how to estimate the stable timestep
dynamically [1]. Did you explore that already for your case? I started
adding that feature to ThermalEngine [2][3], but it is still
experimental.

Let's try to debug this through some kind of trial and error, I think it
will identify the problem most rapidly. We can consider the factors
discussed in [1] and hold various components constant. Since you know it
is in the fluid conduction, then you just need to consider the
parameters associated with fluid conduction such as
thermal.fluidConductionAreaFactor[4] and thermal.fluidK. As we discuss
in [1], increasing the diffusion coefficient [5] is going to decrease
the maximum allowable timestep. You have pythonic control over all 3
parameters in that diffusion equation which means you should be able to
determine the exact cause of the instability through trial and error. I
would first start by holding them all constant at extraordinary values
i.e. force that diffusion constant to be extremely low to test if the
system is perfectly stable. Then open up each parameter back to your
desired values indivdiually. BTW to be strict about the test you need to
set flow.meshUpdateInterval=-1 and b.dynamic=False - since those two
components adjust geometric quantities used for the diffusion
coefficient and which evolve with time during the simulation.

Another easy test would be to not run compaction (basically just holding
bodies static) and see if the simulation remains stable.

Thanks for testing this stuff, let me know what you come up with.

[1]https://answers.launchpad.net/yade/+question/695542
[2]https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/pfv/Thermal.cpp#L177
[3]https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.ThermalEngine.tsSafetyFactor
[4]https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.ThermalEngine.fluidConductionAreaFactor
[5]https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/pfv/Thermal.cpp#L544

Thanks,

Robert

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