← 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,

>So, my question is the origin of this instability if it is not merely
me missing something in the model.

You are applying constant 45 degrees to 1 of the 6 particle boundaries,
yet you have no heat-flux for all 6 boundaries of the flow advection
calculation <- that seems suspect. I would apply more traditional
boundary conditions a bit to confirm that you can reach stable states
for your setup:

flow.bndCondIsTemperature=[0,0,0,0,1,1]
flow.thermalBndCondValue=[0,0,0,0,25,45]
thermal.bndCondIsTemperature=[0,0,0,0,1,1]
thermal.thermalBndCondValue=[0,0,0,0,25,45]

In fact, it brings me to the main question: which example script are you
modelling this after? What changes have you made in comparison to the
example script? Which change results in the instability?

>>If not, is it correct that there may be some polyhedral mesh with bad
geometries somewhere in the model away from the heat source so it takes
a couple thousand steps before the flow reaches these bad geometries and
model crashes? If this is the case, how can I identify these "bad"
geometries and remove them from calculations?

You can guarantee a clean mesh by setting relFuzz=0. This will set a
monodisperse cubic packing that you can be sure will have a clean
triangulation.

That said, the triangulation is not actually an issue in the pore-finite
volume (PFV) scheme. Inherent to the method we don't actually care about
tetrahedral shape - it is simply used for geometric reductions. The one
issue we may run into is when two tetrahedra centers occur on top of one
another (centers are bary centers in PFV). This usually only occurs in
regular packings, and yade is designed to handle these situations
elegantly. You can take some manual control with
thermal.minimumFluidCondDist[1]. However, you should also be able to
figure out if that is the issue by simply turning on and off
thermal.fluidConduction.

[1]https://yade-
dem.org/doc/yade.wrapper.html#yade.wrapper.ThermalEngine.minimumFluidCondDist

p.s. turning various physics (thermal.advection, conduction,
fluidConduction) on and off is a good way to start locating the issue.
You can also turn debug on to get some helpful messages.  You can *not*
break it :)

Let me know what you come up with,

Robert

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