← Back to team overview

yade-users team mailing list archive

Re: [Question #190776]: too many fluctuations in 2d simulation

 

Question #190776 on Yade changed:
https://answers.launchpad.net/yade/+question/190776

    Status: Open => Answered

Chiara Modenese proposed the following answer:
On 15/03/12 14:55, ceguo wrote:
> New question #190776 on Yade:
> https://answers.launchpad.net/yade/+question/190776
>
> Hi,
>
> Due to my problem scale, I have to use a relatively small packing to represent a RVE. So the particle number is about 1000~2000. But I found the behaviour is too fluctuated. I've seen some published results using the similar number of particles but get relatively smooth results. After some failed try on tuning parameters (particle properties, compression speed, etc.), I am wondering if anyone has experience on the 2d simulation with yade. Below is my script:
Hi,
1. Are you trying to compare results under the same grain size 
distribution and contact model parameters?
2. If you increase the number of particles, you should see a reduction 
of the fluctuations; does it occur in your case?

Chiara
> ====================================================================
> from yade import pack,plot
>
> O.materials.append(FrictMat(young=1e9,poisson=.3,frictionAngle=.7,density=2.6e3))
>
> sp = pack.SpherePack()
> sp.makeCloud(minCorner=(0,0,0),maxCorner=(3,3,0),rMean=0.03,rRelFuzz=.5,periodic=True,seed=1)
> sp.toSimulation()
> O.cell.hSize = Matrix3(3,0,0, 0,3,0, 0,0,1)
> print len(O.bodies)
> for p in O.bodies:
>     p.state.blockedDOFs = 'zXY'
>
> def saveAddData():
>     plot.addData(
>        stress_xx = biax.stress[0],
>        stress_yy = biax.stress[1],
>        strain_xx = biax.strain[0],
>        strain_yy = biax.strain[1]
>     )
>
> O.dt = .5*utils.PWaveTimeStep()
> ##consolidation
> O.engines = [
>     ForceResetter(),
>     InsertionSortCollider([Bo1_Sphere_Aabb()]),
>     InteractionLoop(
>        [Ig2_Sphere_Sphere_Dem3DofGeom()],
>        [Ip2_FrictMat_FrictMat_FrictPhys()],
>        [Law2_Dem3DofGeom_FrictPhys_CundallStrack()]
>     ),
>     Peri3dController(
>        goal=(-1.e6,-1.e6,0,0,0,0),
>        stressMask=3,
>        nSteps=20000,
>        maxStrain=1.,
>        label='cons'
>     ),
>     NewtonIntegrator(damping=.3)
> ]
> O.run();O.wait()
>
> O.saveTmp(); O.loadTmp()
> O.materials[0].frictionAngle=.5
> ##undrained biaxial compression
> O.engines = [
>     ForceResetter(),
>     InsertionSortCollider([Bo1_Sphere_Aabb()]),
>     InteractionLoop(
>        [Ig2_Sphere_Sphere_Dem3DofGeom()],
>        [Ip2_FrictMat_FrictMat_FrictPhys()],
>        [Law2_Dem3DofGeom_FrictPhys_CundallStrack()]
>     ),
>     Peri3dController(
>        goal=(1.e-1,-1.e-1,0,0,0,0),
>        stressMask=0,
>        nSteps=200000,
>        maxStrain=1.,
>        label='biax',
>        stressIdeal=Vector6(-1.e6,-1.e6,0,0,0,0)
>     ),
>     NewtonIntegrator(damping=.3),
>     PyRunner(command='saveAddData()',iterPeriod=1000)
> ]
> O.run();O.wait()
>
> plot.saveDataTxt('result_undrained.txt',vars=('stress_xx','stress_yy','strain_xx','strain_yy','porosity'))
>

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.