yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #11581
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