New question #695934 on Yade: https://answers.launchpad.net/yade/+question/695934
Hi, I'm currently doing a simple compression test. I set the stressMask to be 0 and goal1, goal2, goal3 to be -0.1 in the TriaxialStressController. However, when the strain reaches -0.1, the compression does not stop. I continue the simulation and the strain reaches -0.7 with no tendency to stop. I'm confused why this happens. Can anyone help me out? Here's my code: ############################################ ############################################ from yade import pack SoilMat=CohFrictMat(young=2e9,poisson=0.3,density=2650,frictionAngle=0.7,alphaKr=50,alphaKtw=50,momentRotationLaw=True) WallMat=CohFrictMat(young=2e20,poisson=0.5,frictionAngle=0.7,density=1000,label='walls',momentRotationLaw=True) O.materials.append((SoilMat,WallMat)) mn,mx=Vector3(0,0,0),Vector3(100,100,100) walls=aabbWalls([mn,mx],thickness=0,material='walls') wallIds=O.bodies.append(walls) Particle_num=8000 sp=pack.SpherePack() sp.makeCloud((0,0,0),(100,100,100),rMean=.5,num=Particle_num) sp.toSimulation(material=SoilMat) triax=TriaxialStressController( stressMask = 7, thickness = 0, max_vel=0.05, internalCompaction=True, # If true the confining pressure is generated by growing particles wall_bottom_activated=False, wall_back_activated=False, wall_left_activated=False, goal1 = -30000, goal2 = -30000, goal3 = -30000, ) newton=NewtonIntegrator(damping=0.2) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Box_Aabb(),Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), triax, newton, PyRunner(command='Step1()',realPeriod=1,label='SLM'), ] def Step1(): print(abs((30000+triax.meanStress)/30000)) if abs((30000+triax.meanStress)/30000)<0.05: triax.stressMask=0 triax.internalCompaction=False triax.goal1=triax.goal2=triax.goal3=-0.1 SLM.command='Step2()' def Step2(): print("%s: %s, %s" % (O.iter,triax.depth,triax.strain)) ############################################ ############################################ -- 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