Re: [Yade-users] [Question #628632]: Modeling particle breakage in YADE
Question #628632 on Yade changed: https://answers.launchpad.net/yade/+question/628632 Status: Open => Solved Tina Asia confirmed that the question is solved: Thanks Jan, I have got a desired porosity (about 0.27) packing using randomDensePack and growParticles. Thus, there is no need to write a function compressing irregular shapes. But, this packing always ‘explodes’ because of particles' penetrationDepth. I have searched some questions in LaunchPad, but those methods all failed. As my new question was posted here: https://answers.launchpad.net/yade/+question/630281 Thanks for your patience. Regards, Tina @ Yade -- 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
Re: [Yade-users] [Question #628632]: Modeling particle breakage in YADE
Question #628632 on Yade changed: https://answers.launchpad.net/yade/+question/628632 Status: Answered => Open Tina Asia is still having a problem: Thanks Jan, I am a new user of Yade, and I have studied yade just over 2 months, but I still have a great passion and interests on Yade. I have studied the source code of randomDensePack, but I have no any idea to write my own code compressing the packing using arbitrary shape. Can you give me some hints. Many thanks! Tina @yade -- 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
Re: [Yade-users] [Question #628632]: Modeling particle breakage in YADE
Question #628632 on Yade changed: https://answers.launchpad.net/yade/+question/628632 Status: Open => Answered Jan Stránský proposed the following answer: Hi Tina, I am not very familiar with CohFrictMat, but one solution is to set proper unp value of existing interactions such that the interactions are force-free. Then the simulation should not explode (or the problem is at different place). Form more info, search other questions. I am also not very familiar with randomDensePack without spheresInCell parameter, but if it gives not good results, you can create your own function doing the compaction. The advantage is that after the function creation, you should understand more the process and can "bend" it tou your needs (like using arbitrary shape to compress instead of cubic shape and then cropping it). Before trying to get desired porosity value, decide if you use particles with the same radius or some PSD. With uniform radius, you: - - either unlikely reach porosity less than 0.3 with compression and decompression to stress-free state, but with randomDensePack approach it is random and isotropic - or use regularHexa packing, but then it is not random anymore and has some "crystallography", which may affect your results with non-uniform particle size, you have much more space to play from porosity point of view, but it has also its disadvantages everything depends on your simulation, purpose, expected results etc :-) cheers Jan -- 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
Re: [Yade-users] [Question #628632]: Modeling particle breakage in YADE
Question #628632 on Yade changed: https://answers.launchpad.net/yade/+question/628632 Tina Asia gave more information on the question: Hi Jan, Thanks for your reply, I tried randomDensePack withous gives spheresInCell, but I got a very unstable simulation, once it run, all spheres fly around. The simulation just gave some warnings without errors. Here is my code: from yade import pack from yade import qt,utils stone=CohFrictMat(young=5.0e10,poisson=0.25,density=2640,frictionAngle=radians(18),isCohesive=True,normalCohesion=4.5e6,shearCohesion=4.5e7,momentRotationLaw=True) O.materials.append(stone) steel=CohFrictMat(young=3.06e11,poisson=0.29,density=7861,frictionAngle=0.545,normalCohesion=0,shearCohesion=0) O.materials.append(steel) pred=pack.inSphere((0,0,0.5),0.25) #sphs=pack.regularHexa(pred,radius=0.01,gap=0,material=stone) sphs=pack.randomDensePack(pred,radius=0.025,rRelFuzz=0,material=stone) O.bodies.append(sphs) for i in sphs: #global velocity velocity=i.state.vel=(0,0,-25) O.bodies.append(geom.facetBox((0,0,0.2),(0.3,0.3,0.003),material=steel)) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.5),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1.5),Ig2_Facet_Sphere_ScGeom6D()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True)], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] ), VTKRecorder(fileName='post/0deg-',recorders=['all'],iterPeriod=50), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=5,timestepSafetyCoefficient=0.8,defaultDt=PWaveTimeStep()), NewtonIntegrator(damping=0.3,gravity=(0,0,-9.81)), ] O.trackEnergy=True O.step() O.dt=utils.PWaveTimeStep() O.usesTimeStepper=True qt.Controller() qt.View() But when I tried regularHexa packing, I got a very stable simulation. Thanks in advance. -- 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
Re: [Yade-users] [Question #628632]: Modeling particle breakage in YADE
Question #628632 on Yade changed: https://answers.launchpad.net/yade/+question/628632 Status: Answered => Open Tina Asia is still having a problem: Hi Tina, Thanks for your reply, I tried randomDensePack withous gives spheresInCell, but I got a very unstable simulation, once it run, all spheres fly around. The simulation just gave some warnings without errors. Here is my code: from yade import pack from yade import qt,utils stone=CohFrictMat(young=5.0e10,poisson=0.25,density=2640,frictionAngle=radians(18),isCohesive=True,normalCohesion=4.5e6,shearCohesion=4.5e7,momentRotationLaw=True) O.materials.append(stone) steel=CohFrictMat(young=3.06e11,poisson=0.29,density=7861,frictionAngle=0.545,normalCohesion=0,shearCohesion=0) O.materials.append(steel) pred=pack.inSphere((0,0,0.5),0.25) #sphs=pack.regularHexa(pred,radius=0.01,gap=0,material=stone) sphs=pack.randomDensePack(pred,radius=0.025,rRelFuzz=0,material=stone) O.bodies.append(sphs) for i in sphs: #global velocity velocity=i.state.vel=(0,0,-25) O.bodies.append(geom.facetBox((0,0,0.2),(0.3,0.3,0.003),material=steel)) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.5),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1.5),Ig2_Facet_Sphere_ScGeom6D()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True)], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] ), VTKRecorder(fileName='post/0deg-',recorders=['all'],iterPeriod=50), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=5,timestepSafetyCoefficient=0.8,defaultDt=PWaveTimeStep()), NewtonIntegrator(damping=0.3,gravity=(0,0,-9.81)), ] O.trackEnergy=True O.step() O.dt=utils.PWaveTimeStep() O.usesTimeStepper=True qt.Controller() qt.View() But when I tried regularHexa packing, I got a very stable simulation. Thanks in advance. -- 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
Re: [Yade-users] [Question #628632]: Modeling particle breakage in YADE
Question #628632 on Yade changed: https://answers.launchpad.net/yade/+question/628632 Status: Open => Answered Jan Stránský proposed the following answer: Hi Tina, > Actually, I want to model breakage of this brittle material whose porosity is no greater than 0.3. Besides, I also tried regularHexa, but this approach also got a lower solid fraction. for monodisperse packing, periodic randomDensePack produces porosity approx. 0.36. RegularHexa is the most dense monodisperse packing with 0.26 (in infinite space). Boundaries always make porosity of these methods higher. > in those questions, triaxial compression was recommanded triaxial compreesion is used internally in randomDensePack > a irregular boundary was used, triaxial compression also works on irregular packing?? randomeDensePack compresses a cubic sample and then "crop" it to desired shape. You can use similar approach, instead of 6 cubic walls, you can use arbitrary number of box walls to compress particles arbitrary into arbitrary shape (*) > I tried filterSpherePack filterSpherePack is again internally used by randomDensePack According to your need: - you need monodisperse packing and "porosity is no greater than 0.3", then regularHexa is your only choice (possibly with shift and orientation optimization) - if you can have polydisperse packing, than: 1) you can use standard randomDensePack/cubic triaxial test and play with PSD to get good results. 2) you creates something similar to randomDensePack, but with boundaries actually matching your shape, see (*) above 3) Alternatively you can use some geometric method, taking into account the boundaries (again reduces the boundary effect by cropping). cheers Jan -- 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
[Yade-users] [Question #628632]: Modeling particle breakage in YADE
New question #628632 on Yade: https://answers.launchpad.net/yade/+question/628632 HI, I created a complex structure in a CAD code and exported it as *.gts. In YADE, I filled this *.gts using cohfrictmat model and randomdensepack. But to my disappointment, the porosity of this packing is greater than 0.7. Actually, I want to model breakage of this brittle material whose porosity is no greater than 0.3. Besides, I also tried regularHexa, but this approach also got a lower solid fraction. Recently, I checked the following questions: https://answers.launchpad.net/yade/+question/473518 and https://answers.launchpad.net/yade/+question/625502, in those questions, triaxial compression was recommanded to get a desired porosity, but ,in my simulations, a irregular boundary was used, triaxial compression also works on irregular packing?? Besides, I tried filterSpherePack function proposed in https://answers.launchpad.net/yade/+question/246971, but after the generation of a compressed cubic packing, I failed filter my irregular packing from the cubic packing and exported my packing. https://answers.launchpad.net/yade/+question/625502 shares a very similar problem with me, but this question has not be solved yet. Thanks in advance, Tina -- 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