← Back to team overview

yade-users team mailing list archive

Re: [Question #699459]: Possible reasons for bond not being connected in the method of CohFrictMat

 

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

    Status: Needs information => Open

Jingchi Yu gave more information on the question:
Hello, Jan

Sorry for that. Let me answer a few questions you have asked:

> simulate the connection behavior

I'm just expressing the hope that bond connections can be made between
particles, not just frictional relationships

> the calculation could not reach the goal and finished

The calculations were performed many times, each time running for ten or
even a couple of  minutes without stopping.

> I believe there was an error

Sorry for the unclear representation.

> I believe the bond was not successfully connected

Sorry for the unclear representation, again.

> and the particles bounced off each other at the beginning of the run instead of coming together quickly
I'm not sure why there is a difference between our two calculations, but that's really the problem I'm having. I am attaching the full code for your review.


"
O.materials.append(CohFrictMat(young=6e8,poisson=.8,density=2650,isCohesive=True,frictionAngle=26.565,normalCohesion=1e5,shearCohesion=1e5))#density=2e3

sp = pack.SpherePack()
size = .24
sp.makeCloud(minCorner=(0,0,.05),maxCorner=(size,size,.05),rMean=.005,rRelFuzz=.4,num=400,periodic=True,seed=1)
sp.toSimulation()
O.cell.hSize = Matrix3(size,0,0, 0,size,0, 0,0,.1)
print(len(O.bodies))
for p in O.bodies:
   p.state.blockedDOFs = 'zXY'
   p.state.mass = 2650 * 0.1 * pi * p.shape.radius**2 # 0.1 = thickness of cylindrical particle
   inertia = 0.5 * p.state.mass * p.shape.radius**2
   p.state.inertia = (.5*inertia,.5*inertia,inertia)

O.dt = utils.PWaveTimeStep()
print(O.dt)

O.engines = [
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb()]),
   InteractionLoop(
      [Ig2_Sphere_Sphere_ScGeom6D()],
      [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
      [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
   ),
   PeriTriaxController(
      dynCell=True,
      goal=(-1.e5,-1.e5,0),
      stressMask=3,
      relStressTol=.001,
      maxUnbalanced=.001,
      maxStrainRate=(.5,.5,.0),
      doneHook='term()',
      label='biax'
   ),
   NewtonIntegrator(damping=.1)

]
 #globals().update(locals())

def term():
   O.engines = O.engines[:3]+O.engines[4:]
   print(getStress())
   print(O.cell.hSize)
   setContactFriction(0.5)
   O.cell.trsf=Matrix3.Identity
   O.cell.velGrad=Matrix3.Zero
   for p in O.bodies:
      p.state.vel = Vector3.Zero
      p.state.angVel = Vector3.Zero
      p.state.refPos = p.state.pos
      p.state.refOri = p.state.ori

   O.save('1DP-yuan.yade.gz')
   O.pause()

O.run();O.wait()

"


Thank you very much
YU

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.