question on CapillaryPhys

Asked by Christian Jakob on 2011-07-28

Hi,

I want to model a wet granular material (sand). I tried to create a model with following engines:

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_CapillaryPhys(label='ContactModel')],
  [Law2_ScGeom_CapillaryPhys_Capillarity()],
 ),
 GravityEngine(gravity=(0,0,-9.81)),
 NewtonIntegrator(damping=0.01),
]

There an error message occured in yade:

me@debian ~/YADE/my-yade-projects/01-converted-PFC-model > yade converted-model.py
Welcome to Yade bzr2877
TCP python prompt on localhost:9001, auth cookie `duasec'
XMLRPC info provider on http://localhost:21001
Running script converted-model.py
Traceback (most recent call last):
  File "/home/me/YADE/bin/yade-bzr2877", line 183, in runScript
    execfile(script,globals())
  File "converted-model.py", line 33, in <module>
    [Law2_ScGeom_CapillaryPhys_Capillarity()],
TypeError: No registered converter was able to produce a C++ rvalue of type boost::shared_ptr<LawFunctor> from this Python object of type Law2_ScGeom_CapillaryPhys_Capillarity

What did I do wrong?

Unfortunatly I could not find an example, that shows how to use CapillaryPhys.

Regards,

Christian.

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Christian Jakob
Solved:
2011-08-09
Last query:
2011-08-09
Last reply:
2011-07-29

Law2_ScGeom_CapillaryPhys_Capillarity is not (yet) acting on a
per-interaction basis. It has a loop inside, so you need to declare it
outside the interaction loop.
Also note that it is NOT a contact law. You need to also add a contact
law if you want to see particles interacting like solid bodies. Any
combination with a ScGeom-based contact law should work:
Capillarity+CundallStrack, Capillarity+Hertz, Capillarity+Cohesive, etc.

In the engines definition, it should read like this:
...
InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],

[Ip2_FrictMat_FrictMat_CapillaryPhys(label='ContactModel')],
                        [Law2_ScGeom_FrictPhys_CundallStrack()]
),
Law2_ScGeom_CapillaryPhys_Capillarity(),
...

We don't have any example script at the moment, the only example is
using the older method with preprocessors. If you manage to write a
simple script, it would be nice to include it in Yade's examples.

Bruno

Christian Jakob (jakob-ifgt) said : #2

Yes, of course I can create an example with capillaryPhys, but I still need a little help ...

I tried

 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_MindlinPhys(label='ContactModel')],
  [Law2_ScGeom_MindlinPhys_Mindlin()]
 ),
 Law2_ScGeom_CapillaryPhys_Capillarity(),

... and ...

 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys(label='ContactModel')],
  [Law2_ScGeom_FrictPhys_CundallStrack()],
 ),
 Law2_ScGeom_CapillaryPhys_Capillarity(),

... with result:

segmentation fault :(

Regards,

Christian

Anton Gladky (gladky-anton) said : #3

Hi Christian,

please, start yade in debug-mode [1] and post here output messages.

[1] https://answers.launchpad.net/yade/+faq/1726
Anton

On Fri, Jul 29, 2011 at 2:01 PM, Christian Jakob
<email address hidden> wrote:
> Question #166257 on Yade changed:
> https://answers.launchpad.net/yade/+question/166257
>
> Christian Jakob posted a new comment:
> Yes, of course I can create an example with capillaryPhys, but I still
> need a little help ...
>
> I tried
>
>        InteractionLoop(
>                [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
>                [Ip2_FrictMat_FrictMat_MindlinPhys(label='ContactModel')],
>                [Law2_ScGeom_MindlinPhys_Mindlin()]
>        ),
>        Law2_ScGeom_CapillaryPhys_Capillarity(),
>
> ... and ...
>
>        InteractionLoop(
>                [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
>                [Ip2_FrictMat_FrictMat_FrictPhys(label='ContactModel')],
>                [Law2_ScGeom_FrictPhys_CundallStrack()],
>        ),
>        Law2_ScGeom_CapillaryPhys_Capillarity(),
>
>
> ... with result:
>
> segmentation fault :(
>
> Regards,
>
> Christian
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

Christian Jakob (jakob-ifgt) said : #4

I recompiled yade and started calculation again:

me@debian ~/YADE/my-yade-projects/capillaryPhys-test > yade --debug capillaryPhys-example.py
Welcome to Yade bzr2877 (debug build)
TCP python prompt on localhost:9000, auth cookie `ecdkas'
XMLRPC info provider on http://localhost:21000
Running script capillaryPhys-example.py
python: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T = capillarylaw]: Zusicherung »px != 0« nicht erfüllt.
SIGSEGV/SIGABRT handler called; gdb batch file is `/tmp/yade-xoqkNe/tmp-0'
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
[Thread debugging using libthread_db enabled]
[New Thread 0x7fc271ec1700 (LWP 23743)]
[New Thread 0x7fc27bfff700 (LWP 23742)]
[New Thread 0x7fc280a34700 (LWP 23741)]
0x00007fc2a335c7dd in nanosleep () from /lib/libpthread.so.0
No symbol "info" in current context.

Thread 4 (Thread 0x7fc280a34700 (LWP 23741)):
#0 0x00007fc2a221f8d3 in select () from /lib/libc.so.6
#1 0x00000000004f7fd3 in ?? ()
#2 0x00000000004a7ba5 in PyEval_EvalFrameEx ()
#3 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#4 0x00000000004a7752 in PyEval_EvalFrameEx ()
#5 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#6 0x0000000000538a10 in ?? ()
#7 0x000000000041ef47 in PyObject_Call ()
#8 0x0000000000427c1f in ?? ()
#9 0x000000000041ef47 in PyObject_Call ()
#10 0x00000000004a1a53 in PyEval_CallObjectWithKeywords ()
#11 0x00007fc280a3ecab in ?? () from /usr/lib/pymodules/python2.6/sip.so
#12 0x00007fc280ce5498 in ?? () from /usr/lib/pymodules/python2.6/PyQt4/QtCore.so
#13 0x00007fc280d1568a in ?? () from /usr/lib/pymodules/python2.6/PyQt4/QtCore.so
#14 0x00007fc29e504e15 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007fc2a33548ba in start_thread () from /lib/libpthread.so.0
#16 0x00007fc2a222602d in clone () from /lib/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fc27bfff700 (LWP 23742)):
#0 0x00007fc2a221f8d3 in select () from /lib/libc.so.6
#1 0x00000000004f7fd3 in ?? ()
#2 0x00000000004a7ba5 in PyEval_EvalFrameEx ()
#3 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#4 0x00000000004a7752 in PyEval_EvalFrameEx ()
#5 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#6 0x0000000000538a10 in ?? ()
#7 0x000000000041ef47 in PyObject_Call ()
#8 0x0000000000427c1f in ?? ()
#9 0x000000000041ef47 in PyObject_Call ()
#10 0x00000000004a1a53 in PyEval_CallObjectWithKeywords ()
#11 0x00007fc280a3ecab in ?? () from /usr/lib/pymodules/python2.6/sip.so
#12 0x00007fc280ce5498 in ?? () from /usr/lib/pymodules/python2.6/PyQt4/QtCore.so
#13 0x00007fc280d1568a in ?? () from /usr/lib/pymodules/python2.6/PyQt4/QtCore.so
#14 0x00007fc29e504e15 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007fc2a33548ba in start_thread () from /lib/libpthread.so.0
#16 0x00007fc2a222602d in clone () from /lib/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc271ec1700 (LWP 23743)):
#0 0x00007fc2a21f73ad in waitpid () from /lib/libc.so.6
#1 0x00007fc2a2195299 in ?? () from /lib/libc.so.6
#2 0x00007fc2a21955d0 in system () from /lib/libc.so.6
#3 0x00007fc2a3654f6a in crashHandler (sig=6) at core/main/pyboot.cpp:45
#4 <signal handler called>
#5 0x00007fc2a2189165 in raise () from /lib/libc.so.6
#6 0x00007fc2a218bf70 in abort () from /lib/libc.so.6
#7 0x00007fc2a21822b1 in __assert_fail () from /lib/libc.so.6
#8 0x00007fc288ec3091 in boost::shared_ptr<capillarylaw>::operator-> (this=0x7fc27c40eac0) at /usr/include/boost/smart_ptr/shared_ptr.hpp:418
#9 0x00007fc288e7f6d9 in Law2_ScGeom_CapillaryPhys_Capillarity::action (this=0x7fc27c40ea80) at /home/me/YADE/yade-source-and-examples/pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp:165
#10 0x00007fc29900eec3 in Scene::moveToNextTimeStep (this=0xd63ce0) at /home/me/YADE/yade-source-and-examples/core/Scene.cpp:97
#11 0x00007fc299015e8b in SimulationFlow::singleAction (this=0xce0c40) at /home/me/YADE/yade-source-and-examples/core/SimulationFlow.cpp:20
#12 0x00007fc299017424 in ThreadWorker::callSingleAction (this=0xce0c40) at /home/me/YADE/yade-source-and-examples/core/ThreadWorker.cpp:71
#13 0x00007fc299016989 in ThreadRunner::call (this=0xd66f20) at /home/me/YADE/yade-source-and-examples/core/ThreadRunner.cpp:53
#14 0x00007fc2990166cb in ThreadRunner::run (this=0xd66f20) at /home/me/YADE/yade-source-and-examples/core/ThreadRunner.cpp:27
#15 0x00007fc2990e3e03 in boost::_mfi::mf0<void, ThreadRunner>::operator() (this=0x7fc27c4f1748, p=0xd66f20) at /usr/include/boost/bind/mem_fn_template.hpp:49
#16 0x00007fc2990d4534 in boost::_bi::list1<boost::_bi::value<ThreadRunner*> >::operator()<boost::_mfi::mf0<void, ThreadRunner>, boost::_bi::list0> (this=0x7fc27c4f1758, f=..., a=.14:22:02usr/include/boost/bind/bind.hpp:253
#17 0x00007fc2990c3e89 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThreadRunner>, boost::_bi::list1<boost::_bi::value<ThreadRunner*> > >::operator() (this=0x7fc27c4f1748) at /usr/include/boost/bind/bind_template.hpp:20
#18 0x00007fc2990b0b6e in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThreadRunner>, boost::_bi::list1<boost::_bi::value<ThreadRunner*> > >, void>::invoke (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153
#19 0x00007fc2991870af in boost::function0<void>::operator() (this=0x7fc27c4f1740) at /usr/include/boost/function/function_template.hpp:1013
#20 0x00007fc2991614c6 in boost::detail::thread_data<boost::function0<void> >::run (this=0x7fc27c4f1610) at /usr/include/boost/thread/detail/thread.hpp:56
#21 0x00007fc2a0dc5200 in thread_proxy () from /usr/lib/libboost_thread.so.1.42.0
#22 0x00007fc2a33548ba in start_thread () from /lib/libpthread.so.0
#23 0x00007fc2a222602d in clone () from /lib/libc.so.6
#24 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc2a3764700 (LWP 23738)):
#0 0x00007fc2a335c7dd in nanosleep () from /lib/libpthread.so.0
#1 0x00007fc285dea25e in pyOmega::wait (this=0xc626b0) at py/wrapper/yadeWrapper.cpp:366
#2 0x00007fc285de9db8 in pyOmega::run (this=0xc626b0, numIter=10000, doWait=true) at py/wrapper/yadeWrapper.cpp:360
#3 0x00007fc285ef7882 in boost::python::detail::invoke<int, void (pyOmega::*)(long, bool), boost::python::arg_from_python<pyOmega&>, boost::python::arg_from_python<long>, boost::python::arg_from_python<bool> > (f=@0xdbc938, tc=..., ac0=..., ac1=...) at /usr/include/boost/python/detail/invoke.hpp:94
#4 0x00007fc285ed93de in boost::python::detail::caller_arity<3u>::impl<void (pyOmega::*)(long, bool), boost::python::default_call_policies, boost::mpl::vector4<void, pyOmega&, long, bool> >::operator() (this=0xdbc938, args_=0x1d0f9b0) at /usr/include/boost/python/detail/caller.hpp:223
#5 0x00007fc285eb7f25 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<void (pyOmega::*)(long, bool), boost::python::default_call_policies, boost::mpl::vector4<void, pyOmega&, long, bool> > >::operator() (this=0xdbc930, args=0x1d0f9b0, kw=0x0) at /usr/include/boost/python/object/py_function.hpp:38
#6 0x00007fc29fd7dbde in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/libboost_python-py26.so.1.42.0
#7 0x00007fc29fd7de88 in ?? () from /usr/lib/libboost_python-py26.so.1.42.0
#8 0x00007fc29fd854fb in boost::python::handle_exception_impl(boost::function0<void>) () from /usr/lib/libboost_python-py26.so.1.42.0
#9 0x00007fc29fd7a788 in ?? () from /usr/lib/libboost_python-py26.so.1.42.0
#10 0x000000000041ef47 in PyObject_Call ()
#11 0x00000000004a72b8 in PyEval_EvalFrameEx ()
#12 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#13 0x00000000004a9692 in PyEval_EvalCode ()
#14 0x00000000004c98be in PyRun_FileExFlags ()
#15 0x00000000004a0b87 in ?? ()
#16 0x00000000004a7ba5 in PyEval_EvalFrameEx ()
#17 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#18 0x00000000004a7752 in PyEval_EvalFrameEx ()
#19 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#20 0x00000000004a7752 in PyEval_EvalFrameEx ()
#21 0x00000000004a95c1 in PyEval_EvalCodeEx ()
#22 0x00000000004a9692 in PyEval_EvalCode ()
#23 0x00000000004c98be in PyRun_FileExFlags ()
#24 0x00000000004c9ad4 in PyRun_SimpleFileExFlags ()
#25 0x000000000041a6bd in Py_Main ()
#26 0x00007fc2a2175c4d in __libc_start_main () from /lib/libc.so.6
#27 0x00000000004198d9 in _start ()
Abgebrochen

Oh, sorry. I copy/pasted your code without checking everything. The mix
between ScGeom and ScGeom6D is probably the reason of the crash.
Try:

 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys(label='ContactModel')],
  [Law2_ScGeom_FrictPhys_CundallStrack()],
 ),
 Law2_ScGeom_CapillaryPhys_Capillarity(),

On 29/07/11 13:01, Christian Jakob wrote:
> Question #166257 on Yade changed:
> https://answers.launchpad.net/yade/+question/166257
>
> Christian Jakob posted a new comment:
> Yes, of course I can create an example with capillaryPhys, but I still
> need a little help ...
>
> I tried
>
> InteractionLoop(
> [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
> [Ip2_FrictMat_FrictMat_MindlinPhys(label='ContactModel')],
> [Law2_ScGeom_MindlinPhys_Mindlin()]
> ),
> Law2_ScGeom_CapillaryPhys_Capillarity(),
>
> ... and ...
>
> InteractionLoop(
> [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
> [Ip2_FrictMat_FrictMat_FrictPhys(label='ContactModel')],
> [Law2_ScGeom_FrictPhys_CundallStrack()],
> ),
> Law2_ScGeom_CapillaryPhys_Capillarity(),
>
>
> ... with result:
>
> segmentation fault :(
>
> Regards,
>
> Christian
>

--
_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53 - 38041, Grenoble cedex 9 - France
Tél : +33 4 56 52 86 21
Fax : +33 4 76 82 70 43
________________

Christian Jakob (jakob-ifgt) said : #6

> Oh, sorry. I copy/pasted your code without checking everything. The mix
> between ScGeom and ScGeom6D is probably the reason of the crash.
> Try:
>
> InteractionLoop(
> [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
> [Ip2_FrictMat_FrictMat_FrictPhys(label='ContactModel')],
> [Law2_ScGeom_FrictPhys_CundallStrack()],
> ),
> Law2_ScGeom_CapillaryPhys_Capillarity(),

No, this is not the reason of crash. I get the same result: segmentation fault.

Apparently, the postLoad() function is not called when the simulation is
built via a script, and so the law is not initialized correctly. It is a
bug.
It works correctly with the preprocessor because this one save a simulation.
A crazy workaround should be to save/reload before the 1st iteration in
your script. Try it?
Could you send me the script? it will be simpler to fix the problem with
a crashing example.

Bruno

Christian Jakob (jakob-ifgt) said : #8

Good morning,

Thanks for the hint. I did a O.saveTmp() and O.loadTmp() before starting first iteration and there occurs a new warning:

WARNING: cannot open files used for capillary law, all forces will be null. Instructions on how to download and install them is found here : https://yade-dem.org/wiki/CapillaryTriaxialTest.
segmentation fault

Regards,

Christian

Christian Jakob (jakob-ifgt) said : #9

I created a simple example script:

#---------------------------------------START----------------------------------------------------

#!/usr/bin/python
# -*- coding: utf-8 -*-

#example script to demonstrate how to implement capillaryPhys

shear_modulus = 3e7
poisson_ratio = 0.3
young_modulus = 2*shear_modulus*(1+poisson_ratio)
friction = 0.5
angle=atan(friction)
local_damping = 0.01

id_SphereMat=O.materials.append(FrictMat(young=young_modulus,poisson=poisson_ratio,density=1000,frictionAngle=angle))

SphereMat=O.materials[id_SphereMat]

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb()]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()],
 ),
 Law2_ScGeom_CapillaryPhys_Capillarity(),
 GravityEngine(gravity=(0,0,-9.81)),
 NewtonIntegrator(damping=local_damping),
]

O.bodies.append(utils.sphere([0,0,0], material=SphereMat, fixed=True, radius=0.5, wire=False, highlight=False))

O.bodies.append(utils.sphere([0,0,1], material=SphereMat, radius=0.5, wire=False, highlight=False))

O.saveTmp()
O.loadTmp()

O.run(100)

#---------------------------------------END----------------------------------------------------

Now there occurs following error:

me@debian ~/YADE/my-yade-projects/capillaryPhys-test > yade capillaryPhys-example.py
Welcome to Yade bzr2877
TCP python prompt on localhost:9000, auth cookie `sycsae'
XMLRPC info provider on http://localhost:21000
Running script capillaryPhys-example.py
WARNING: cannot open files used for capillary law, all forces will be null. Instructions on how to download and install them is found here : https://yade-dem.org/wiki/CapillaryTriaxialTest.
*** glibc detected *** /usr/bin/python: corrupted double-linked list: 0x00007f52e4003900 ***
======= Backtrace: =========
/lib/libc.so.6(+0x71ad6)[0x7f5309f5cad6]
/lib/libc.so.6(+0x71f0d)[0x7f5309f5cf0d]
/lib/libc.so.6(+0x74254)[0x7f5309f5f254]
/lib/libc.so.6(__libc_malloc+0x70)[0x7f5309f61930]
/usr/lib/libgomp.so.1(+0x3d59)[0x7f53012fbd59]
/usr/lib/libgomp.so.1(+0x9025)[0x7f5301301025]
/usr/lib/libgomp.so.1(GOMP_parallel_start+0x2c)[0x7f53012ffa1c]
/home/me/YADE/lib/yade-bzr2877/plugins/libplugins.so(_ZN13GravityEngine6actionEv+0x4c)[0x7f52f214bd7c]
/home/me/YADE/lib/yade-bzr2877/py/yade/../../lib/libcore.so(_ZN5Scene18moveToNextTimeStepEv+0x478)[0x7f5301107f98]
/home/me/YADE/lib/yade-bzr2877/py/yade/../../lib/libcore.so(_ZN14SimulationFlow12singleActionEv+0x52)[0x7f5301108f32]
/home/me/YADE/lib/yade-bzr2877/py/yade/../../lib/libcore.so(_ZN12ThreadWorker16callSingleActionEv+0x31)[0x7f5301105ee1]
/home/me/YADE/lib/yade-bzr2877/py/yade/../../lib/libcore.so(_ZN12ThreadRunner4callEv+0x31)[0x7f530110d921]
/home/me/YADE/lib/yade-bzr2877/py/yade/../../lib/libcore.so(_ZN12ThreadRunner3runEv+0x64)[0x7f530110d9b4]
/home/me/YADE/lib/yade-bzr2877/py/yade/../../lib/libcore.so(_ZN5boost6detail11thread_dataINS_9function0IvEEE3runEv+0x3f)[0x7f53011e854f]
/usr/lib/libboost_thread.so.1.42.0(thread_proxy+0x60)[0x7f5308b59200]
/lib/libpthread.so.0(+0x68ba)[0x7f530b0e88ba]
/lib/libc.so.6(clone+0x6d)[0x7f5309fba02d]
======= Memory map: ========
00400000-0061d000 r-xp 00000000 08:01 2891650 /usr/bin/python2.6
0081d000-0087f000 rw-p 0021d000 08:01 2891650 /usr/bin/python2.6
0087f000-0088e000 rw-p 00000000 00:00 0
00b4c000-0240d000 rw-p 00000000 00:00 0 [heap]
7f52d8000000-7f52d8021000 rw-p 00000000 00:00 0
7f52d8021000-7f52dc000000 ---p 00000000 00:00 0
7f52dd533000-7f52dd534000 ---p 00000000 00:00 0
7f52dd534000-7f52ddd34000 rw-p 00000000 00:00 0
7f52ddd34000-7f52dddb5000 r--p 00000000 08:01 3021112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
7f52dddb5000-7f52dde44000 r--p 00000000 08:01 3018442 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
7f52dde44000-7f52dded0000 rw-p 00000000 00:00 0
7f52dded0000-7f52ddf1f000 r--p 00000000 08:01 3018441 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf
7f52ddf1f000-7f52ddf26000 r-xp 00000000 08:01 4729395 /usr/lib/qt4/plugins/imageformats/libqtiff.so
7f52ddf26000-7f52de125000 ---p 00007000 08:01 4729395 /usr/lib/qt4/plugins/imageformats/libqtiff.so
7f52de125000-7f52de126000 rw-p 00006000 08:01 4729395 /usr/lib/qt4/plugins/imageformats/libqtiff.so
7f52de126000-7f52de17f000 r-xp 00000000 08:01 2909420 /usr/lib/libQtSvg.so.4.6.3
7f52de17f000-7f52de37e000 ---p 00059000 08:01 2909420 /usr/lib/libQtSvg.so.4.6.3
7f52de37e000-7f52de381000 rw-p 00058000 08:01 2909420 /usr/lib/libQtSvg.so.4.6.3
7f52de381000-7f52de385000 r-xp 00000000 08:01 4725850 /usr/lib/qt4/plugins/imageformats/libqsvg.so
7f52de385000-7f52de584000 ---p 00004000 08:01 4725850 /usr/lib/qt4/plugins/imageformats/libqsvg.so
7f52de584000-7f52de585000 rw-p 00003000 08:01 4725850 /usr/lib/qt4/plugins/imageformats/libqsvg.so
7f52de585000-7f52de5ba000 r-xp 00000000 08:01 2894981 /usr/lib/liblcms.so.1.0.18
7f52de5ba000-7f52de7b9000 ---p 00035000 08:01 2894981 /usr/lib/liblcms.so.1.0.18
7f52de7b9000-7f52de7bb000 rw-p 00034000 08:01 2894981 /usr/lib/liblcms.so.1.0.18
7f52de7bb000-7f52de7bd000 rw-p 00000000 00:00 0
7f52de7bd000-7f52de841000 r-xp 00000000 08:01 2899256 /usr/lib/libmng.so.1.1.0.10
7f52de841000-7f52dea40000 ---p 00084000 08:01 2899256 /usr/lib/libmng.so.1.1.0.10
7f52dea40000-7f52dea45000 rw-p 00083000 08:01 2899256 /usr/lib/libmng.so.1.1.0.10
7f52dea45000-7f52dea4b000 r-xp 00000000 08:01 4729394 /usr/lib/qt4/plugins/imageformats/libqmng.so
7f52dea4b000-7f52dec4a000 ---p 00006000 08:01 4729394 /usr/lib/qt4/plugins/imageformats/libqmng.so
7f52dec4a000-7f52dec4b000 rw-p 00005000 08:01 4729394 /usr/lib/qt4/plugins/imageformats/libqmng.so
7f52dec4b000-7f52dec53000 r-xp 00000000 08:01 4729393 /usr/lib/qt4/plugins/imageformats/libqjpeg.so
7f52dec53000-7f52dee53000 ---p 00008000 08:01 4729393 /usr/lib/qt4/plugins/imageformats/libqjpeg.so
7f52dee53000-7f52dee54000 rw-p 00008000 08:01 4729393 /usr/lib/qt4/plugins/imageformats/libqjpeg.so
7f52dee54000-7f52dee5b000 r-xp 00000000 08:01 4729392 /usr/lib/qt4/plugins/imageformats/libqico.so
7f52dee5b000-7f52df05a000 ---p 00007000 08:01 4729392 /usr/lib/qt4/plugins/imageformats/libqico.so
7f52df05a000-7f52df05b000 rw-p 00006000 08:01 4729392 /usr/lib/qt4/plugins/imageformats/libqico.so
7f52df05b000-7f52df062000 r-xp 00000000 08:01 4729387 /usr/lib/qt4/plugins/imageformats/libqgif.so
7f52df062000-7f52df261000 ---p 00007000 08:01 4729387 /usr/lib/qt4/plugins/imageformats/libqgif.so
7f52df261000-7f52df262000 rw-p 00006000 08:01 4729387 /usr/lib/qt4/plugins/imageformats/libqgif.so
7f52df262000-7f52df264000 r-xp 00000000 08:01 3146604 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
7f52df264000-7f52df463000 ---p 00002000 08:01 3146604 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
7f52df463000-7f52df464000 rw-p 00001000 08:01 3146604 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
7f52df464000-7f52df472000 r-xp 00000000 08:01 3152581 /usr/lib/gtk-2.0/2.10.0/engines/libredmond95.so
7f52df472000-7f52df672000 ---p 0000e000 08:01 3152581 /usr/lib/gtk-2.0/2.10.0/engines/libredmond95.so
7f52df672000-7f52df673000 rw-p 0000e000 08:01 3152581 /usr/lib/gtk-2.0/2.10.0/engines/libredmond95.so
7f52df673000-7f52df67c000 r-xp 00000000 08:01 2889169 /usr/lib/libltdl.so.7.2.1
7f52df67c000-7f52df87b000 ---p 00009000 08:01 2889169 /usr/lib/libltdl.so.7.2.1
7f52df87b000-7f52df87c000 rw-p 00008000 08:01 2889169 /usr/lib/libltdl.so.7.2.1
7f52df87c000-7f52df88a000 r-xp 00000000 08:01 2889173 /usr/lib/libtdb.so.1.2.1
7f52df88a000-7f52dfa89000 ---p 0000e000 08:01 2889173 /usr/lib/libtdb.so.1.2.1
abort

Regards,

Christian.

Christian Jakob (jakob-ifgt) said : #10

Its working with this engines:

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb()]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_CapillaryPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()],
 ),
 Law2_ScGeom_CapillaryPhys_Capillarity(CapillaryPressure=10000),
 GravityEngine(gravity=(0,0,-9.81)),
 NewtonIntegrator(damping=0.5),
]

There were two main mistakes:

1.) I had the files from https://yade-dem.org/wiki/CapillaryTriaxialTest extracted only in the bin directory of yade, but it should be in the same directory as the script. Now the warning message does not occur any more, but another crash occur, when particles come in contact...

2.) One has to set at least a value for the CapillaryPressure, so that the law knows how to calculate the right forces.

Regards,

Christian.

Special thanks to Luc Scholtes.