Question #404135 on Yade changed: https://answers.launchpad.net/yade/+question/404135
Description changed to: Hi All, I am a beginner and have been trying to remodel the triaxial compression process in below paper: [1] Scholt E S L and Donz E F E D E. 2013. A DEM model for soft and hard rocks: Role of grain interlocking on strength [J]. J. Mech. Phys. Solids.,61(2): 352-369. In chapter 2.2 interaction range is introduced. Relavent contents can be found in Yade documentation: https://yade-dem.org/doc/user.html#scene-construction (user's manual--->scene construction-->creating interactions) I tried to run a simpler triaxial test using CohFrictMat as a first step. There are 500 particles, and parameters goes as follows: young = 5e6, normalcohesion = shearcohesion = 4500, confining pressure = 10kPa. Particles are packed randomly in a 0.15*0.15*0.3 box. Confining pressure is reached by internal compaction. After a stable status is reached, count the number of all interactions. Then the aabbenlargefunctor and interactiondetection factor is altered to 1.25(or 1.5). Next step, count the total number of interactions again and the two factors are set to 1. This method didn't work correctly: 1. Whatever the two factor is, 1.25 or 1.5, total interactions before and after alteration show little difference. 2. Besides, after the alteration, the utils.avgNumInteractions() is printed instantly and always turn out to be less than 7. According to [1], this number should be around 10 when intRaius is 1.25, and around 14 when intRadius is 1.5. 3. Stress and strain data is recorded, stress-strain curve show no obvious difference under different intRadius. The code is like this: ********************************************************************* from yade import pack num_intr = 0 O.materials.append(CohFrictMat(young=5e6, poisson=0.333,frictionAngle=0,normalCohesion = 4500, shearCohesion = 4500, density=2600, label='spheres')) O.materials.append(FrictMat(young=5e6, poisson=0.333,frictionAngle=0,density=0,label='walls')) O.bodies.append(aabbWalls([Vector3(0,0,0),Vector3(0.15,0.3,0.15)],thickness=0,material='walls')) sp = pack.SpherePack() sp.makeCloud(Vector3(0,0,0),Vector3(0.15,0.3,0.15),-1,0.3333,500) O.bodies.append([sphere(center,rad,material='spheres') for center,rad in sp]) triax=TriaxialStressController(maxMultiplier=1.+4e-3,finalMaxMultiplier=1.+1e-4,stressMask = 7,internalCompaction=True) triax.goal1=triax.goal2=triax.goal3=-1e4 O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(label = 'bo1s'),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(label = 'ig2ss'),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys(),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label = 'ip2cc')], [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), triax, NewtonIntegrator(damping=0.2), PyRunner(command = 'isotropic_compaction()', iterPeriod = 1000, label = 'checker'), ] def isotropic_compaction(): global num_intr if unbalancedForce()<0.01 and abs(-1e4-triax.meanStress)/1e4<0.001: for i in O.interactions: num_intr = num_intr + 1 print '*************************************************' print 'total interactions before reset intR is ', num_intr print 'current step is ',O.iter bo1s.aabbEnlargeFactor = 1.25 ig2ss.interactionDetectionFactor = 1.25 ip2cc.setCohesionNow = True num_intr = 0 checker.iterPeriod = 1 checker.command = 'set_interaction()' O.pause() def set_interaction(): global num_intr bo1s.aabbEnlargeFactor = -1 ig2ss.interactionDetectionFactor = -1 for i in O.interactions: num_intr = num_intr + 1 print '************************************************' print 'current step is ',O.iter print 'coordn = ', utils.avgNumInteractions() print 'total interactions after reset intR is ', num_intr num_intr = 0 O.pause() -- 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