convergence using HydrodynamicsLawLBM

Asked by Seungcheol Yeom

Hello all,

I have a quick question regarding ConvergenceThreshold using HydrodynamicsLawLBM.

I am wondering whether ConvergenceThreshold is working or not.
If I assume that it works, is my simulation terminated when it get to the threshold?
Also, how does it calculate? based on the velocity between previous and current iteration step?
Finally, is there any way to print current convergence value at every certain iteration? like unbalanced force?

Thank you for your help!

Sincerely,

Seungcheol

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Robert Caulk (rcaulk) said :
#1

Check out [1]. I looked around and concluded that the stop criterion is not currently active.

If it were active, it looks like it calculates the error in one of two ways, mean force or mean velocity.

Maybe try compiling the code with an uncommented stop criteria in [1] to see if your simulation behaves the way you expect it should.

[1] https://github.com/yade/trunk/blob/e4e757f2e98a620e3177b7a36a1d10f69f6a6a28/pkg/lbm/HydrodynamicsLawLBM.cpp

Revision history for this message
Seungcheol Yeom (scyeom79) said :
#2

Thank you for your response Rob.

Yes, I was going to do that because when I looked into to cpp file, it was commented.
I just want to confirm that it is active or not.
Let me try and see what happens.
Thanks again.

Seungcheol

Revision history for this message
Luc Sibille (luc-sibille) said :
#3

I think it is important to precise what is here this ConvergenceThreshold. The name "convergenceThreshold" may be misleading because the LBM is not an implicit method in the sense you do not have to wait for a convergence of the algorithm to get a physical result. Each LBM iteration should give a physical result and this convergenceThreshold was design to stop the simulation when a steady state of the flow is reached (if it is the objective of the simulation).

The code is commented because it was used in a preliminary version of the LBM engine and then it has been discarded in the following versions. Thus not sure it is still working in this current version...

Luc

Revision history for this message
Seungcheol Yeom (scyeom79) said :
#4

Thank you for your comment Luc.

Yes, I was looking for a termination criteria (like steady state flow) in this engine and I thought that ConverenceThreshold will do.
So, if the code is not working in this current version, then I need to monitor Mach number or some average vector velocity in order to determine my simulation is in steady state or not.
 Otherwise, my simulation will go forever...right?
Thanks for your help.

Seungcheol

Revision history for this message
Luc Sibille (luc-sibille) said :
#5

> some average vector velocity in order to determine my simulation is in steady state or not.
it is more or less what ConvergenceThreshold should do.

> Otherwise, my simulation will go forever...right?
Yes, but is a steady state flow reachable for the physical problem you
are studing? If not then something as ConvergenceThreshold is useless.

Luc

Revision history for this message
Seungcheol Yeom (scyeom79) said :
#6

I am trying to simulate the permeability in my two dimensional packing to see any changes in permeability depending upon a different particle size distributions and some others.
So, I am trying to apply a tiny pressure gradient in order to achieve a steady state relatively quickly.
In this case, do you think I only need to run a short period of iteration because it will reach to a steady state quickly?
If so, I don't need to worry about that convergence.

Thanks!

Seungcheol

Revision history for this message
Luc Sibille (luc-sibille) said :
#7

With the LBM you have to simulate all the development of the flow
(transient regime) before reaching the steady state. So it cannot be
done "quickly" in very few iterations.
A possible alternative for your problem would be to use de FlowEgine
based on the PFV method. There is an example here:
http://bazaar.launchpad.net/~yade-pkg/yade/git-trunk/view/head:/examples/FluidCouplingPFV/oedometer.py

It is not LBM anymore and you will have only the steady state regime,
but I guess it is enough for what you want to do.

Luc

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#8

>A possible alternative for your problem would be to use de FlowEgine

I would not suggest this for a question like "I want to know the dependency between permeability and PSD".
Actually I would love to know how well FlowEngine can predict permeability with exotic particle size distributions, because it was benchmarked only vs. specific bi-disperse mixtures. I would thus not take it as a trustable prediction of real things for arbitrary PSD, presently. A direct CFD method such as LBM makes more sense in this situation IMO.
Bruno

Can you help with this problem?

Provide an answer of your own, or ask Seungcheol Yeom for more information if necessary.

To post a message you must log in.