← Back to team overview

yade-dev team mailing list archive

Some cleaning in capillary law

 

Hi,

* CapillaryPhys/MindlinPhys.isBroken is a bool attribute that is false by default, never updated, and never usefully used neither in c++ nor py files of source. Furthermore, its meaning according to the doc seems quite redundant with "meniscus". Do you agree if I remove it ? (it = isBroken)

* Furthermore, the design of "meniscus" itself might maybe be improved. Around l. 119  [1], this bool is set to true as soon as there is contact, or if distantMeniscii should be created
And, around l.149 [2], it is set to false when volume is zero.

This seems to me contradictory (zero volume meniscii might "form" between contacting spheres depending on the succion) and, associated to the test l.139 [3], it leads, in some cases, to interactions that are never deleted, even if there is no more geometrical overlap neither a meniscus with a non-zero amount of water (because erase on l.160 might be switched).

I propose to suppress the (meniscus = 0 if volume = 0), and the test on "meniscus" l.139.
I could attach an illustrative script if necessary

Jerome



[1] https://github.com/yade/trunk/blob/master/pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp#L119
[2] https://github.com/yade/trunk/blob/master/pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp#L149
[3] https://github.com/yade/trunk/blob/master/pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp#L139

Follow ups