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. _______________________________________________ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp