← 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: Open => Answered

Jan Stránský proposed the following answer:
Hi Behzad,

just to confirm we are discussing the same problem, I'll repeat my two
requests from #3:

please provide also a Python script (even if we can't run it). Do you use
> more particle shapes?


furhtermore, please attach also the .hpp and .cpp files with your
implementation so we can see or compile it and try, the problem might be
also there (e.g. forgotten switch of FUNCTOR2D arguments)

I thought this approach should have worked, sorry it does not. To solve it,
somebody should dive deeply inside the code and find out what is going on
for these combinations of shapes and materials.. I opened a bug [1], but
currently I don't have time capacities to solve it myself..

cheers
Jan

[1] https://bugs.launchpad.net/yade/+bug/1475844


2015-07-22 22:56 GMT+02:00 behzad
<question269315@xxxxxxxxxxxxxxxxxxxxx>:

> 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.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

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