← Back to team overview

yade-users team mailing list archive

Re: [Question #688275]: Size problem in yade simulation

 

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

Huang peilun posted a new comment:
Thanks!
I increased the stiffness but there still are spheres that go through the bottom of the cylinder. Here's my code.

********************************
from yade import pack

Mat=FrictMat(young=2.06e20)
SoilMat=FrictMat(young=25e6,poisson=0.2,density=2650,frictionAngle=0.28)
O.materials.append((SoilMat,Mat))

O.bodies.append(geom.facetCylinder(center=(500,500,500),radius=500,height=1000,wallMask=6,color=(1,0,0),material=Mat))

sp=pack.SpherePack()
sp.makeCloud((0,0,0),(1000,1000,1000),rMean=50,rRelFuzz=.3)
cyl=pack.inCylinder((500,500,0),(500,500,1000),450)
sp=pack.filterSpherePack(cyl,sp,True)
sp.toSimulation(material=SoilMat)

O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()],
		[Ip2_FrictMat_FrictMat_FrictPhys()],
		[Law2_ScGeom_FrictPhys_CundallStrack()]
	),
	# update position using Newton's equations
	NewtonIntegrator(gravity=(0,0,-9.81),damping=0.05),
	# call the checkUnbalanced function (defined below) every 2 seconds
	PyRunner(command='checkUnbalanced()',realPeriod=2,label='checker'),
]
O.dt=.2*PWaveTimeStep()

def checkUnbalanced():
	print('%s: Unbalanced=%s' % (O.iter,unbalancedForce()))
	if O.iter<5000: return 
	if unbalancedForce()<.05: 
		O.pause()

O.saveTmp()

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.