Ball bouncing on the wall

Asked by Majid Ashraf

 My name is Majid Ashraf and I am doing my Master's in Chemical Engineering from New Jersey Institute Of Technology. I was recently assigned to work on YADE by my professor and he said to start with a simple model i-e ball bouncing on the wall. I have compiled yade and tried making up the syntax for the above model but it's not working.
 This is what i am using.

> O.bodies.append([
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> #utils._commonBodySetup(),
> utils.sphere((0,0,2),.5)
> ])
> O.engines=[
> ForceResetter(),
> InsertionSortCollider([Bo1_Sphere_Aabb()]),
> InteractionLoop(
> [Ig2_Wall_Sphere_ScGeom()],
> [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply forces
> ),
> GravityEngine(gravity=(0,0,-9.81)),
> # damping: numerical dissipation of energy
> NewtonIntegrator(damping=0.1)
> ]
>
> # set timestep to a fraction of the critical timestep
> # the fraction is very small, so that the simulation is not too fast
> # and the motion can be observed
> O.dt=.5e-4*utils.PWaveTimeStep()
>
> # save the simulation, so that it can be reloaded later, for
> experimentation
> O.saveTmp()
>
> Can anyone please help me out in this regard? I will really appreciate your
> concern. Thanks.
>
> Best Regards,
>
> Majid

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jan Stránský (honzik) said :
#1

Hello Majid,

from what you wrote, it is very hard to say what is the reason.. To help
you, we will need some more information. Firstly, what version of Yade you
are using and how you compiled it. Then how you run your code (from script
or from IPython). Also why it is not working - do you get some errors or
the program does something different from what you want?

so please provide us with these information and hopefully we will be able
to help you :-)
Best regards
Jan

I run your script without any errors..

