yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #25188
[Question #696009]: Polyhedra gravity deposit simulation explodes with no damping
New question #696009 on Yade:
https://answers.launchpad.net/yade/+question/696009
I have been trying to create a simple polyhedra gravity deposit simulation without success. Everything looks reasonable until the particles contact the wall. After the particles hit the wall, a few of them rebound at an extremely high speed and exit the simulation. I have tried smaller and smaller time steps and the result is always the same. The only way I've found to eliminate this problem is to introduce a very large amount of damping in the NewtonIntegrator. My understanding is that damping should only be used in steady state simulations, and ultimately I want transient simulations so I think damping must be 0. Here is my code. How can I get the particles to stabilize?
from yade import pack,plot,ymport,export,polyhedra_utils
#define materials
matPoly = PolyhedraMat(
young=1.0e11,
frictionAngle=radians(25),
density=2160,
poisson=0.3,
)
id_matPoly = O.materials.append(matPoly)
# Add box to hold our particles
O.bodies.append(geom.facetBox((.5,.5,.5),(.6,.6,.6),wallMask=31))
# Create cloud of polys
radMean=.05
sp=pack.SpherePack()
sp.makeCloud((0,0,0),(1,1,.1),rMean=radMean,rRelFuzz=.5, seed=2)
# Replace spheres by polys
for pos,radius in sp:
t = polyhedra_utils.polyhedra(matPoly,(radius,0.4*radius,0.7*radius))
t.state.pos = pos
O.bodies.append(t)
#export the initial packing
vtkExporter = export.VTKExporter('Mixed.vtk')
vtkExporter.exportPolyhedra(ids='all', what=dict(speed='b.state.vel.norm()'))
vtkExporter.exportFacets()
O.engines=[
ForceResetter(),
InsertionSortCollider([
Bo1_Polyhedra_Aabb(),
Bo1_Sphere_Aabb(),
Bo1_Facet_Aabb()
],verletDist=.05*radMean),
InteractionLoop(
[
Ig2_Polyhedra_Polyhedra_PolyhedraGeom(),
Ig2_Facet_Polyhedra_PolyhedraGeom(),
],
[
Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys(), # collision "physics"
],
[
Law2_PolyhedraGeom_PolyhedraPhys_Volumetric(), # contact law -- apply forces
],
),
NewtonIntegrator(damping=0.0,gravity=[0,0,-9.81]),
PyRunner(command='ExportResults()', label='exportres', iterPeriod=200000),
]
def ExportResults():
vtkExporter.exportPolyhedra(ids='all', what=dict(speed='b.state.vel.norm()'))
O.dt=0.0000001
O.stopAtIter=10000000
O.run()
--
You received this question notification because your team yade-users is
an answer contact for Yade.