Question #670862 on Yade changed: https://answers.launchpad.net/yade/+question/670862
Chareyre proposed the following answer: Would 1000/sec for one iter not simply exceed the target 0.1 strain? Why this would be related to sample size is unclear to me. B Le sam. 28 juil. 2018 02:22, Mehdi Pouragha < question670...@answers.launchpad.net> a écrit : > Question #670862 on Yade changed: > https://answers.launchpad.net/yade/+question/670862 > > Mehdi Pouragha posted a new comment: > Here is a simple example. 2D though. As long as the maxStrain rate is > 0.5, it is maintained. But if I increase it to 1000 then the current > rate changes. > > Of course these rates are meaningless when we have such a small sample. > As the sample becomes larger, the maximum rate at which the strain rate > follows the maxStrainRate drastically decreases. > > > Mehdi > ---------------------------------------------------- > from yade import pack,qt > from yade import plot > import numpy as np > > > ## computing sample size > num_spheres=500# number of spheres > key='_shearTest_' > compFricDegree = 10 > finalFricDegree = 30 > stabilityThreshold=0.01 > young=1e6 > max_Strainrate = 0.5 > > rMin,rMax = 0.5e-3,1.0e-3 > vSol = num_spheres * pi * ((rMin + rMax)/2.)**2 > volTot = vSol / (1-0.9) > size = volTot**(1./2.) > > > > O.materials.append(FrictMat(young=young,poisson=1,frictionAngle=radians(compFricDegree),density=2600,label='spheres')) > > O.periodic=True > #O.cell.setBox(size,size,1) > O.cell.hSize=Matrix3(size,0,0, 0,size,0, 0,0,1) > sp=pack.SpherePack() > radius=(rMin + rMax)/2. > num=sp.makeCloud((0,0,0.5),(size,size,0.5),radius,.2,num_spheres,periodic=True) > # min,max,radius,rRelFuzz,spheresInCell,periodic > #O.bodies.append([sphere(s[0],s[1]) for s in sp]) > sp.toSimulation(material='spheres') > > for k in O.bodies: > if isinstance(k.shape, Sphere): k.state.blockedDOFs='zXY' > > > O.engines=[ > ForceResetter(), > InsertionSortCollider([Bo1_Sphere_Aabb()],verletDist=.05*radius), > InteractionLoop( > [Ig2_Sphere_Sphere_ScGeom()], > [Ip2_FrictMat_FrictMat_FrictPhys()], > [Law2_ScGeom_FrictPhys_CundallStrack()] > ), > > PeriTriaxController(dynCell=True,mass=0.2,maxUnbalanced=0.01,relStressTol=0.001,globUpdate=5,maxStrainRate=[max_Strainrate,max_Strainrate,max_Strainrate],label='triax'), > NewtonIntegrator(damping=.2), > ] > > O.dt=PWaveTimeStep() > ## compaction > conf = -5 #kPa > triax.stressMask=3 > triax.goal = [conf,conf,0] > stabilityThreshold = 1e-2 > > while 1: > O.run(1000, True) > #the global unbalanced force on dynamic bodies, thus excluding > boundaries, which are not at equilibrium > unb=unbalancedForce() > print 'unbalanced force:',unb,' xx stress: ',triax.stressTensor[0,0] > if unb<stabilityThreshold and > abs((conf-triax.stressTensor[0,0])/conf)<0.01 and > abs((conf-triax.stressTensor[1,1])/conf)<0.01: > break > > > triax.stressMask=4 ## stress controlled along z > deps = -0.1 > eps_xx, eps_yy = triax.strain[0], triax.strain[1] > triax.goal=[eps_xx+deps, eps_yy+deps ,0] > O.run(2,True) > print 'current maxStrainRate=', triax.maxStrainRate > print 'current strain rates: xx=', O.cell.velGrad[0,0], ' > yy=',O.cell.velGrad[1,1], ' zz=', O.cell.velGrad[2,2] > > ps_xx, eps_yy = triax.strain[0], triax.strain[1] > triax.goal=[eps_xx+deps, eps_yy+deps ,0] > print 'setting triax.maxStrainRate=1000' > triax.maxStrainRate = [1000,1000,1000] > O.run(2,True) > print 'current maxStrainRate=', triax.maxStrainRate > print 'current strain rates: xx=', O.cell.velGrad[0,0], ' > yy=',O.cell.velGrad[1,1], ' zz=', O.cell.velGrad[2,2] > > -- > 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 > > -- 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