> This is what i am using.
>
> > O.bodies.append([
> >
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> > #utils._commonBodySetup(),
> > utils.sphere((0,0,2),.5)
> > ])
> > O.engines=[
> > ForceResetter(),
> > InsertionSortCollider([Bo1_Sphere_Aabb()]),
> > InteractionLoop(
> > [Ig2_Wall_Sphere_ScGeom()],
> > [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> > [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply forces
> > ),
> > GravityEngine(gravity=(0,0,-9.81)),
> > # damping: numerical dissipation of energy
> > NewtonIntegrator(damping=0.1)
> > ]
> >
> > # set timestep to a fraction of the critical timestep
> > # the fraction is very small, so that the simulation is not too fast
> > # and the motion can be observed
> > O.dt=.5e-4*utils.PWaveTimeStep()
> >
> > # save the simulation, so that it can be reloaded later, for
> > experimentation
> > O.saveTmp()
> >
> > Can anyone please help me out in this regard? I will really appreciate
> your
> > concern. Thanks.
> >
> > Best Regards,
> >
> > Majid
>
>
> --
> 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
>

Revision history for this message
Majid Ashraf (ma469) said :
#2

Hello Jan,
              Thanks for the thumbs up on my problem. I am using Yade
0.70.0 and my friend compiled it for me. I wrote the whole syntax in
IPython and then used yade to recall that using .py extension. I am not
getting any syntax errors but the ball is passing through the wall instead
of bouncing. I have also attached a picture which will give you a better
idea of what's going on.

Best Regards,

Majid

On Tue, Mar 5, 2013 at 1:55 PM, Jan Stránský <
<email address hidden>> wrote:

> Your question #223478 on Yade changed:
> https://answers.launchpad.net/yade/+question/223478
>
> Status: Open => Answered
>
> Jan Stránský proposed the following answer:
> Hello Majid,
>
> from what you wrote, it is very hard to say what is the reason.. To help
> you, we will need some more information. Firstly, what version of Yade you
> are using and how you compiled it. Then how you run your code (from script
> or from IPython). Also why it is not working - do you get some errors or
> the program does something different from what you want?
>
> so please provide us with these information and hopefully we will be able
> to help you :-)
> Best regards
> Jan
>
>
> I run your script without any errors..
>
>
> > This is what i am using.
> >
> > > O.bodies.append([
> > >
> >
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> > > #utils._commonBodySetup(),
> > > utils.sphere((0,0,2),.5)
> > > ])
> > > O.engines=[
> > > ForceResetter(),
> > > InsertionSortCollider([Bo1_Sphere_Aabb()]),
> > > InteractionLoop(
> > > [Ig2_Wall_Sphere_ScGeom()],
> > > [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> > > [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply forces
> > > ),
> > > GravityEngine(gravity=(0,0,-9.81)),
> > > # damping: numerical dissipation of energy
> > > NewtonIntegrator(damping=0.1)
> > > ]
> > >
> > > # set timestep to a fraction of the critical timestep
> > > # the fraction is very small, so that the simulation is not too fast
> > > # and the motion can be observed
> > > O.dt=.5e-4*utils.PWaveTimeStep()
> > >
> > > # save the simulation, so that it can be reloaded later, for
> > > experimentation
> > > O.saveTmp()
> > >
> > > Can anyone please help me out in this regard? I will really appreciate
> > your
> > > concern. Thanks.
> > >
> > > Best Regards,
> > >
> > > Majid
> >
> >
> > --
> > 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
> >
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=0
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/yade/+question/223478
>
> You received this question notification because you asked the question.
>

Revision history for this message
Jan Stránský (honzik) said :
#3

Hello Majid,

thanks for the info. The problems is, that there is no bounding dispatcher
for the wall, so it is not considered by colision detector. Modify you
InsrtionSortCollider to this:

InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),

now it should work.
in case of any other question, don't hesitate to ask :-)
cheers
Jan

2013/3/5 Majid Ashraf <email address hidden>

> Question #223478 on Yade changed:
> https://answers.launchpad.net/yade/+question/223478
>
> Status: Answered => Open
>
> Majid Ashraf is still having a problem:
> Hello Jan,
> Thanks for the thumbs up on my problem. I am using Yade
> 0.70.0 and my friend compiled it for me. I wrote the whole syntax in
> IPython and then used yade to recall that using .py extension. I am not
> getting any syntax errors but the ball is passing through the wall instead
> of bouncing. I have also attached a picture which will give you a better
> idea of what's going on.
>
> Best Regards,
>
> Majid
>
>
> On Tue, Mar 5, 2013 at 1:55 PM, Jan Stránský <
> <email address hidden>> wrote:
>
> > Your question #223478 on Yade changed:
> > https://answers.launchpad.net/yade/+question/223478
> >
> > Status: Open => Answered
> >
> > Jan Stránský proposed the following answer:
> > Hello Majid,
> >
> > from what you wrote, it is very hard to say what is the reason.. To help
> > you, we will need some more information. Firstly, what version of Yade
> you
> > are using and how you compiled it. Then how you run your code (from
> script
> > or from IPython). Also why it is not working - do you get some errors or
> > the program does something different from what you want?
> >
> > so please provide us with these information and hopefully we will be able
> > to help you :-)
> > Best regards
> > Jan
> >
> >
> > I run your script without any errors..
> >
> >
> > > This is what i am using.
> > >
> > > > O.bodies.append([
> > > >
> > >
> >
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> > > > #utils._commonBodySetup(),
> > > > utils.sphere((0,0,2),.5)
> > > > ])
> > > > O.engines=[
> > > > ForceResetter(),
> > > > InsertionSortCollider([Bo1_Sphere_Aabb()]),
> > > > InteractionLoop(
> > > > [Ig2_Wall_Sphere_ScGeom()],
> > > > [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> > > > [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply forces
> > > > ),
> > > > GravityEngine(gravity=(0,0,-9.81)),
> > > > # damping: numerical dissipation of energy
> > > > NewtonIntegrator(damping=0.1)
> > > > ]
> > > >
> > > > # set timestep to a fraction of the critical timestep
> > > > # the fraction is very small, so that the simulation is not too fast
> > > > # and the motion can be observed
> > > > O.dt=.5e-4*utils.PWaveTimeStep()
> > > >
> > > > # save the simulation, so that it can be reloaded later, for
> > > > experimentation
> > > > O.saveTmp()
> > > >
> > > > Can anyone please help me out in this regard? I will really
> appreciate
> > > your
> > > > concern. Thanks.
> > > >
> > > > Best Regards,
> > > >
> > > > Majid
> > >
> > >
> > > --
> > > 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
> > >
> >
> > --
> > If this answers your question, please go to the following page to let us
> > know that it is solved:
> > https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=0
> >
> > If you still need help, you can reply to this email or go to the
> > following page to enter your feedback:
> > https://answers.launchpad.net/yade/+question/223478
> >
> > You received this question notification because you asked the question.
> >
>
> --
> 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
>

Revision history for this message
Majid Ashraf (ma469) said :
#4

Hey Jan,
              I tried incorporating the Aabb for wall in the insertion
collider as you advised but now i am getting this when i run the simulation.

FATAL /build/buildd/yade-0.70.0/pkg/common/InteractionLoop.cpp:156 action:
None of given Law2 functors can handle interaction #0+1, types
geom:ScGeom=1 and phys:FrictPhys=4 (LawDispatcher::getFunctor2D returned
empty functor)

Thanks.

Best Regards,

Majid

On Tue, Mar 5, 2013 at 2:45 PM, Jan Stránský <
<email address hidden>> wrote:

> Question #223478 on Yade changed:
> https://answers.launchpad.net/yade/+question/223478
>
> Status: Open => Answered
>
> Jan Stránský proposed the following answer:
> Hello Majid,
>
> thanks for the info. The problems is, that there is no bounding dispatcher
> for the wall, so it is not considered by colision detector. Modify you
> InsrtionSortCollider to this:
>
> InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
>
> now it should work.
> in case of any other question, don't hesitate to ask :-)
> cheers
> Jan
>
>
> 2013/3/5 Majid Ashraf <email address hidden>
>
> > Question #223478 on Yade changed:
> > https://answers.launchpad.net/yade/+question/223478
> >
> > Status: Answered => Open
> >
> > Majid Ashraf is still having a problem:
> > Hello Jan,
> > Thanks for the thumbs up on my problem. I am using Yade
> > 0.70.0 and my friend compiled it for me. I wrote the whole syntax in
> > IPython and then used yade to recall that using .py extension. I am not
> > getting any syntax errors but the ball is passing through the wall
> instead
> > of bouncing. I have also attached a picture which will give you a better
> > idea of what's going on.
> >
> > Best Regards,
> >
> > Majid
> >
> >
> > On Tue, Mar 5, 2013 at 1:55 PM, Jan Stránský <
> > <email address hidden>> wrote:
> >
> > > Your question #223478 on Yade changed:
> > > https://answers.launchpad.net/yade/+question/223478
> > >
> > > Status: Open => Answered
> > >
> > > Jan Stránský proposed the following answer:
> > > Hello Majid,
> > >
> > > from what you wrote, it is very hard to say what is the reason.. To
> help
> > > you, we will need some more information. Firstly, what version of Yade
> > you
> > > are using and how you compiled it. Then how you run your code (from
> > script
> > > or from IPython). Also why it is not working - do you get some errors
> or
> > > the program does something different from what you want?
> > >
> > > so please provide us with these information and hopefully we will be
> able
> > > to help you :-)
> > > Best regards
> > > Jan
> > >
> > >
> > > I run your script without any errors..
> > >
> > >
> > > > This is what i am using.
> > > >
> > > > > O.bodies.append([
> > > > >
> > > >
> > >
> >
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> > > > > #utils._commonBodySetup(),
> > > > > utils.sphere((0,0,2),.5)
> > > > > ])
> > > > > O.engines=[
> > > > > ForceResetter(),
> > > > > InsertionSortCollider([Bo1_Sphere_Aabb()]),
> > > > > InteractionLoop(
> > > > > [Ig2_Wall_Sphere_ScGeom()],
> > > > > [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> > > > > [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply forces
> > > > > ),
> > > > > GravityEngine(gravity=(0,0,-9.81)),
> > > > > # damping: numerical dissipation of energy
> > > > > NewtonIntegrator(damping=0.1)
> > > > > ]
> > > > >
> > > > > # set timestep to a fraction of the critical timestep
> > > > > # the fraction is very small, so that the simulation is not too
> fast
> > > > > # and the motion can be observed
> > > > > O.dt=.5e-4*utils.PWaveTimeStep()
> > > > >
> > > > > # save the simulation, so that it can be reloaded later, for
> > > > > experimentation
> > > > > O.saveTmp()
> > > > >
> > > > > Can anyone please help me out in this regard? I will really
> > appreciate
> > > > your
> > > > > concern. Thanks.
> > > > >
> > > > > Best Regards,
> > > > >
> > > > > Majid
> > > >
> > > >
> > > > --
> > > > 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
> > > >
> > >
> > > --
> > > If this answers your question, please go to the following page to let
> us
> > > know that it is solved:
> > >
> https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=0
> > >
> > > If you still need help, you can reply to this email or go to the
> > > following page to enter your feedback:
> > > https://answers.launchpad.net/yade/+question/223478
> > >
> > > You received this question notification because you asked the question.
> > >
> >
> > --
> > 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
> >
>
> --
> 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
>

Revision history for this message
Jan Stránský (honzik) said :
#5

Hello Majid,

we are on the right way :-) now the problem is that you have incompatible
functors, see [1]. You used Ig2_Wall_Sphere_ScGeom (so ScGeom), but then
Law2_L3Geom_FrictPhys_ElPerfPl (law for L3Geom). To make it work properly
you will need to use Law2_ScGeom_Something...

To tell you correct answer, we will need to see the compete sript (i.e.
what materials you are using). So please attach the whole script and
hopefully we will converge to the solution :-)
Jan

[1] https://yade-dem.org/doc/user.html#functors-choice

2013/3/7 Majid Ashraf <email address hidden>

> Question #223478 on Yade changed:
> https://answers.launchpad.net/yade/+question/223478
>
> Status: Answered => Open
>
> Majid Ashraf is still having a problem:
> Hey Jan,
> I tried incorporating the Aabb for wall in the insertion
> collider as you advised but now i am getting this when i run the
> simulation.
>
> FATAL /build/buildd/yade-0.70.0/pkg/common/InteractionLoop.cpp:156 action:
> None of given Law2 functors can handle interaction #0+1, types
> geom:ScGeom=1 and phys:FrictPhys=4 (LawDispatcher::getFunctor2D returned
> empty functor)
>
>
> Thanks.
>
> Best Regards,
>
> Majid
>
>
> On Tue, Mar 5, 2013 at 2:45 PM, Jan Stránský <
> <email address hidden>> wrote:
>
> > Question #223478 on Yade changed:
> > https://answers.launchpad.net/yade/+question/223478
> >
> > Status: Open => Answered
> >
> > Jan Stránský proposed the following answer:
> > Hello Majid,
> >
> > thanks for the info. The problems is, that there is no bounding
> dispatcher
> > for the wall, so it is not considered by colision detector. Modify you
> > InsrtionSortCollider to this:
> >
> > InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
> >
> > now it should work.
> > in case of any other question, don't hesitate to ask :-)
> > cheers
> > Jan
> >
> >
> > 2013/3/5 Majid Ashraf <email address hidden>
> >
> > > Question #223478 on Yade changed:
> > > https://answers.launchpad.net/yade/+question/223478
> > >
> > > Status: Answered => Open
> > >
> > > Majid Ashraf is still having a problem:
> > > Hello Jan,
> > > Thanks for the thumbs up on my problem. I am using Yade
> > > 0.70.0 and my friend compiled it for me. I wrote the whole syntax in
> > > IPython and then used yade to recall that using .py extension. I am not
> > > getting any syntax errors but the ball is passing through the wall
> > instead
> > > of bouncing. I have also attached a picture which will give you a
> better
> > > idea of what's going on.
> > >
> > > Best Regards,
> > >
> > > Majid
> > >
> > >
> > > On Tue, Mar 5, 2013 at 1:55 PM, Jan Stránský <
> > > <email address hidden>> wrote:
> > >
> > > > Your question #223478 on Yade changed:
> > > > https://answers.launchpad.net/yade/+question/223478
> > > >
> > > > Status: Open => Answered
> > > >
> > > > Jan Stránský proposed the following answer:
> > > > Hello Majid,
> > > >
> > > > from what you wrote, it is very hard to say what is the reason.. To
> > help
> > > > you, we will need some more information. Firstly, what version of
> Yade
> > > you
> > > > are using and how you compiled it. Then how you run your code (from
> > > script
> > > > or from IPython). Also why it is not working - do you get some errors
> > or
> > > > the program does something different from what you want?
> > > >
> > > > so please provide us with these information and hopefully we will be
> > able
> > > > to help you :-)
> > > > Best regards
> > > > Jan
> > > >
> > > >
> > > > I run your script without any errors..
> > > >
> > > >
> > > > > This is what i am using.
> > > > >
> > > > > > O.bodies.append([
> > > > > >
> > > > >
> > > >
> > >
> >
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> > > > > > #utils._commonBodySetup(),
> > > > > > utils.sphere((0,0,2),.5)
> > > > > > ])
> > > > > > O.engines=[
> > > > > > ForceResetter(),
> > > > > > InsertionSortCollider([Bo1_Sphere_Aabb()]),
> > > > > > InteractionLoop(
> > > > > > [Ig2_Wall_Sphere_ScGeom()],
> > > > > > [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> > > > > > [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply
> forces
> > > > > > ),
> > > > > > GravityEngine(gravity=(0,0,-9.81)),
> > > > > > # damping: numerical dissipation of energy
> > > > > > NewtonIntegrator(damping=0.1)
> > > > > > ]
> > > > > >
> > > > > > # set timestep to a fraction of the critical timestep
> > > > > > # the fraction is very small, so that the simulation is not too
> > fast
> > > > > > # and the motion can be observed
> > > > > > O.dt=.5e-4*utils.PWaveTimeStep()
> > > > > >
> > > > > > # save the simulation, so that it can be reloaded later, for
> > > > > > experimentation
> > > > > > O.saveTmp()
> > > > > >
> > > > > > Can anyone please help me out in this regard? I will really
> > > appreciate
> > > > > your
> > > > > > concern. Thanks.
> > > > > >
> > > > > > Best Regards,
> > > > > >
> > > > > > Majid
> > > > >
> > > > >
> > > > > --
> > > > > 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
> > > > >
> > > >
> > > > --
> > > > If this answers your question, please go to the following page to let
> > us
> > > > know that it is solved:
> > > >
> > https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=0
> > > >
> > > > If you still need help, you can reply to this email or go to the
> > > > following page to enter your feedback:
> > > > https://answers.launchpad.net/yade/+question/223478
> > > >
> > > > You received this question notification because you asked the
> question.
> > > >
> > >
> > > --
> > > 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
> > >
> >
> > --
> > 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
> >
>
> --
> 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
>

Revision history for this message
Majid Ashraf (ma469) said :
#6

Hello Jan,
    This is the complete script which i am using.

O.bodies.append([
utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
#utils._commonBodySetup(),
utils.sphere((0,0,2),.5)
])
O.engines=[
    ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
InteractionLoop(
[Ig2_Wall_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
[Law2_L3Geom_FrictPhys_ElPerfPl()], # contact law -- apply forces
),
GravityEngine(gravity=(0,0,-9.81)),
   # damping: numerical dissipation of energy
   NewtonIntegrator(damping=0.1)
]

# set timestep to a fraction of the critical timestep
# the fraction is very small, so that the simulation is not too fast
# and the motion can be observed
O.dt=.5e-4*utils.PWaveTimeStep()

# save the simulation, so that it can be reloaded later, for experimentation
O.saveTmp()

Thanks.

Best Regards,

Majid

On Thu, Mar 7, 2013 at 11:01 AM, Jan Stránský <
<email address hidden>> wrote:

> Your question #223478 on Yade changed:
> https://answers.launchpad.net/yade/+question/223478
>
> Status: Open => Answered
>
> Jan Stránský proposed the following answer:
> Hello Majid,
>
> we are on the right way :-) now the problem is that you have incompatible
> functors, see [1]. You used Ig2_Wall_Sphere_ScGeom (so ScGeom), but then
> Law2_L3Geom_FrictPhys_ElPerfPl (law for L3Geom). To make it work properly
> you will need to use Law2_ScGeom_Something...
>
> To tell you correct answer, we will need to see the compete sript (i.e.
> what materials you are using). So please attach the whole script and
> hopefully we will converge to the solution :-)
> Jan
>
> [1] https://yade-dem.org/doc/user.html#functors-choice
>
> 2013/3/7 Majid Ashraf <email address hidden>
>
> > Question #223478 on Yade changed:
> > https://answers.launchpad.net/yade/+question/223478
> >
> > Status: Answered => Open
> >
> > Majid Ashraf is still having a problem:
> > Hey Jan,
> > I tried incorporating the Aabb for wall in the insertion
> > collider as you advised but now i am getting this when i run the
> > simulation.
> >
> > FATAL /build/buildd/yade-0.70.0/pkg/common/InteractionLoop.cpp:156
> action:
> > None of given Law2 functors can handle interaction #0+1, types
> > geom:ScGeom=1 and phys:FrictPhys=4 (LawDispatcher::getFunctor2D returned
> > empty functor)
> >
> >
> > Thanks.
> >
> > Best Regards,
> >
> > Majid
> >
> >
> > On Tue, Mar 5, 2013 at 2:45 PM, Jan Stránský <
> > <email address hidden>> wrote:
> >
> > > Question #223478 on Yade changed:
> > > https://answers.launchpad.net/yade/+question/223478
> > >
> > > Status: Open => Answered
> > >
> > > Jan Stránský proposed the following answer:
> > > Hello Majid,
> > >
> > > thanks for the info. The problems is, that there is no bounding
> > dispatcher
> > > for the wall, so it is not considered by colision detector. Modify you
> > > InsrtionSortCollider to this:
> > >
> > > InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
> > >
> > > now it should work.
> > > in case of any other question, don't hesitate to ask :-)
> > > cheers
> > > Jan
> > >
> > >
> > > 2013/3/5 Majid Ashraf <email address hidden>
> > >
> > > > Question #223478 on Yade changed:
> > > > https://answers.launchpad.net/yade/+question/223478
> > > >
> > > > Status: Answered => Open
> > > >
> > > > Majid Ashraf is still having a problem:
> > > > Hello Jan,
> > > > Thanks for the thumbs up on my problem. I am using Yade
> > > > 0.70.0 and my friend compiled it for me. I wrote the whole syntax in
> > > > IPython and then used yade to recall that using .py extension. I am
> not
> > > > getting any syntax errors but the ball is passing through the wall
> > > instead
> > > > of bouncing. I have also attached a picture which will give you a
> > better
> > > > idea of what's going on.
> > > >
> > > > Best Regards,
> > > >
> > > > Majid
> > > >
> > > >
> > > > On Tue, Mar 5, 2013 at 1:55 PM, Jan Stránský <
> > > > <email address hidden>> wrote:
> > > >
> > > > > Your question #223478 on Yade changed:
> > > > > https://answers.launchpad.net/yade/+question/223478
> > > > >
> > > > > Status: Open => Answered
> > > > >
> > > > > Jan Stránský proposed the following answer:
> > > > > Hello Majid,
> > > > >
> > > > > from what you wrote, it is very hard to say what is the reason.. To
> > > help
> > > > > you, we will need some more information. Firstly, what version of
> > Yade
> > > > you
> > > > > are using and how you compiled it. Then how you run your code (from
> > > > script
> > > > > or from IPython). Also why it is not working - do you get some
> errors
> > > or
> > > > > the program does something different from what you want?
> > > > >
> > > > > so please provide us with these information and hopefully we will
> be
> > > able
> > > > > to help you :-)
> > > > > Best regards
> > > > > Jan
> > > > >
> > > > >
> > > > > I run your script without any errors..
> > > > >
> > > > >
> > > > > > This is what i am using.
> > > > > >
> > > > > > > O.bodies.append([
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> > > > > > > #utils._commonBodySetup(),
> > > > > > > utils.sphere((0,0,2),.5)
> > > > > > > ])
> > > > > > > O.engines=[
> > > > > > > ForceResetter(),
> > > > > > > InsertionSortCollider([Bo1_Sphere_Aabb()]),
> > > > > > > InteractionLoop(
> > > > > > > [Ig2_Wall_Sphere_ScGeom()],
> > > > > > > [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> > > > > > > [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply
> > forces
> > > > > > > ),
> > > > > > > GravityEngine(gravity=(0,0,-9.81)),
> > > > > > > # damping: numerical dissipation of energy
> > > > > > > NewtonIntegrator(damping=0.1)
> > > > > > > ]
> > > > > > >
> > > > > > > # set timestep to a fraction of the critical timestep
> > > > > > > # the fraction is very small, so that the simulation is not too
> > > fast
> > > > > > > # and the motion can be observed
> > > > > > > O.dt=.5e-4*utils.PWaveTimeStep()
> > > > > > >
> > > > > > > # save the simulation, so that it can be reloaded later, for
> > > > > > > experimentation
> > > > > > > O.saveTmp()
> > > > > > >
> > > > > > > Can anyone please help me out in this regard? I will really
> > > > appreciate
> > > > > > your
> > > > > > > concern. Thanks.
> > > > > > >
> > > > > > > Best Regards,
> > > > > > >
> > > > > > > Majid
> > > > > >
> > > > > >
> > > > > > --
> > > > > > 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
> > > > > >
> > > > >
> > > > > --
> > > > > If this answers your question, please go to the following page to
> let
> > > us
> > > > > know that it is solved:
> > > > >
> > >
> https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=0
> > > > >
> > > > > If you still need help, you can reply to this email or go to the
> > > > > following page to enter your feedback:
> > > > > https://answers.launchpad.net/yade/+question/223478
> > > > >
> > > > > You received this question notification because you asked the
> > question.
> > > > >
> > > >
> > > > --
> > > > 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
> > > >
> > >
> > > --
> > > 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
> > >
> >
> > --
> > 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
> >
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=4
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/yade/+question/223478
>
> You received this question notification because you asked the question.
>

Revision history for this message
Jan Stránský (honzik) said :
#7

Ok, I was confused by
material=RpmMat
in wall definition..

replace
Law2_L3Geom_FrictPhys_ElPerfPl()
with
Law2_ScGeom_FrictPhys_CundallStrack()
or any other law beginning with Law2_ScGeom (as you defined ScGeom in
Ig2_Wall_Sphere_ScGeom()), see links in my previous mail and [1]

the material usage in Yade is usually as follows (see [2]):
mat1 = O.materials.append(FrictMat(...))
utils.wall(...,mat=mat1,...)

Jan

[1] https://yade-dem.org/doc/yade.wrapper.html#constitutive-laws
[2] https://yade-dem.org/doc/user.html#defining-materials

2013/3/7 Majid Ashraf <email address hidden>

> Question #223478 on Yade changed:
> https://answers.launchpad.net/yade/+question/223478
>
> Status: Answered => Open
>
> Majid Ashraf is still having a problem:
> Hello Jan,
> This is the complete script which i am using.
>
> O.bodies.append([
>
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> #utils._commonBodySetup(),
> utils.sphere((0,0,2),.5)
> ])
> O.engines=[
> ForceResetter(),
> InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
> InteractionLoop(
> [Ig2_Wall_Sphere_ScGeom()],
> [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> [Law2_L3Geom_FrictPhys_ElPerfPl()], # contact law -- apply forces
> ),
> GravityEngine(gravity=(0,0,-9.81)),
> # damping: numerical dissipation of energy
> NewtonIntegrator(damping=0.1)
> ]
>
> # set timestep to a fraction of the critical timestep
> # the fraction is very small, so that the simulation is not too fast
> # and the motion can be observed
> O.dt=.5e-4*utils.PWaveTimeStep()
>
> # save the simulation, so that it can be reloaded later, for
> experimentation
> O.saveTmp()
>
> Thanks.
>
> Best Regards,
>
> Majid
>
>
> On Thu, Mar 7, 2013 at 11:01 AM, Jan Stránský <
> <email address hidden>> wrote:
>
> > Your question #223478 on Yade changed:
> > https://answers.launchpad.net/yade/+question/223478
> >
> > Status: Open => Answered
> >
> > Jan Stránský proposed the following answer:
> > Hello Majid,
> >
> > we are on the right way :-) now the problem is that you have incompatible
> > functors, see [1]. You used Ig2_Wall_Sphere_ScGeom (so ScGeom), but then
> > Law2_L3Geom_FrictPhys_ElPerfPl (law for L3Geom). To make it work properly
> > you will need to use Law2_ScGeom_Something...
> >
> > To tell you correct answer, we will need to see the compete sript (i.e.
> > what materials you are using). So please attach the whole script and
> > hopefully we will converge to the solution :-)
> > Jan
> >
> > [1] https://yade-dem.org/doc/user.html#functors-choice
> >
> > 2013/3/7 Majid Ashraf <email address hidden>
> >
> > > Question #223478 on Yade changed:
> > > https://answers.launchpad.net/yade/+question/223478
> > >
> > > Status: Answered => Open
> > >
> > > Majid Ashraf is still having a problem:
> > > Hey Jan,
> > > I tried incorporating the Aabb for wall in the insertion
> > > collider as you advised but now i am getting this when i run the
> > > simulation.
> > >
> > > FATAL /build/buildd/yade-0.70.0/pkg/common/InteractionLoop.cpp:156
> > action:
> > > None of given Law2 functors can handle interaction #0+1, types
> > > geom:ScGeom=1 and phys:FrictPhys=4 (LawDispatcher::getFunctor2D
> returned
> > > empty functor)
> > >
> > >
> > > Thanks.
> > >
> > > Best Regards,
> > >
> > > Majid
> > >
> > >
> > > On Tue, Mar 5, 2013 at 2:45 PM, Jan Stránský <
> > > <email address hidden>> wrote:
> > >
> > > > Question #223478 on Yade changed:
> > > > https://answers.launchpad.net/yade/+question/223478
> > > >
> > > > Status: Open => Answered
> > > >
> > > > Jan Stránský proposed the following answer:
> > > > Hello Majid,
> > > >
> > > > thanks for the info. The problems is, that there is no bounding
> > > dispatcher
> > > > for the wall, so it is not considered by colision detector. Modify
> you
> > > > InsrtionSortCollider to this:
> > > >
> > > > InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
> > > >
> > > > now it should work.
> > > > in case of any other question, don't hesitate to ask :-)
> > > > cheers
> > > > Jan
> > > >
> > > >
> > > > 2013/3/5 Majid Ashraf <email address hidden>
> > > >
> > > > > Question #223478 on Yade changed:
> > > > > https://answers.launchpad.net/yade/+question/223478
> > > > >
> > > > > Status: Answered => Open
> > > > >
> > > > > Majid Ashraf is still having a problem:
> > > > > Hello Jan,
> > > > > Thanks for the thumbs up on my problem. I am using
> Yade
> > > > > 0.70.0 and my friend compiled it for me. I wrote the whole syntax
> in
> > > > > IPython and then used yade to recall that using .py extension. I am
> > not
> > > > > getting any syntax errors but the ball is passing through the wall
> > > > instead
> > > > > of bouncing. I have also attached a picture which will give you a
> > > better
> > > > > idea of what's going on.
> > > > >
> > > > > Best Regards,
> > > > >
> > > > > Majid
> > > > >
> > > > >
> > > > > On Tue, Mar 5, 2013 at 1:55 PM, Jan Stránský <
> > > > > <email address hidden>> wrote:
> > > > >
> > > > > > Your question #223478 on Yade changed:
> > > > > > https://answers.launchpad.net/yade/+question/223478
> > > > > >
> > > > > > Status: Open => Answered
> > > > > >
> > > > > > Jan Stránský proposed the following answer:
> > > > > > Hello Majid,
> > > > > >
> > > > > > from what you wrote, it is very hard to say what is the reason..
> To
> > > > help
> > > > > > you, we will need some more information. Firstly, what version of
> > > Yade
> > > > > you
> > > > > > are using and how you compiled it. Then how you run your code
> (from
> > > > > script
> > > > > > or from IPython). Also why it is not working - do you get some
> > errors
> > > > or
> > > > > > the program does something different from what you want?
> > > > > >
> > > > > > so please provide us with these information and hopefully we will
> > be
> > > > able
> > > > > > to help you :-)
> > > > > > Best regards
> > > > > > Jan
> > > > > >
> > > > > >
> > > > > > I run your script without any errors..
> > > > > >
> > > > > >
> > > > > > > This is what i am using.
> > > > > > >
> > > > > > > > O.bodies.append([
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> utils.wall(position=Vector3(0,1,2),axis=2,sense=1,color=(1,0,0),material=RpmMat,mask=1),
> > > > > > > > #utils._commonBodySetup(),
> > > > > > > > utils.sphere((0,0,2),.5)
> > > > > > > > ])
> > > > > > > > O.engines=[
> > > > > > > > ForceResetter(),
> > > > > > > > InsertionSortCollider([Bo1_Sphere_Aabb()]),
> > > > > > > > InteractionLoop(
> > > > > > > > [Ig2_Wall_Sphere_ScGeom()],
> > > > > > > > [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
> > > > > > > > [Law2_L3Geom_FrictPhys_ElPerfPl()] # contact law -- apply
> > > forces
> > > > > > > > ),
> > > > > > > > GravityEngine(gravity=(0,0,-9.81)),
> > > > > > > > # damping: numerical dissipation of energy
> > > > > > > > NewtonIntegrator(damping=0.1)
> > > > > > > > ]
> > > > > > > >
> > > > > > > > # set timestep to a fraction of the critical timestep
> > > > > > > > # the fraction is very small, so that the simulation is not
> too
> > > > fast
> > > > > > > > # and the motion can be observed
> > > > > > > > O.dt=.5e-4*utils.PWaveTimeStep()
> > > > > > > >
> > > > > > > > # save the simulation, so that it can be reloaded later, for
> > > > > > > > experimentation
> > > > > > > > O.saveTmp()
> > > > > > > >
> > > > > > > > Can anyone please help me out in this regard? I will really
> > > > > appreciate
> > > > > > > your
> > > > > > > > concern. Thanks.
> > > > > > > >
> > > > > > > > Best Regards,
> > > > > > > >
> > > > > > > > Majid
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > 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
> > > > > > >
> > > > > >
> > > > > > --
> > > > > > If this answers your question, please go to the following page to
> > let
> > > > us
> > > > > > know that it is solved:
> > > > > >
> > > >
> > https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=0
> > > > > >
> > > > > > If you still need help, you can reply to this email or go to the
> > > > > > following page to enter your feedback:
> > > > > > https://answers.launchpad.net/yade/+question/223478
> > > > > >
> > > > > > You received this question notification because you asked the
> > > question.
> > > > > >
> > > > >
> > > > > --
> > > > > 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
> > > > >
> > > >
> > > > --
> > > > 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
> > > >
> > >
> > > --
> > > 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
> > >
> >
> > --
> > If this answers your question, please go to the following page to let us
> > know that it is solved:
> > https://answers.launchpad.net/yade/+question/223478/+confirm?answer_id=4
> >
> > If you still need help, you can reply to this email or go to the
> > following page to enter your feedback:
> > https://answers.launchpad.net/yade/+question/223478
> >
> > You received this question notification because you asked the question.
> >
>
> --
> 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
>

Can you help with this problem?

Provide an answer of your own, or ask Majid Ashraf for more information if necessary.

To post a message you must log in.