← Back to team overview

yade-users team mailing list archive

Re: [Question #208644]: How to save a confined pack and later load it for shear

 

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 <question208644@xxxxxxxxxxxxxxxxxxxxx>

> 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@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References