yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #08125
[Bug 897237] Re: bug in neverErase?!
@Christian
The answer to #18 is at Law2_ScGeom_CapillaryPhys_Capillarity.cpp:163,
there is no need to erase interactions in the contact law because the
capillary law takes care of that:
if (!Vinterpol){
...
scene->interactions->requestErase(id1,id2);
}
I.e. if the volume of liquid is zero, Laplace problem has no solution -> the bridge is broken -> we delete the interaction.
All good. This has been well tested in the last years.
The problem is we never tried to delete bodies, and at line 90 you can find the recent addition (I appended the FIXME):
if (b1 and b2) {// FIXME: possible memory leak here?
This test was initialy supposed to fix the crash after erasing bodies,
but now if !b1 or !b2, the existing distant interactions will never be
erased.
--
You received this bug notification because you are a member of Yade
developers, which is the registrant for Yade.
https://bugs.launchpad.net/bugs/897237
Title:
bug in neverErase?!
Status in Yet Another Dynamic Engine:
New
Bug description:
If I set neverErase=True Yade crashes with following output:
O.run(3000,True)
RuntimeError: std::exception
and also:
Traceback (most recent call last):
File "/home/me/YADE/YADE2970/lib/yade-bzr2970/py/yade/qt/__init__.py", line 192, in refreshEvent 15:01:13
self.refreshValues() 15:01:30
File "/home/me/YADE/YADE2970/lib/yade-bzr2970/py/yade/qt/__init__.py", line 265, in refreshValues 15:01:34
s=int(t); ms=int(t*1000)%1000; us=int(t*1000000)%1000; ns=int(t*1000000000)%1000
ValueError: cannot convert float NaN to integer
You can reproduce the bug with the attached script (similar to the one i submitted with version 2960).
First try to set Law2_ScGeom_MindlinPhys_Mindlin(neverErase=False), this will work.
Then set neverErase=True and yade crashes.
To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/897237/+subscriptions
References