Re: [Yade-users] [Question #656538]: Measuring Force, Trapdoor displacement and Surface displacement
Question #656538 on Yade changed: https://answers.launchpad.net/yade/+question/656538 Status: Open => Answered Jan Stránský proposed the following answer: I meant complete code.. > Yade [1]: ERROR > /build/yade-iRsyM_/yade-2016.06a/pkg/common/InsertionSortCollider.cpp:240 > action: verletDist is set to 0 because no spheres were found. It will result > in suboptimal performances, consider setting a positive verletDist in your > script. import yade.plot; yade.plot.plot(); this is actually no error The other IndexErrors: I think you should define plot.plots [1,2] before plot.plot(), will check tomorrow with computer. Jan [1] https://yade-dem.org/doc/user.html#plotting-variables [2] https://yade-dem.org/doc/yade.plot.html#yade.plot.plots -- 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 #656538]: Measuring Force, Trapdoor displacement and Surface displacement
Question #656538 on Yade changed: https://answers.launchpad.net/yade/+question/656538 Status: Needs information => Open wise dan gave more information on the question: This is the code please : ### ## # INPUTS ## gravity = 100 # box dimensions widthl = .3 widthr = .3 widthc = .3 height = .3 thick = .1 deep = -.2 # size of grains sizeMin = 40e-3 sizeMax = 60e-3 frictionAngle = .5 young = 1e8 # stiffness dt = 1e-3 # time step nGravityDeposition = 250 # how long to run initial gravity deposition nCycles = 3 # how many jumps to run afterwards nStepsBetweenCycles = 200 # number of time steps between jumps dspl = 20e-3 # how much larger the initial make cloud box should be fillBoxHFactor = 3 ## from yade import polyhedra_utils width = widthl+widthc+widthr # mat, engines, ... mat = PolyhedraMat(young=young,poisson=10,frictionAngle=frictionAngle) O.materials.append(mat) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Polyhedra_Polyhedra_PolyhedraGeom(), Ig2_Facet_Polyhedra_PolyhedraGeom()], [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()], ), NewtonIntegrator(damping=0.4,gravity=(0,0,-gravity)), PyRunner(iterPeriod=1,command='checker()'), ] O.dt = dt def checker(): for i in range(nCycles): ii = nGravityDeposition+i*nStepsBetweenCycles if O.iter == ii: moveBottom() if O.iter == ii+1: stopBottom() if O.iter == nGravityDeposition+nCycles*nStepsBetweenCycles: O.pause() def moveBottom(): v = dspl / O.dt for b in movables: b.state.vel = (0,0,-v) def stopBottom(): for b in movables: b.state.vel = (0,0,0) # box p000 = Vector3(0,0,0) p100 = Vector3(widthl,0,0) p200 = Vector3(widthl+widthc,0,0) p300 = Vector3(widthl+widthc+widthr,0,0) pxs = (p000,p100,p200,p300) p001,p101,p201,p301 = [p+Vector3(0,0,height) for p in pxs] p010,p110,p210,p310 = [p+Vector3(0,thick,0) for p in pxs] p011,p111,p211,p311 = [p+Vector3(0,thick,height) for p in pxs] p00b,p10b,p20b,p30b = [p+Vector3(0,0,deep) for p in pxs] p01b,p11b,p21b,p31b = [p+Vector3(0,thick,deep) for p in pxs] def rect(vs,**kw): v1,v2,v3,v4 = vs return [ facet((v1,v2,v3),**kw), facet((v1,v3,v4),**kw), ] movables = rect((p100,p200,p210,p110)) # bottom center rects = ( (p000,p100,p110,p010), # bottom left (p200,p300,p310,p210), # bottom left (p000,p010,p011,p001), # left (p300,p310,p311,p301), # right (p000,p100,p101,p001), # front left (p100,p200,p201,p101), # front center (p200,p300,p301,p201), # front right (p010,p110,p111,p011), # back left (p110,p210,p211,p111), # back center (p210,p310,p311,p211), # back right (p100,p200,p20b,p10b), # front center below (p110,p210,p21b,p11b), # back center below (p100,p110,p11b,p10b), # left below (p200,p210,p21b,p20b), # right below ) rects = movables + sum((rect(r) for r in rects),[]) O.bodies.append(rects) # gravel polyhedra_utils.fillBox((0,0,0),(width,thick,fillBoxHFactor*height),mat,sizemin=3*[sizeMin],sizemax=3*[sizeMax],seed=1) ### #to record the values #O.forces.f(id) #sum((O.forces.f(id) for id in ids), Vector3.Zero) # #f = Vector3.Zero #for i in ids: # f += O.forces.f(i) middle = 0,1 lef= 2,3 right = 4,5 #trapdoor.state.displ() O.bodies[1].state.displ() ## for b in O.bodies: if not isinstance(b.shape,Polyhedra): continue pos = b.state.pos # center of polyhedron ori = b.state.ori vs = b.shape.v vs = [pos + ori*v for v in vs] # vertices of polyhedron in global coordinate system ## -- 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 #656538]: Measuring Force, Trapdoor displacement and Surface displacement
Question #656538 on Yade changed: https://answers.launchpad.net/yade/+question/656538 wise dan gave more information on the question: And this is the error: wise@wise-CM6330-CM6630-CM6730-CM6830-M11AA-8:~/wise$ yade nanawise.py Welcome to Yade 2016.06a TCP python prompt on localhost:9000, auth cookie `ssaduc' XMLRPC info provider on http://localhost:21000 Running script nanawise.py generated 136 polyhedrons [[ ^L clears screen, ^U kills line. F12 controller, F11 3d view (use h-key for showing help), F10 both, F9 generator, F8 plot. ]] Yade [1]: ERROR /build/yade-iRsyM_/yade-2016.06a/pkg/common/InsertionSortCollider.cpp:240 action: verletDist is set to 0 because no spheres were found. It will result in suboptimal performances, consider setting a positive verletDist in your script. import yade.plot; yade.plot.plot(); ^[[19~^[[19~^[[19~^[[19~--- IndexErrorTraceback (most recent call last) /usr/bin/yade in () > 1 import yade.plot; yade.plot.plot(); /usr/lib/x86_64-linux-gnu/yade/py/yade/plot.py in plot(noShow, subPlots) 593 global currLineRefs 594 figs=set([l.line.axes.get_figure() for l in currLineRefs]) --> 595 if not hasattr(list(figs)[0],'show') and not noShow: 596 import warnings 597 warnings.warn('plot.plot not showing figure (matplotlib using headless backend?)') IndexError: list index out of range Yade [2]: import yade.plot; yade.plot.plot(); --- IndexErrorTraceback (most recent call last) /usr/bin/yade in () > 1 import yade.plot; yade.plot.plot(); /usr/lib/x86_64-linux-gnu/yade/py/yade/plot.py in plot(noShow, subPlots) 593 global currLineRefs 594 figs=set([l.line.axes.get_figure() for l in currLineRefs]) --> 595 if not hasattr(list(figs)[0],'show') and not noShow: 596 import warnings 597 warnings.warn('plot.plot not showing figure (matplotlib using headless backend?)') IndexError: list index out of range -- 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 #656538]: Measuring Force, Trapdoor displacement and Surface displacement
Question #656538 on Yade changed: https://answers.launchpad.net/yade/+question/656538 Status: Open => Needs information Jan Stránský requested more information: please post your code here and also the errors you get thanks Jan -- 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 #656538]: Measuring Force, Trapdoor displacement and Surface displacement
Question #656538 on Yade changed: https://answers.launchpad.net/yade/+question/656538 Status: Answered => Open wise dan is still having a problem: I tried to put all together but got a lot of errors. I am new to python and yade now still learning but have to complete this project for my these, I will be very grateful if you can help me identify and correct the errors, please. Thanks ### ## # INPUTS ## gravity = 100 # box dimensions widthl = .3 widthr = .3 widthc = .3 height = .3 thick = .1 deep = -.2 # size of grains sizeMin = 40e-3 sizeMax = 60e-3 frictionAngle = .5 young = 1e8 # stiffness dt = 1e-3 # time step nGravityDeposition = 250 # how long to run initial gravity deposition nCycles = 3 # how many jumps to run afterwards nStepsBetweenCycles = 200 # number of time steps between jumps dspl = 20e-3 # how much larger the initial make cloud box should be fillBoxHFactor = 3 ## from yade import polyhedra_utils width = widthl+widthc+widthr # mat, engines, ... mat = PolyhedraMat(young=young,poisson=10,frictionAngle=frictionAngle) O.materials.append(mat) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Polyhedra_Polyhedra_PolyhedraGeom(), Ig2_Facet_Polyhedra_PolyhedraGeom()], [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()], ), NewtonIntegrator(damping=0.4,gravity=(0,0,-gravity)), PyRunner(iterPeriod=1,command='checker()'), ] O.dt = dt def checker(): for i in range(nCycles): ii = nGravityDeposition+i*nStepsBetweenCycles if O.iter == ii: moveBottom() if O.iter == ii+1: stopBottom() if O.iter == nGravityDeposition+nCycles*nStepsBetweenCycles: O.pause() def moveBottom(): v = dspl / O.dt for b in movables: b.state.vel = (0,0,-v) def stopBottom(): for b in movables: b.state.vel = (0,0,0) # box p000 = Vector3(0,0,0) p100 = Vector3(widthl,0,0) p200 = Vector3(widthl+widthc,0,0) p300 = Vector3(widthl+widthc+widthr,0,0) pxs = (p000,p100,p200,p300) p001,p101,p201,p301 = [p+Vector3(0,0,height) for p in pxs] p010,p110,p210,p310 = [p+Vector3(0,thick,0) for p in pxs] p011,p111,p211,p311 = [p+Vector3(0,thick,height) for p in pxs] p00b,p10b,p20b,p30b = [p+Vector3(0,0,deep) for p in pxs] p01b,p11b,p21b,p31b = [p+Vector3(0,thick,deep) for p in pxs] def rect(vs,**kw): v1,v2,v3,v4 = vs return [ facet((v1,v2,v3),**kw), facet((v1,v3,v4),**kw), ] movables = rect((p100,p200,p210,p110)) # bottom center rects = ( (p000,p100,p110,p010), # bottom left (p200,p300,p310,p210), # bottom left (p000,p010,p011,p001), # left (p300,p310,p311,p301), # right (p000,p100,p101,p001), # front left (p100,p200,p201,p101), # front center (p200,p300,p301,p201), # front right (p010,p110,p111,p011), # back left (p110,p210,p211,p111), # back center (p210,p310,p311,p211), # back right (p100,p200,p20b,p10b), # front center below (p110,p210,p21b,p11b), # back center below (p100,p110,p11b,p10b), # left below (p200,p210,p21b,p20b), # right below ) rects = movables + sum((rect(r) for r in rects),[]) O.bodies.append(rects) # gravel polyhedra_utils.fillBox((0,0,0),(width,thick,fillBoxHFactor*height),mat,sizemin=3*[sizeMin],sizemax=3*[sizeMax],seed=1) ### #to record the values O.forces.f(id) sum((O.forces.f(id) for id in ids), Vector3.Zero) # #f = Vector3.Zero #for i in ids: # f += O.forces.f(i) middle= 0,1 left = 2,3 right = 4,5 trapdoor.state.displ() #O.bodies[1].state.displ() ## for b in O.bodies: if not isinstance(b.shape,Polyhedra): continue pos = b.state.pos # center of polyhedron ori = b.state.ori vs = b.shape.v vs = [pos + ori*v for v in vs] # vertices of polyhedron in global coordinate system ## -- 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 #656538]: Measuring Force, Trapdoor displacement and Surface displacement
Question #656538 on Yade changed: https://answers.launchpad.net/yade/+question/656538 wise dan posted a new comment: thank you -- 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 #656214]: problem replacing TriaxialStressController with PeriTriaxController
Question #656214 on Yade changed: https://answers.launchpad.net/yade/+question/656214 Bruno Chareyre posted a new comment: >I had to increase the maxstrainrate to 1e10 and run 500,000 steps but it compresses! I'm sure there is a simple reason for that. Is the maxstrainrate value really reached? If not, I would first try to decrease "compressor.mass". Also, I don't remember if O.dt=PWaveTimeStep() is accurate for clumps. Is it a problem if O.dt is multiplied by 3 for instance? Bruno -- 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 #655422]: On shearing loads
Question #655422 on Yade changed: https://answers.launchpad.net/yade/+question/655422 Status: Open => Expired Launchpad Janitor expired the question: This question was expired because it remained in the 'Open' state without activity for the last 15 days. -- 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