Re: [Yade-users] [Question #657677]: How to export and import a irregular shape particles model.
Question #657677 on Yade changed: https://answers.launchpad.net/yade/+question/657677 Status: Open => Answered Jan Stránský proposed the following answer: Hello, this is correct approach. Before export.textPolyhedra, there should probably be some running, in the script e.g. O.run(N,True) export.textPolyhedra [1] and ymport.textPolyhedra [2] should fit together. cheers Jan [1] https://yade-dem.org/doc/yade.export.html#yade.export.textPolyhedra [2] https://yade-dem.org/doc/yade.ymport.html#yade.ymport.textPolyhedra -- 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
[Yade-users] [Question #657677]: How to export and import a irregular shape particles model.
New question #657677 on Yade: https://answers.launchpad.net/yade/+question/657677 Hi all, I am a new user of yade. I tried polyhedra particles falling down into a box. I am wondering how can I export this model after it finishes this falling process and how to import it and down the next simulation? For example, generate a beam on this aggregates. I used this code and yade.export.textPolyhedra. I don't know whether it is right or not. ## # INPUTS ## gravity = 100 # box dimensions widthl = .3 widthr = .3 widthc = .3 height = .3 thick = .5 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 box should be fillBoxHFactor = 3 ## from yade import polyhedra_utils, export 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) yade.export.textPolyhedra('try2.txt', comment='try2', mask=-1, explanationComment=True, attrs=[]) Thanks. -- 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 #657063]: unconsolidated undrained triaxial test
Question #657063 on Yade changed: https://answers.launchpad.net/yade/+question/657063 Status: Answered => Open Seti is still having a problem: Thanks Bruno, It makes sense - Considering your comments- my physical samples be completely aggregated, if I want to skip the consolidation part ( I know by this assumption we change the condition to USC test when there is confining pressure around the sample) - how should I edit the current script to address my requirements - P.S. I need to model UU & CU. Thanks Seti -- 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 #657564]: continuous creation and destruction of bodies
Question #657564 on Yade changed: https://answers.launchpad.net/yade/+question/657564 Bruno Chareyre proposed the following answer: Hi, I would suggest to check examples/spheresFactory.py which combines the engines DomainLimiter and BoxFactory to delete/insert particles. It will be more flexible and computationally much more efficient than anything you can wruite in python. 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 #657564]: continuous creation and destruction of bodies
Question #657564 on Yade changed: https://answers.launchpad.net/yade/+question/657564 Jan Stránský posted a new comment: Hello, > "b->id=-1;//else it sits in the python scope without a chance to be inserted again" this is just that you can re-append erased body if you have it in Python ## s = sphere((0,0,0),1) O.bodies.append(s) #O.bodies.append(s) # would be error print s.id O.bodies.erase(0) print s.id O.bodies.append(s) print s.id ## > and intelligently reallocates free ids for newly added ones > One explanation could be that your example is too small, i.e. the engine of > shared_ptr allocation does not reuse old (freed) memory until it is really > necessary, that is after many new insertions according to the source code, the sentence of "intelligent reallocation" is not true (perhaps was some time ago), no matter if the example is too small or not.. However, my comment was really theoretical, practically it has no effect. I have tried the following code, 10e6 append/erase has no significant effect on memory. Assuming sizeof(shared_ptr)=16, it occupies 10e6*16=160e6=160MB, almost nothing) ## while True: i = O.bodies.append(sphere((0,0,0),1)) O.bodies.erase(i) if i%100==0: print i, len(O.bodies) ## so, go in the direction append/erase without any worries :-) cheers 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 #657564]: continuous creation and destruction of bodies
Question #657564 on Yade changed: https://answers.launchpad.net/yade/+question/657564 Andrea Puglisi posted a new comment: Dear Jan thanks also for your message. Your conclusion is puzzling, i.e. it seems to contradict some statements found in the .cpp and .hpp linked by Jerome above. Indeed in [2] at line 60 I read "b->id=-1;//else it sits in the python scope without a chance to be inserted again" And in [1] at line 22 I read "Container of bodies implemented as flat std::vector. It handles body removal and intelligently reallocates free ids for newly added ones. The nested iterators and the specialized FOREACH_BODY macros above will silently skip null body pointers which may exist after removal. The null pointers can still be accessed via the [] operator. " One explanation could be that your example is too small, i.e. the engine of shared_ptr allocation does not reuse old (freed) memory until it is really necessary, that is after many new insertions. As soon as I have time I will try to conceive a modification of Jan's example with a much larger number of bodies deleted and inserted. Any other ideas? Thanks a lot to everybody for the prompt help Andrea [1] https://github.com/yade/trunk/blob/master/core/BodyContainer.hpp [2] https://github.com/yade/trunk/blob/master/core/BodyContainer.cpp -- 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 #657637]: Applying confinement (rigid boundary) to a cylindrical sample
Question #657637 on Yade changed: https://answers.launchpad.net/yade/+question/657637 Jan Stránský proposed the following answer: Hi, > O.forces.addF(f.id,preStress*a*n) --> I am confused about the application of forces using the facetcylinder as a whole. The (f.id,Prestress*a*n) used here is when we apply forces through each facet. You can apply force to the cylinder as a whole, but then it would not apply confining pressure, but tried to move as a rigid body in the direction of the force, so very different result than confining boundary.. > In order to apply force from the facetcylinder as a whole (such that each facet does the same) can I use: O.forces.addF(facets.id,0.20) where, for e.g., 0.20 represents the magnitude of force(stress) applied. no - facets.id would give error as facets is a list of bodies, not body. - O.forces.addF accepts vector, not only magnitude 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 #657126]: Performing a penetration test
Question #657126 on Yade changed: https://answers.launchpad.net/yade/+question/657126 Swapnil posted a new comment: [1] is still on mate ;) I have been trying to save it as you said but I am getting errors with the syntax. Will reattempt on Monday.. -- 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 #657637]: Applying confinement (rigid boundary) to a cylindrical sample
Question #657637 on Yade changed: https://answers.launchpad.net/yade/+question/657637 Swapnil posted a new comment: Would be trying the rest on Monday when I return to the 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 #657637]: Applying confinement (rigid boundary) to a cylindrical sample
Question #657637 on Yade changed: https://answers.launchpad.net/yade/+question/657637 Swapnil posted a new comment: Yes mate it works with the inclusion of those engines. Foolishly, I completely forgot about those for the new facet bodies. Thanks :) Yes, I am first trying the static boundary case ( where the material of the facetCylinder itself holds the spheres intact). Thanks to you, that appears to work successfully now. As you are suggesting, for the active confining pressure case we can directly use the facetCylinder as one body and apply the desired stress, isn't it? Then should I try the following in addition to [1]: facets.state.blockedDOFs='XYZz' --> this command seems okay O.forces.addF(f.id,preStress*a*n)--> I am confused about the application of forces using the facetcylinder as a whole. The (f.id,Prestress*a*n) used here is when we apply forces through each facet. In order to apply force from the facetcylinder as a whole (such that each facet does the same) can I use: O.forces.addF(facets.id,0.20) where, for e.g., 0.20 represents the magnitude of force(stress) applied. -- 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 #657637]: Applying confinement (rigid boundary) to a cylindrical sample
Question #657637 on Yade changed: https://answers.launchpad.net/yade/+question/657637 Jan Stránský proposed the following answer: > I do not want the spheres to move out of the boundary in both cases, you will have to use different engines, namely Bo1_Facet, Ig2_Facet_Sphere, see [2] > Using [1] creates a default set of facets and combines them to form a cylindrical boundary of the prescribed dimensions. Isn't it? yes >On the other hand in [2], the user is creating facets (using vectors) and then combining them followed by application of pre defined stresses(confining pressure). My question here is can this operation be performed like in [1]? that is using a simpler way to create facets and then applying stresses. yes, you can use facetCylinder and then apply force on resulting facets in the same way as in [2] > In short, I am looking for a simpler way to perform the application of laterally confining pressures. Do you really want active confining pressure? Wouldn't static boundary be enough? At least for beginning, I would try the static boundary.. cheers 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 #657637]: Applying confinement (rigid boundary) to a cylindrical sample
Question #657637 on Yade changed: https://answers.launchpad.net/yade/+question/657637 Swapnil posted a new comment: Thanks Jan. Option [1] leads to the movement of spheres out of the boundary (I tried the script). I do not want the spheres to move out of the boundary. Therefore, I would have to go for application of lateral confining pressure. That you say is depicted in [2]. # facets division nw = 24, nh = 15, # facets facets = [] if testType == 'cyl': rCyl2 = .5*width / cos(pi/float(nw)) for r in xrange(nw): for h in xrange(nh): v1 = Vector3( rCyl2*cos(2*pi*(r+0)/float(nw)), rCyl2*sin(2*pi*(r+0)/float(nw)), height*(h+0)/float(nh) ) v2 = Vector3( rCyl2*cos(2*pi*(r+1)/float(nw)), rCyl2*sin(2*pi*(r+1)/float(nw)), height*(h+0)/float(nh) ) v3 = Vector3( rCyl2*cos(2*pi*(r+1)/float(nw)), rCyl2*sin(2*pi*(r+1)/float(nw)), height*(h+1)/float(nh) ) v4 = Vector3( rCyl2*cos(2*pi*(r+0)/float(nw)), rCyl2*sin(2*pi*(r+0)/float(nw)), height*(h+1)/float(nh) ) f1 = facet((v1,v2,v3),color=(0,0,1),material=frictMat) f2 = facet((v1,v3,v4),color=(0,0,1),material=frictMat) facets.extend((f1,f2)) O.bodies.append(facets) mass = O.bodies[0].state.mass for f in facets: f.state.mass = mass f.state.blockedDOFs = 'XYZz' # apply prestress to facets def addForces(): for f in facets: n = f.shape.normal a = f.shape.area O.forces.addF(f.id,preStress*a*n) As I can understand from reading this: Using [1] creates a default set of facets and combines them to form a cylindrical boundary of the prescribed dimensions. Isn't it? On the other hand in [2], the user is creating facets (using vectors) and then combining them followed by application of pre-defined stresses(confining pressure). My question here is can this operation be performed like in [1]? that is using a simpler way to create facets and then applying stresses. For e.g something like (just an idea to keep it simple): #create facet sets and combine them to form a cylindrical shaped boundary around the sample. facets = geom.facetCylinder((0,0,0.125),0.1,0.25,wallMask=2|4) O.bodies.append(facets) # for all facets block restrain the desired motion facets.state.blockedDOFs='XYZz' #apply prestress to each one O.forces.addF(f.id,preStress*a*n) In short, I am looking for a simpler way to perform the application of laterally confining pressures. -- 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 #656657]: tension test on grids
Question #656657 on Yade changed: https://answers.launchpad.net/yade/+question/656657 Jan Stránský posted a new comment: Hello, I have tried your script. The "instant" velocity you see is due to gravity. You don't see the effect of the "permanent" velocity, because for some reason state.dynamic=False does not have desired effect here use gravity=(0,0,0) if you find it irrelevant in your calibration and inside history1: O.bodies[i].state.blockedDOFs='xyzXYZ' # instead of O.bodies[i].state.dynamic=False cheers 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 #656657]: tension test on grids
Question #656657 on Yade changed: https://answers.launchpad.net/yade/+question/656657 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
Re: [Yade-users] [Question #657637]: Applying confinement (rigid boundary) to a cylindrical sample
Question #657637 on Yade changed: https://answers.launchpad.net/yade/+question/657637 Status: Open => Answered Jan Stránský proposed the following answer: Hello, you can use walls or facets or boxes. See e.g. [1] for static boundary or [2] for active boundary applying lateral confining pressure. cheers Jan ### from yade import pack, geom pred = pack.inCylinder((0,0,0),(0,0,0.25),0.10) sp = pack.randomDensePack(pred,radius=0.01,spheresInCell=300) O.bodies.append(sp) facets = geom.facetCylinder((0,0,0.125),0.1,0.25,wallMask=2|4) O.bodies.append(facets) ### [1] https://yade-dem.org/doc/yade.geom.html#yade.geom.facetCylinder [2] https://github.com/yade/trunk/blob/master/examples/concrete/triax.py -- 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
[Yade-users] [Question #657637]: Applying confinement (rigid boundary) to a cylindrical sample
New question #657637 on Yade: https://answers.launchpad.net/yade/+question/657637 How can we apply a confining cylindrical boundary to a cylindrical arrangement (packing) of the spheres ( in order to constrain the motion of spheres outwards when a compressive load is applied) ? I have been searching but can only find information about 'Wall'. -- 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 #657560]: Plotting force & displacement of impactor in a penetration test
Question #657560 on Yade changed: https://answers.launchpad.net/yade/+question/657560 Jan Stránský proposed the following answer: This time the question is completely unrelated to Plotting force & displacement, so next time please open a new question. https://github.com/yade/trunk/blob/master/examples/concrete/triax.py 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 #657564]: continuous creation and destruction of bodies
Question #657564 on Yade changed: https://answers.launchpad.net/yade/+question/657564 Jan Stránský posted a new comment: Hi guys, just a theoretical comment concerning O.bodies.erase,. The memory of erased body is freed, but the space in BodyContainer remains (O.bodies.append does not reuse ids) and the size of BodyContainer itself is continuously increasing. So with continuous adding and deleting bodies, the simulation theoretically cannot be run indefinitely, but practically yes :-) cheers Jan ### sphs = [sphere((2*i,0,0),1) for i in (0,1,2,3,4)] s0,s1,s2,s3,s4 = sphs O.bodies.append(s0) O.bodies.append(s1) O.bodies.append(s2) print O.bodies[0], O.bodies[0].id print O.bodies[1], O.bodies[1].id print O.bodies[2], O.bodies[2].id print len(O.bodies), len([b for b in O.bodies]) O.bodies.erase(0) print len(O.bodies), len([b for b in O.bodies]) O.bodies.erase(1) print len(O.bodies), len([b for b in O.bodies]) O.bodies.erase(2) print len(O.bodies), len([b for b in O.bodies]) O.bodies.append(s3) O.bodies.append(s4) print len(O.bodies), len([b for b in O.bodies]) print O.bodies[0] print O.bodies[4], O.bodies[4].id ### -- 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 #657564]: continuous creation and destruction of bodies
Question #657564 on Yade changed: https://answers.launchpad.net/yade/+question/657564 Andrea Puglisi posted a new comment: Thanks to both Duriez and Caulk, your answers seem very useful. I study them and I will let you know if everything is ok (as it seems from your discussion). Andrea -- 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 #657560]: Plotting force & displacement of impactor in a penetration test
Question #657560 on Yade changed: https://answers.launchpad.net/yade/+question/657560 Swapnil posted a new comment: Thanks Jan, you saved me again :-) That part works now. How can we apply a confining cylindrical boundary to the cylindrical arrangement of the spheres here ( in order to constrain the motion of spheres outwards) ? I have been searching but can only find information about 'Wall'? -- 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 #657126]: Performing a penetration test
Question #657126 on Yade changed: https://answers.launchpad.net/yade/+question/657126 Jan Stránský proposed the following answer: > Also, how does one reach the file where the data is stored? after the simulation, you can save data with plot.saveDataTxt(fileName) then you simply reach it in the location you specified, e.g. 'results.dat' would be save to the directory from where you started yade, '/tmp/results.dat' to /tmp directory, '/home/swapnil/mydir' would save it there etc. Is the rest of the question solved in [1]? cheers Jan [1] https://answers.launchpad.net/yade/+question/657560 -- 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 #657560]: Plotting force & displacement of impactor in a penetration test
Question #657560 on Yade changed: https://answers.launchpad.net/yade/+question/657560 Jan Stránský proposed the following answer: Once again, take care of errors :-) I got: TypeError ... ---> 14 Dz=hammer.state.displ[2] should be Dz=hammer.state.displ()[2] # state.displ() is a fanction, therefore called by (), than you can extract z component by [2] cheers 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 #657560]: Plotting force & displacement of impactor in a penetration test
Question #657560 on Yade changed: https://answers.launchpad.net/yade/+question/657560 Swapnil posted a new comment: Hi Jerome, thanks a lot for the correction. Now, it runs and I can see the plot window but I cannot see any changes occuring0 on the plot. Looks like the values are not updated on the plot somehow. Where could I be going wrong with the script? -- 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