Re: [Yade-users] [Question #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Shivpreet sharma confirmed that the question is solved: Thanks Robert Caulk, that solved my question. -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Open => Solved Shivpreet sharma confirmed that the question is solved: Thanks for help Robert. -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Solved => Open Shivpreet sharma is still having a problem: But I am facing another issue while plotting of the graph that my tensile crack are coming constantly in Plot. They are n't changing at all.So can someone help me with this problem -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Open => Solved Shivpreet sharma confirmed that the question is solved: Thanks Robert Caulk, that solved my question. -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Answered => Open Shivpreet sharma is still having a problem: It is showing this error: Running script gravity.py File "", line 1 __builtins__.strength reduction=Omega().labeledEngine('strength reduction') ^ SyntaxError: invalid syntax File "", line 1 __builtins__.strength reduction=Omega().labeledEngine('strength reduction') ^ SyntaxError: invalid syntax /usr/lib/python2.7/dist-packages/matplotlib/artist.py:221: MatplotlibDeprecationWarning: This has been deprecated in mpl 1.5, please use the axes property. A removal date has not been set. warnings.warn(_get_axes_msg, mplDeprecation, stacklevel=1) UnboundLocalError Traceback (most recent call last) /usr/bin/yadedaily in () /usr/bin/yadedaily in reduceStrength() 134 135 --> 136 srFactor *= 0.9 137 for cont in O.interactions: 138 cont.phys.FnMax *= 0.9 UnboundLocalError: local variable 'srFactor' referenced before assignment -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Answered => Open Shivpreet sharma is still having a problem: I have added this portion in my script but it was showing me an error : NameError Traceback (most recent call last) /usr/bin/yadedaily in () /usr/bin/yadedaily in history() 132 def history(): 133plot.addData( --> 134TSSR = srfactor, 135iters = O.iter, 136cracks = jcfpmlaw.nbTensileCracks NameError: global name 'srfactor' is not defined so where I have define 'srfactor' and 'jcfpmlaw.nbTensileCracks' in my 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
Re: [Yade-users] [Question #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Open => Answered Robert Caulk proposed the following answer: Your best resource -> https://yade- dem.org/doc/yade.wrapper.html#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Answered => Open Shivpreet sharma is still having a problem: It is showing this error AttributeErrorTraceback (most recent call last) /usr/bin/yadedaily in () /usr/bin/yadedaily in history() 145TSSR = srFactor, 146iters = O.iter, --> 147cracks =interactionLaw.nbTensileCracks 148 ) 149 AttributeError: 'Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM' object has no attribute 'nbTensileCracks' -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Open => Answered Robert Caulk proposed the following answer: I noticed you added your script to the original post. Thank you, I assume you will want to add something like: srFactor = 1. def reduceStrength(): srFactor *= 0.9 for cont in O.interactions: cont.phys.FnMax *= 0.9 cont.phys.FsMax *= 0.9 O.engines=O.engines+[PyRunner(iterPeriod=1000,command='reduceStrength()',label='strength reduction')] and instead of jcfpmlaw.nbTensileCracks, change it to interactionLaw.nbTensileCracks -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Robert Caulk proposed the following answer: plot.plots={'iters':('TSSR',None,'cracks')} ** -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Status: Open => Answered Robert Caulk proposed the following answer: def history(): plot.addData( TSSR = srFactor, iters = O.iter, cracks = jcfpmlaw.nbTensileCracks ) O.engines=O.engines+[PyRunner(iterPeriod=200,command='history()',label='recorder')] from yade import plot plot.plots={'iters':('srFactor',None,'cracks')} plot.plot() -- 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 #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Description changed to: I have read this question related to my problems https://answers.launchpad.net/yade/+question/428040 But I do not understand how will I plot a graph in which on left Y axis there is strength reduction(TSSR) and on the right Y-axis there are tensile crack events with iteration similar to attached in the given link: https://drive.google.com/file/d/1WU-lgHpfLFSaoNAqjKRioQlVmXnSYZbK/view?usp=sharing And the script is: from yade import plot, pack,utils,ymport controling parameters packing='iit_10_plane' smoothContact=True jointFrict=radians(20) jointDil=radians(0) output='jointDip30_jointFrict20' maxIter=1 Import of the sphere assembly def sphereMat(): return JCFpmMat(type=1,young=1e8,frictionAngle=radians(30),density=3000,poisson=0.3,tensileStrength=1e6,cohesion=1e6,jointNormalStiffness=1e7,jointShearStiffness=1e7,jointCohesion=1e6,jointFrictionAngle=jointFrict,jointDilationAngle=jointDil) ## Rq: density needs to be adapted as porosity of real rock is different to granular assembly due to difference in porosity (utils.sumForces(baseBodies,(0,1,0))/(Z*X) should be equal to Gamma*g*h with h=Y, g=9.82 and Gamma=2700 kg/m3 O.bodies.append(ymport.text(packing+'.spheres',scale=1.,shift=Vector3(5,-32.4,-4),material=sphereMat)) ## preprocessing to get dimensions of the packing dim=utils.aabbExtrema() dim=utils.aabbExtrema() xinf=dim[0][0] xsup=dim[1][0] X=xsup-xinf yinf=dim[0][1] ysup=dim[1][1] Y=ysup-yinf zinf=dim[0][2] zsup=dim[1][2] Z=zsup-zinf ## preprocessing to get spheres dimensions R=0 Rmax=0 numSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): numSpheres+=1 R+=o.shape.radius if o.shape.radius>Rmax: Rmax=o.shape.radius Rmean=R/numSpheres Identification of the spheres on joint (some DIY here!) -> work to do on import function textExt to directly load material properties from the ascii file inFile=open(packing+'_jointedPM.spheres','r') for line in inFile: if '#' in line : continue id = int(line.split()[0]) onJ = int(line.split()[1]) nj = int(line.split()[2]) j11 = float(line.split()[3]) j12 = float(line.split()[4]) j13 = float(line.split()[5]) j21 = float(line.split()[6]) j22 = float(line.split()[7]) j23 = float(line.split()[8]) j31 = float(line.split()[9]) j32 = float(line.split()[10]) j33 = float(line.split()[11]) O.bodies[id].state.onJoint=onJ O.bodies[id].state.joint=nj O.bodies[id].state.jointNormal1=(j11,j12,j13) O.bodies[id].state.jointNormal2=(j21,j22,j23) O.bodies[id].state.jointNormal3=(j31,j32,j33) inFile.close Boundary conditions e=2*Rmean Xmax=0 Ymax=0 baseBodies=[] for o in O.bodies: if isinstance(o.shape,Sphere): o.shape.color=(0.9,0.8,0.6) ## to fix boundary particles on ground if o.state.pos[1]<(yinf+2*e) : o.state.blockedDOFs+='xyz' baseBodies.append(o.id) o.shape.color=(1,1,1) ## to identify indicator on top if o.state.pos[1]>(yinf-e) and o.state.pos[0]>(18) and o.state.pos[2]>(zinf+(Z-e)/2) and o.state.pos[2]<(zsup-(Z-e)/2) : refPoint=o.id p0=o.state.pos[1] baseBodies=tuple(baseBodies) O.bodies[refPoint].shape.color=(1,0,0) Engines definition interactionRadius=1. # to set initial contacts to larger neighbours O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=interactionRadius,label='is2aabb'),]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=interactionRadius,label='ss2d3dg')], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(smoothJoint=smoothContact,label='interactionLaw')] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.8), PyRunner(iterPeriod=1000,initRun=False,command='jointStrengthDegradation()'), VTKRecorder(iterPeriod=5000,initRun=True,fileName=(output+'-'),recorders=['spheres','velocity','intr']), PyRunner(iterPeriod=10,initRun=True,command='dataCollector()'), NewtonIntegrator(damping=0.7,gravity=(0.,-9.82,0.)), ] dataCollector plot.plots={'iterations':('p',)} def dataCollector(): R=O.bodies[refPoint] plot.addData(v=R.state.vel[1],p=R.state.pos[1]-p0,iterations=O.iter,t=O.realtime) plot.saveDataTxt(output) joint strength degradation stableIter=2000 stableVel=0.001 degrade=True def jointStrengthDegradation(): global degrade if degrade and O.iter>=stableIter and abs(O.bodies[refPoint].state.vel[1])
Re: [Yade-users] [Question #671468]: How to use TSSR method in order to promote failure in YADE??
Question #671468 on Yade changed: https://answers.launchpad.net/yade/+question/671468 Description changed to: I have read this question related to my problems https://answers.launchpad.net/yade/+question/428040 But I do not understand how will I plot a graph in which on left Y axis there is strength reduction(TSSR) and on the right Y-axis there are tensile crack events with iteration similar to attached in the given link: https://drive.google.com/file/d/1WU-lgHpfLFSaoNAqjKRioQlVmXnSYZbK/view?usp=sharing -- 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