New question #696912 on Yade: https://answers.launchpad.net/yade/+question/696912
Hello, First of all, I want to thank the YADE community for allowing those (like me) new to simulations to have access to this excellent program. I am creating a code based on the gravity deposition example shown on the official YADE page to learn a little bit. I added some modifications, such as dropping three-grain samples of different sizes and filtering the initial arrangement in order to have a cylindrical shape. However, I would like to simulate something closer to a deposition experiment, that is, to separate the simulation into two parts: 1.- Generate a cylinder and deposit the grains inside. This has an associated stabilization time in which all the particles settle and the system is at rest. 2.- Once this happens (i.e., all the grains stop), I remove the cylindrical container and allow the granular column to flow. Below is my code that allows observing the collapse of the granular cylinder with the drawback that the grains are not deposited in a cylinder, but simply created in a cylinder shape. ------------------------------ ------- CODE ----------- ------------------------------ #!/usr/bin/python # -*- coding: utf-8 -*- # import yade modules that we will use below from yade import pack, plot # characteristics of the spheres and walls O.materials.append(FrictMat(density=1800,young=50e6,poisson=0.2,frictionAngle=radians(36),label='sphereMat')) O.materials.append(FrictMat(density=600,young=5e6,poisson=0.2,frictionAngle=radians(40),label='wallMat')) # create rectangular box from facets O.bodies.append(geom.facetBox((0,0,0),(4,4,2),wallMask=31,material='wallMat')) # create empty sphere packing # sphere packing is not equivalent to particles in simulation, it contains only the pure geometry sp=pack.SpherePack() # generate randomly spheres with uniform radius distribution sp.makeCloud((-0.25,-0.25,-2.0),(0.25,0.25,-1.0),rMean=0.05,rRelFuzz=0.01), sp.makeCloud((-0.25,-0.25,-1.0),(0.25,0.25,0.0),rMean=0.03,rRelFuzz=0.01), sp.makeCloud((-0.25,-0.25,0.0),(0.25,0.25,1.0),rMean=0.02,rRelFuzz=0.01) # filter and create a cylindrical array pred=pack.inCylinder((0.0,0.0,-3),(0.0,0.0,2),radius=0.3) sp2 = pack.filterSpherePack(pred,sp,returnSpherePack=True) # add the sphere pack to the simulation sp2.toSimulation(material='sphereMat') O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( # handle sphere+sphere and facet+sphere collisions [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,0,-9.81),damping=0.0), ] O.dt=.5*PWaveTimeStep() O.saveTmp() ------------------------------------------- Thank you very much, any help is welcome!! -- 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