Question #661971 on Yade changed: https://answers.launchpad.net/yade/+question/661971
Swapnil posted a new comment: the full code I am trying is as follows: import matplotlib matplotlib.use('Qt4Agg') from yade import pack,plot,qt import math num_spheres=1000 # number of spheres young=3e10 targetPorosity= 0.40 compFricDegree = 40 # initial contact friction during the confining phase finalFricDegree = 30 # contact friction during the deviatoric loading mn,mx=Vector3(0,0,0),Vector3(0.01,0.01,0.01) # corners of the initial packing O.materials.append(FrictMat(young=young,poisson=0.3,frictionAngle=radians(compFricDegree),density=2600,label='spheres')) O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='walls')) walls=aabbWalls([mn,mx],thickness=0,material='walls') wallIds=O.bodies.append(walls) pred=pack.inAlignedBox(mn,mx) sp=pack.randomDensePack(pred,radius=0.0005,spheresInCell=num_spheres,material='spheres')#returnSpherePack=True) O.bodies.append(sp) #SpherePack.toSimulation(material='spheres') newton=NewtonIntegrator(damping=0.3) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), TriaxialStressController(label='triax', maxMultiplier=1.+2e4/young, # spheres growing factor (fast growth) finalMaxMultiplier=1.+2e3/young, # spheres growing factor (slow growth) thickness = 0, stressMask =7, max_vel = 0.025, internalCompaction=True, # If true the confining pressure is generated by growing particles ),GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=50,timestepSafetyCoefficient=0.8),PyRunner(iterPeriod=100,command='addPlotData()'), newton ] O.dt=0.25*PWaveTimeStep() #O.dt=0.005*PWaveTimeStep() #strain_rate=-0.05 triax.goal1=triax.goal2=triax.goal3=-2e5 #Porosity import sys #this is only for the flush() below while triax.porosity>targetPorosity: ## we decrease friction value and apply it to all the bodies and contacts compFricDegree = 0.95*compFricDegree setContactFriction(radians(compFricDegree)) #print "\r Friction:",compFricDegree,"porosity:",triax.porosity,sys.stdout.flush() ## while we run steps, triax will tend to grow particles as the packing ## keeps shrinking as a consequence of decreasing friction. Consequently ## porosity will decrease O.run(500,1) #Deviatoric loading ##We move to deviatoric loading, let us turn internal compaction off to keep particles sizes constant triax.internalCompaction=False ## Change contact friction (remember that decreasing it would generate instantaneous instabilities) setContactFriction(radians(finalFricDegree)) ##set stress control on y and z, we will impose strain rate on x triax.stressMask = 6 ##now goal1 is the target strain rate triax.goal1=-0.001 ## we define the lateral stresses during the test, for the initial confinement. triax.goal2=-2e5 triax.goal3=-2e5 ##Save temporary state in live memory. This state will be reloaded from the interface with the "reload" button. O.saveTmp() def addPlotData(): plot.addData(e11=-triax.strain[0], e22=-triax.strain[1], e33=-triax.strain[2], ev=-triax.strain[0]-triax.strain[1]-triax.strain[2], s11=-triax.stress(triax.wall_right_id)[0], s22=-triax.stress(triax.wall_top_id)[1], s33=-triax.stress(triax.wall_front_id)[2], i=O.iter) plot.plots={'i':('e11','e22','e33',None,'s11','s22','s33')} plot.plots={'e11':('s11'),'e22':('s22'),'e33':('s33')} #,'s22','s33')} plot.plot() As in above, when I include the #porosity segment: the error, which I can clearly read now, is: Traceback (most recent call last): file "<string>", line 1, in <module> Nameerror: name 'addPlotData' is not defined. any ideas why it appears and how to rectify it? -- 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