Re: [Yade-users] [Question #293471]: Circular RandomDensePack with CpmMat
Question #293471 on Yade changed: https://answers.launchpad.net/yade/+question/293471 Jan Stránský proposed the following answer: Hi Mohsen, > >Not to create any cohesive interactions, use value less than 1 for > intRadius. > I formerly have check it; i reduced the value of intRadius to 0.1, but > again there were cohesive bonds between particles and the particles did not > FLOW freely. > if you reset the value to 1 after first step, the cohesive interactions are still created until 10th step, which is the default value for cohesiveThresholdIter, see below. > >Furthermore, check [1] and make it something like 1 in Ip2. > Jan there is something confusing! when is changed my code to use > 'cohesiveThresholdIter' i received an strange error: > ... > [Ip2_CpmMat_CpmMat_CpmPhys(cohesiveThresholdIter(-1))], > NameError: name 'cohesiveThresholdIter' is not defined > the correct syntax is Ip2_CpmMat_CpmMat_CpmPhys(cohesiveThresholdIter=1) Yade [9]: O.engines[2].physDispatcher.functors[0] > -> [9]: > _ > although my material is Cpm, Yade [9] tells my functor is FrictMat this is probably because of the error during O.engines=..., after that the new values are not set and the default values remain (Ip2_FrictMat_FrictMat_FrictPhys among them). to conlude, after setting intRadius=0.5 and Ip2_CpmMat_CpmMat_CpmPhys(cohesiveThresholdIter=1), everything should work :-) cheers Jan PS: reading the answer once more, cohesiveThresholdIter=0 should work even with intRadius=1 -- 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 #293471]: Circular RandomDensePack with CpmMat
Question #293471 on Yade changed: https://answers.launchpad.net/yade/+question/293471 mohsen posted a new comment: Hi Jan >Not to create any cohesive interactions, use value less than 1 for intRadius. I formerly have check it; i reduced the value of intRadius to 0.1, but again there were cohesive bonds between particles and the particles did not FLOW freely. >Furthermore, check [1] and make it something like 1 in Ip2. Jan there is something confusing! when is changed my code to use 'cohesiveThresholdIter' i received an strange error: ... [Ip2_CpmMat_CpmMat_CpmPhys(cohesiveThresholdIter(-1))], NameError: name 'cohesiveThresholdIter' is not defined ... there is no difference if i change '1' to another number! now in command line write: Yade [8]: O.materials[0] -> [8]: Yade [9]: O.engines[2].physDispatcher.functors[0] -> [9]: Yade [10]: O.engines[2].physDispatcher.functors[0].dict() -> [10]: {'frictAngle': None, 'label': ''} _ although my material is Cpm, Yade [9] tells my functor is FrictMat can you help me? With kind regards Mohsen -- 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 #293471]: Circular RandomDensePack with CpmMat
Question #293471 on Yade changed: https://answers.launchpad.net/yade/+question/293471 Status: Open => Answered Jan Stránský proposed the following answer: Hi Mohsen, randomDensePack creates packing with minimal but existing overlaps. you can check it by for i in O.interactions: print i.geom.penetrationDepth Not to create any cohesive interactions, use value less than 1 for intRadius. Furthermore, check [1] and make it something like 1 in Ip2. cheers Jan [1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_CpmMat_CpmMat_CpmPhys.cohesiveThresholdIter 2016-05-09 6:17 GMT+02:00 mohsen: > New question #293471 on Yade: > https://answers.launchpad.net/yade/+question/293471 > > In the name of god > Hello all > I want to simulate a gravity deposition. The particles are generated in a > circular predicate. If FrictMat is used, there is no problem and the > particles flow freely on the horizontal wall; But in the case of CpmMat, it > seems that the bonds between particles is made. > With regarding to this point that i have setted intRadius = 1 and there is > no initial overlap, why bonds between particles are made? > > > from yade import pack > > mat=CpmMat(young=1e9,neverDamage=True,epsCrackOnset=1e-2) > O.materials.append(mat) > > ###generating circular predicate and filling with spheres > > pred=pack.inCylinder(centerBottom=(0.5,0.5,0),centerTop=(0.5,0.5,1),radius=.25) > spheres=pack.randomDensePack(pred,spheresInCell=500,radius=.55e-1) > O.bodies.append(spheres) > > O.bodies.append(wall(-0.1,axis=2)) > > intRadius = 1 > > O.engines = [ > ForceResetter(), > > InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius,label='is2aabb'),Bo1_Wall_Aabb()]), > InteractionLoop( > > [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius,label='ss2d3dg'),Ig2_Wall_Sphere_ScGeom()], > [Ip2_CpmMat_CpmMat_CpmPhys()], > [Law2_ScGeom_CpmPhys_Cpm()] > ), > NewtonIntegrator(gravity=(0,0,-10),damping=0.5) > ] > O.dt = 0 > O.step() > is2aabb.aabbEnlargeFactor = 1. > ss2d3dg.interactionDetectionFactor = 1. > > O.dt=.5*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 > -- 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 #293471]: Circular RandomDensePack with CpmMat
New question #293471 on Yade: https://answers.launchpad.net/yade/+question/293471 In the name of god Hello all I want to simulate a gravity deposition. The particles are generated in a circular predicate. If FrictMat is used, there is no problem and the particles flow freely on the horizontal wall; But in the case of CpmMat, it seems that the bonds between particles is made. With regarding to this point that i have setted intRadius = 1 and there is no initial overlap, why bonds between particles are made? from yade import pack mat=CpmMat(young=1e9,neverDamage=True,epsCrackOnset=1e-2) O.materials.append(mat) ###generating circular predicate and filling with spheres pred=pack.inCylinder(centerBottom=(0.5,0.5,0),centerTop=(0.5,0.5,1),radius=.25) spheres=pack.randomDensePack(pred,spheresInCell=500,radius=.55e-1) O.bodies.append(spheres) O.bodies.append(wall(-0.1,axis=2)) intRadius = 1 O.engines = [ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius,label='is2aabb'),Bo1_Wall_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius,label='ss2d3dg'),Ig2_Wall_Sphere_ScGeom()], [Ip2_CpmMat_CpmMat_CpmPhys()], [Law2_ScGeom_CpmPhys_Cpm()] ), NewtonIntegrator(gravity=(0,0,-10),damping=0.5) ] O.dt = 0 O.step() is2aabb.aabbEnlargeFactor = 1. ss2d3dg.interactionDetectionFactor = 1. O.dt=.5*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