Question #676845 on Yade changed: https://answers.launchpad.net/yade/+question/676845
Status: Needs information => Open Mehrad gave more information on the question: According you said I've just changed [] of triax.stress to round brackets (). like below readParamsFromTable(rMean=.05,rRelFuzz=.3) from yade.params.table import * from yade import polyhedra_utils,pack,qt,plot,utils,export,ymport polyMat = PolyhedraMat(density=8050,young=210e9,poisson=.29,frictionAngle=atan(0.8)) O.materials.append(polyMat) t=polyhedra_utils.polyhedra(polyMat,(.6,.6,.6),v=[(0,0,0),(0,0,-1.5),(0,1.5,0),(1.5,0,0)]) t.state.pos = (1,1,6) t.state.vel = (0, 0, -20) O.bodies.append(t) O.bodies.append(geom.facetBox((1,1,1),(1,1,1),wallMask=31)) O.materials.append(ViscElMat(young=4e9,poisson=0.25, density=1400, frictionAngle=radians(30), label='sphereMat')) partCloud = pack.SpherePack() #Specify the property of the particle cloud wanted O.bodies.append(pack.regularHexa(pack.inAlignedBox((0,0,0),(2,2,2)),radius=.08,gap=0.0001,color=(0,0,1))) #send to simulation assigning the material partCloud.toSimulation(material='sphereMat') triax=TriaxialStressController(maxMultiplier=1.+2e4/4e9,finalMaxMultiplier=1.+2e3/4e9,thickness = 0,stressMask = 7,internalCompaction=True) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Polyhedra_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Sphere_Polyhedra_ScGeom()], [Ip2_CpmMat_CpmMat_CpmPhys()], [Law2_ScGeom_CpmPhys_Cpm()] ),GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), triax, NewtonIntegrator(gravity=(0,0,-9.81),damping=0.4), # call the checkUnbalanced function (defined below) every 2 seconds PyRunner(command='checkUnbalanced()',realPeriod=2), # call the addPlotData function every 200 steps PyRunner(command='addPlotData()',iterPeriod=100),VTKRecorder(fileName='stress',recorders=['all'],iterPeriod=1000) ] O.dt=.5*PWaveTimeStep() # enable energy tracking; any simulation parts supporting it # can create and update arbitrary energy types, which can be # accessed as O.energy['energyName'] subsequently O.trackEnergy=True # if the unbalanced forces goes below .05, the packing # is considered stabilized, therefore we stop collected # data history and stop def checkUnbalanced(): if unbalancedForce()<.05: O.pause() plot.saveDataTxt('bbb.txt.bz2') # plot.saveGnuplot('bbb') is also possible # collect history of data which will be plotted def addPlotData(): plot.addData(sx=triax.stress(0),sy=triax.stress(1),sz=triax.stress(2),ex=triax.strain(0),ey=triax.strain(1),ez=triax.strain(2), i=O.iter,unbalanced=utils.unbalancedForce(), totalEnergy=O.energy.total(),**O.energy) plot.plots={'i':(('unbalanced','go'),None,'kinetic'),' i':('ex','ey','ez',None,'sx','sy','sz'),'i ':(O.energy.keys,None,('totalEnergy','bo'))} plot.plot() O.saveTmp() O.run() from yade import qt v=qt.View() v.axes=True -- 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