← Back to team overview

yade-dev team mailing list archive

Re: Some cleaning in capillary law : data files validity

 

I have the impression that Christian was getting the message in the
initial confinement phase, when all particles are distant. In this case
the message is irrelevant. Likewise, the message should not appear when
the bridge between two distant spheres breaks. If we can't define a more
restrictive condition for printing the warning only when there is really
a problem, no message is better than 10k messages, I agree with the last
revert.

I started testing with clumps (suction = 25 kPa) and voila, I get the ERROR again (this times once, at early consolidation stage). Without clumps I do not get errors at all (suction = 25 kPa).

I am using replacByClumps() method to create my model. So the grain size distribution does not change, but smaller clump members with radii < 0,063 mm could cause the problem.

I can live with the error message, but we should not call it an error. I suggest to leave the code as it is, but replace LOG_ERROR by LOG_WARN and maybe give more background informations in the message text.

btw: The error disappears, when suction is around 1 kPa in my model (tested 10, 5 and 1 kPa).


Zitat von Bruno Chareyre <bruno.chareyre@xxxxxxxxxxxxxxx>:

Hello Jérôme,

This corresponds in both cases to smallest filling angle values around
2 degrees (two last columns), whereas probably the theoretical maximum
value of suction here is infinite, and the theoretical minimum filling
angle should be 0.
Yes. Did you check the value of saturation degree for a filling angle of
2%? It must be extremely small, isn't it?

If I am right, I guess the same issue arises for non contacting
spheres. For monosized spheres at an adimensionned distance of 0.1,
the maximum suction value in the capillary file is 8.7, corresponding
to a lowest filling angle value of 10.6 deg (l. 12876 of M(r=1)
file...). I guess these values only approximate the exact limit values
of maximum suction and minimum filling angle, but the exact suction
limit value is probably far from 1500 in this distant case.
Well, as you pointed above there is no theoretical max value for
touching spheres whereas there is one for distant spheres.

Do you share my understanding ?
Yes, it seems.
If yes, there would be only one problem in our simulations : that the
code can not handle correctly the cases (existing in reality) falling
between the maximum suction value written in the files (that depends
on the radii ratio and distance), and the exact maximum suction value.
Is it really a big deal ?
I think the code handles this correctly. Simply the maximum in the model
is only an approximation of the exact maximum, but I think the
approximation is relatively good. If the precision was not enough it
could always be increased by refining the input data. The only thing
that is not handled correctly is the case of touching spheres when
pc->+?, since we can't approximate +? numerically. The only solution
would be to derive an asymptotic expression for this case and to put it
in the code.

(If not, it is finally maybe not catastrophic to run simulations with
uc* > e.g. 1500, and Christian was right to lower the "noise" of the
error message)
I have the impression that Christian was getting the message in the
initial confinement phase, when all particles are distant. In this case
the message is irrelevant. Likewise, the message should not appear when
the bridge between two distant spheres breaks. If we can't define a more
restrictive condition for printing the warning only when there is really
a problem, no message is better than 10k messages, I agree with the last
revert.

Bruno







Follow ups

References