New question #706883 on Yade: https://answers.launchpad.net/yade/+question/706883
Hi, I want to pour the particles into a container and stir. However, the particle deposition rate is too slow. How can I accelerate the process? Here is my script. import random import math from yade import geom, pack, utils, plot, ymport, export import numpy as np #particle parameters Density = 3000 FrictionAngle = 0 PoissonRatio = 0.5 Young = 300e6 Damp = 0.7 AvgRadius = 0.01 N_particles = 20000 #Wall constants WDensity = 3000 WFrictionAngle = 0.0 WPoissonRatio = 0.5 WYoung = 500e9 SphereMat = O.materials.append(FrictMat(young = Young, poisson = PoissonRatio, frictionAngle = radians(FrictionAngle), density = Density)) WallMat = O.materials.append(FrictMat(young = WYoung, poisson = WPoissonRatio, frictionAngle = radians(WFrictionAngle), density = WDensity)) ### tank center = (0, 0, 0) diameter = 2 height = 1 cylinder = geom.facetCylinder(center=center, radius=diameter/2, height=height, segmentsNumber=80, wallMask=6,material=WallMat) O.bodies.append(cylinder) ### funnel # Define cylinder with funnel parameters center2 = (0, 0, 1) diameter2 = 0.4 height2 = 1 # create cylindrical body cylinder2 = geom.facetCylinder(center=center2, radius=diameter2/2, height=height2, segmentsNumber=80, wallMask=4,material=WallMat) O.bodies.append(cylinder2) # Define cylinder with funnel parameters center1 = (0,0,height2/2+1) dBunker = 2 dOutput = 0.4 hBunker = 0 hOutput = 1 hPipe = 0 # create funnel as a bunker funnel = geom.facetBunker(center=center1, dBunker=dBunker, dOutput=dOutput, hBunker=hBunker,hOutput=hOutput, hPipe=hPipe, segmentsNumber=80, wallMask=4,material=WallMat) O.bodies.append(funnel) # Define cylinder with funnel parameters center3 = (0, 0, 4.5) diameter3 = 2 height3 = 4 # create cylindrical body cylinder3 = geom.facetCylinder(center=center3, radius=diameter3/2, height=height3, segmentsNumber=80, wallMask=4,material=WallMat) O.bodies.append(cylinder3) ### blender b1=[] for i in range(60): b1.append(O.bodies.append(sphere([0.707/2,0.707/2,i*0.02-0.48],0.04))) for i in range(5): for j in range(48): b1.append(O.bodies.append(sphere([j*0.01+0.707/2,0.707/2,i*0.2-0.48],0.02))) b1.append(O.bodies.append(sphere([-j*0.01+0.707/2,0.707/2,i*0.2-0.38],0.02))) idclump1=O.bodies.clump(b1) s1=O.bodies[-1] s1.state.blockedDOFs='xyzXYZ' b2=[] for i in range(60): b2.append(O.bodies.append(sphere([-0.707/2,-0.707/2,i*0.02-0.48],0.04))) for i in range(5): for j in range(48): b2.append(O.bodies.append(sphere([-(j*0.01+0.707/2),-0.707/2,i*0.2-0.48],0.02))) b2.append(O.bodies.append(sphere([-(-j*0.01+0.707/2),-0.707/2,i*0.2-0.38],0.02))) idclump2=O.bodies.clump(b2) s2=O.bodies[-1] s2.state.blockedDOFs='xyzXYZ' b3=[] for i in range(60): b3.append(O.bodies.append(sphere([0.707/2,-0.707/2,i*0.02-0.48],0.04))) for i in range(5): for j in range(48): b3.append(O.bodies.append(sphere([(-j*0.01+0.707/2),-0.707/2,i*0.2-0.48],0.02))) b3.append(O.bodies.append(sphere([(j*0.01+0.707/2),-0.707/2,i*0.2-0.38],0.02))) idclump3=O.bodies.clump(b3) s3=O.bodies[-1] s3.state.blockedDOFs='xyzXYZ' b4=[] for i in range(60): b4.append(O.bodies.append(sphere([-0.707/2,0.707/2,i*0.02-0.48],0.04))) for i in range(5): for j in range(48): b4.append(O.bodies.append(sphere([-(-j*0.01+0.707/2),0.707/2,i*0.2-0.48],0.02))) b4.append(O.bodies.append(sphere([-(j*0.01+0.707/2),0.707/2,i*0.2-0.38],0.02))) idclump4=O.bodies.clump(b4) s4=O.bodies[-1] s4.state.blockedDOFs='xyzXYZ' for b in O.bodies: if isinstance(b.shape,Sphere): b.shape.color=(0.,1.,0.) ### particle generation mn = Vector3(0.6,-0.6,2.5) mx = Vector3(-0.6,0.6,5.5) sp = pack.SpherePack() sp.makeCloud(mn,mx,num=N_particles,rMean=AvgRadius,rRelFuzz=0,distributeMass=False) sp.toSimulation(material = SphereMat) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,0,-9.8),damping=0.7), CombinedKinematicEngine(ids=[s1.id],comb=[RotationEngine(angularVelocity=10000,rotateAroundZero=1,rotationAxis=(0,0,1),zeroPoint=(0.707/2,0.707/2,0))]), CombinedKinematicEngine(ids=[s2.id],comb=[RotationEngine(angularVelocity=10000,rotateAroundZero=1,rotationAxis=(0,0,1),zeroPoint=(-0.707/2,-0.707/2,0))]), CombinedKinematicEngine(ids=[s3.id],comb=[RotationEngine(angularVelocity=-10000,rotateAroundZero=1,rotationAxis=(0,0,1),zeroPoint=(0.707/2,-0.707/2,0))]), CombinedKinematicEngine(ids=[s4.id],comb=[RotationEngine(angularVelocity=-10000,rotateAroundZero=1,rotationAxis=(0,0,1),zeroPoint=(-0.707/2,0.707/2,0))]) ] O.dt=2*PWaveTimeStep() -- 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