yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #19875
[Question #681232]: Sphere goes through the facet wall in Harmonic vibration
New question #681232 on Yade:
https://answers.launchpad.net/yade/+question/681232
Hi, in my case there are lots of spheres in one box and a piston in the bottom of the box. Then the piston does harmonic vibration. I find when the vibration amplitude goes to high, the spheres go through the piston, which is constructed by facet. I want to know the reason and fix it. In addition, the density is amplified by a factor of 1e9 to increase the calculation speed. And also I want to know how to define the word of "rigid" in yade. In my case, the box is rigid and the spheres are relatively soft. Does it make sense if i set the young's modulus of the box material as 100 times of that of the sphere material?
Following is my code,
# PhysicalParameters
muS = 0.57735
muF = 0.17632
FricAngleS = math.atan(muS)
FricAngleF = math.atan(muF)
densitys_ac = 8150*1e9
densityw_ac = 2700*1e9
yongmodu = 195e9
poisn = 0.3
# material model
matSph = CohFrictMat(density=densitys_ac, young=yongmodu, poisson=poisn, frictionAngle=FricAngleS, momentRotationLaw=True)
SMat = O.materials.append(matSph)
matFacet = CohFrictMat(density=densityw_ac, young=yongmodu, poisson=poisn, frictionAngle=FricAngleF, momentRotationLaw=True)
FMat = O.materials.append(matFacet)
## box and piston
O.bodies.append(geom.facetBox((0.5e-3,0.5e-3,0.5e-3),(0.5e-3,0.5e-3,0.5e-3), wallMask=31, material=FMat))
Cylinder1IDs=O.bodies.append(geom.facetBox((0.5e-3,0.5e-3,0.15e-3),(0.5e-3,0.5e-3,0.2e-3), wallMask=63, color=(0,1,0), wire=False, material=FMat))
# spreading process motions first harmonic vibratiion then stop
def change_motion():
if O.time > 0.4:
harmEngineP1.dead = False
harmEngineP1.A = (0.0,0.0,0.35e-3*0.25)
elif O.time > 0.5:
harmEngineP1.A = (0, 0, 0)
harmEngineP1.f = (0, 0, 0)
#define engines:
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
# handle sphere+sphere and facet+sphere collisions
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
),
PyRunner(iterPeriod=100,command='change_motion()'),
HarmonicMotionEngine(dead=True,label='harmEngineP1', A=(0.0,0.0,1.5e-5), f=(0.0,0.0,60.0), ids=Cylinder1IDs),
NewtonIntegrator(damping=0.75, exactAsphericalRot=True, gravity=(0,0,-9.81)),
# VTKRecorder(iterPeriod=2000, recorders=['spheres','colors'], fileName='./vtu/t3-SS316L_60um.vtu'),
]
## generation particles
sp = pack.SpherePack()
sp.makeCloud((0,0,0.35e-3), (1.0e-3,1.0e-3,1.2e-3), rMean=40e-6, rRelFuzz=40e-6)
sp.toSimulation(material=SMat)
## time step
O.dt = 0.85*utils.PWaveTimeStep()
O.usesTimeStepper = False
O.run()
Thanks,
Xuesong
--
You received this question notification because your team yade-users is
an answer contact for Yade.