yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #08616
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.