Hi Ning, Peri3dController does not work very good if all prescribed values are stress with comparable magnitude (like in your case). Try to pass the youngEstimation and poissonEstimation parameters to Peri3dController ( https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Peri3dController) Jan
2012/9/17 ceguo <question208...@answers.launchpad.net> > Question #208644 on Yade changed: > https://answers.launchpad.net/yade/+question/208644 > > Status: Needs information => Open > > ceguo gave more information on the question: > Hi Bruno, > > It seems the first script cannot terminate (due to poorly chosen > parameter??). Actually I tested a 2D script below: > > ========================================================================================= > > O.materials.append(FrictMat(young=1.e8,poisson=.7,frictionAngle=0.5,density=2650)) > sp = pack.SpherePack() > > sp.makeCloud(minCorner=(0,0,0),maxCorner=(.2,.2,0),rMean=.005,rRelFuzz=.5,num=300,periodic=True,seed=1) > sp.toSimulation() > O.cell.hSize = Matrix3(.2,0,0, 0,.2,0, 0,0,1.) > O.dt = utils.PWaveTimeStep() > O.engines = [ > ForceResetter(), > InsertionSortCollider([Bo1_Sphere_Aabb()]), > InteractionLoop( > [Ig2_Sphere_Sphere_ScGeom()], > [Ip2_FrictMat_FrictMat_FrictPhys()], > [Law2_ScGeom_FrictPhys_CundallStrack()] > ), > PeriTriaxController( > dynCell=True, > goal=(-5.e3,-5.e3,0), > stressMask=3, > relStressTol=.001, > maxUnbalanced=.01, > maxStrainRate=(.1,.1,0), > label='conf' > ), > NewtonIntegrator(damping=.2) > ] > O.run();O.wait() > O.cell.trsf=Matrix3.Identity > O.save('./conf.xml.bz2') > O.pause() > > ======================================================================================= > This one can generate conf.xml.bz2 and terminate smoothly. But the second > script doesn't work.... > > ======================================================================================= > from yade import plot > O.load('conf.xml.bz2') > def saveAddData(): > stress = utils.getStress() > plot.addData( > stress_yy = stress[4], > strain_yy = O.cell.trsf[4] > ) > O.engines = O.engines + [PyRunner(command='saveAddData()',iterPeriod=1000)] > conf.goal=(-5.e3,-1.e-1,0) > conf.stressMask=1 > conf.maxStrainRate=(1.,.1,1.) > O.run();O.wait() > plot.saveDataTxt('result_drained.txt',vars=('stress_yy','strain_yy')) > O.pause() > > ========================================================================================== > Besides, these days I'm struggling to find a good 2d simulation with YADE. > But the result is not good at all. By varying the frictional coefficients > at confining state or by filling a packing with different number of > particles (I want to get packings with different initial void ratios for > shear), the behaviours of the packings are NOT consistent at all. By > consistent I mean dense packing is more dilative while loose packing is > more contractive. I'm not sure if there is intrinsic error in my 2d > simulation... > > Any sharing of experience in 2d simulation is appreciated. > > Ning > > -- > You received this question notification because you are a member of > yade-users, which 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 >
_______________________________________________ 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