← Back to team overview

yade-users team mailing list archive

Re: [Question #239901]: Sphere + facet collision problem

 

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

    Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Martin,
try to decrease the time step and let us know if it helped or not. If not,
we will find better solution :-)
cheers
Jan


2013/11/27 Martin Nie <question239901@xxxxxxxxxxxxxxxxxxxxx>

> New question #239901 on Yade:
> https://answers.launchpad.net/yade/+question/239901
>
> Hi,
> if I run the simulation, the spheres seem to cross the cauldron or they're
> jumping very fast away. I if I change the material to ViscElMat and change
> the appropriate Law, the spheres don't cross the cauldron's surface. I
> would like to know, how to stop this behaviour regarding the material
> "FrictMat". Am I using the wrong laws or is the matter with importing a
> .stl- file?
> Here's my Code:
>
> from yade import pack, plot, qt
> from yade import ymport
>
> facetMat=O.materials.append(FrictMat(density=7850,young=210e9,poisson=.25))
>
> sphereMat=O.materials.append(FrictMat(density=7850,young=210e9,poisson=.25))
>
> fctIds=O.bodies.append(ymport.stl('cauldron',color=(1,1,1),wire=True,fixed=True))
>
> sphereRadius = .02
> nbSpheres = (2,2,2)
> for i in xrange(nbSpheres[0]):
>     for j in xrange(nbSpheres[1]):
>         for k in xrange(nbSpheres[2]):
>             x = (i*2 - nbSpheres[0])*sphereRadius*1.15
>             y = (j*2 - nbSpheres[1])*sphereRadius*1.15
>             z = (k*2 - nbSpheres[2])*sphereRadius*1.15
>             s=sphere([x,y,z+.2],sphereRadius,color=[1,1,6])
>             O.bodies.append(s)
>
>
> O.engines=[
>    ForceResetter(),
>    InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
>    InteractionLoop(
>       # handle sphere+sphere and facet+sphere collisions
>       [Ig2_Sphere_Sphere_L3Geom(),Ig2_Facet_Sphere_L3Geom()],
>       [Ip2_FrictMat_FrictMat_FrictPhys()],
>       [Law2_L3Geom_FrictPhys_ElPerfPl()]
>
>
>    ),
>    GravityEngine(gravity=(0,0,-9.81)),
>    NewtonIntegrator(damping=0.5),
>
>    qt.SnapshotEngine(fileBase='3d-',iterPeriod=5,label='snapshot'),
>    PyRunner(command='finish()',iterPeriod=20000)
>
> ]
> O.dt=.9*utils.PWaveTimeStep()
>
> qt.View()
>
> def finish():
>         utils.makeVideo(snapshot.snapshots, 'simple_steel_collision.mpeg',
> fps=25, bps=10000)
>         O.pause()
>
>
> rr=yade.qr.Renderer()
> rr.shape=False
> rr.IntrPhys=True
>
> Best regards!
> Thanks
>
>
> --
> 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.