← Back to team overview

yade-users team mailing list archive

[Question #177203]: true 2d biaxial test

 

New question #177203 on Yade:
https://answers.launchpad.net/yade/+question/177203

Hi,

In the discussion of #175606, Bruno committed a change of sp.makeCloud to accommodate true 2d tests. Where is the new version code? I recompiled code using version 0.70.0, but still cannot generate packing with 0 thickness.  The error info:

num = sp.makeCloud(minCorner=(0,0,0),maxCorner=(0.01,0.01,0),rMean=0.0002,rRelFuzz=.5,periodic=True)
ValueError: The box defined as null volume. Define at least maxCorner of the box, or hSize if periodic.

Also with this zero-thickness packing, how to conduct biaxial test? Still using Peri3dController is OK? Do we need to block the corresponding DOFs? Will the following code work smoothly?

from yade import pack

O.materials.append()
sp = pack.SpherePack()
num = sp.makeCloud(minCorner=(0,0,0),maxCorner=(1,1,0),rMean=0.02,rRelFuzz=.5,periodic=True)
O.bodies.append([utils.sphere(s[0],s[1]) for s in sp])
print num
for p in O.bodies:
   p.state.blockedDOFs = ['z','rx','ry']

O.dt = .5*utils.PWaveTimeStep()
O.engines = [
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb()]), # detect new collisions
   InteractionLoop(
      [Ig2_Sphere_Sphere_Dem3DofGeom()],
      [Ip2_FrictMat_FrictMat_FrictPhys()],
      [Law2_Dem3DofGeom_FrictPhys_CundallStrack()]
   ),
   Peri3dController(
      goal=(-2e5,-2e5,0,0,0,0),
      stressMask=3,
      nSteps=20000,
      doneHook='print "Consolidation finished."; O.pause()',
      maxStrain=.5,
      label='triax'
   ),
   NewtonIntegrator()
]
O.run(); O.wait()

O.engines = [
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb()]), # detect new collisions
   InteractionLoop(
      [Ig2_Sphere_Sphere_Dem3DofGeom()],
      [Ip2_FrictMat_FrictMat_FrictPhys()],
      [Law2_Dem3DofGeom_FrictPhys_CundallStrack()]
   ),
   Peri3dController(
      goal=(2.e-2,-2.e-2,0,0,0,0),
      stressMask=0,
      nSteps=20000,
      doneHook='print "Shear finished."; O.pause()',
      maxStrain=.5,
      label='triax'
   ),
   NewtonIntegrator(),
]
O.run(); O.wait()

Ning

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