← Back to team overview

yade-users team mailing list archive

Re: [Question #269315]: swap failure in InteractionLoop

 

Question #269315 on Yade changed:
https://answers.launchpad.net/yade/+question/269315

    Status: Answered => Open

behzad is still having a problem:
well, I tried the first method. But, the problem is still there.

When I define the Ip2 functors in the engines, the one which is defined
first is the active one!

I mean, I have defined two separate Ip2 functors:

Ip2_CohBurgersMat_CohFrictMat_CohBurgersPhys()

Ip2_CohFrictMat_CohBurgersMat_CohBurgersPhys()


In my simulation, I define the engines as:

O.engines=[
ForceResetter(),
ForceEngine(force=(0,0,2e1),ids=[1],label='fEngine'),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D()],
[Ip2_CohBurgersMat_CohBurgersMat_CohBurgersPhys(setCohesionNow=True, setCohesionOnNewContacts=True),
Ip2_CohBurgersMat_CohFrictMatMat_CohBurgersPhys(setCohesionNow=True, setCohesionOnNewContacts=True),
Ip2_CohFrictMat_CohBurgersMat_CohBurgersPhys(setCohesionNow=True, setCohesionOnNewContacts=True)],
[Law2_ScGeom6D_CohBurgersPhys_CohesiveBurgers(),Law2_ScGeom_FrictPhys_CundallStrack()]
),
NewtonIntegrator(damping=0.7,gravity=[0,0,0]),
PyRunner(command="fEngine.force=(0,0,0)", iterPeriod=5000000),
PyRunner(command='AutoData()',iterPeriod=150000)
]


In the case above, Ip2_CohBurgersMat_CohFrictMatMat... is defined first. Now, if O.bodies[0] is CohBurgersMat and O.bodies[1] is CohFrictMat, it works but not the reverse.

Now, if I define first Ip2_CohFrictMat_CohBurgersMat..., if O.bodies[0]
is CohFrictMat and O.bodies[1] is CohBurgersMat, it works but not the
reverse.

That's strange (for me). This shouldn't happen. 
And but "not working" I mean, I again get the error of 
" python: /home/bemaj3/yade-trunk/trunk/pkg/common/InteractionLoop.cpp:116: virtual void InteractionLoop::action(): Assertion `!swap' failed.
Aborted (core dumped)"

Regards,
Behzad

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.


References