What periodicity change in interactions?

Asked by behzad

Hi guys,

I'm trying to model shear dilation in a granular system. I'd like to have periodic walls in x boundaries only. Boundaries in y and z directions are walls which apply strain or stress to material.
The problem is when I define periodicity as:

O.periodic=True
O.cell.refSize=(3,3,3)

This also affects the interaction of spheres with the walls. In particular, if you run the following script the first layer of the spheres will pass the upper and lower plates (for whatever the reason). But if we remove the periodicity, material get compacted as expected.
Periodic cell is big enough to not affect the plate interactions in z direction. So, what I'm missing here?

Thank you

#=================================================================

from yade import pack,plot, qt

#-----------------------------materials---------------------------------

O.materials.append(CohFrictMat(normalCohesion= 1e4, shearCohesion= 1e4, isCohesive= True, young=4.0e9,
density=1523.6, poisson=0.3, frictionAngle= 0.28, fragile=False, label='wall'))

O.materials.append(CohFrictMat(normalCohesion= 1e1, shearCohesion= 1e1, isCohesive= False, young=1.82e7,
density=1523.6, poisson=0.3, frictionAngle= 0.28, fragile=True, label='agg'))

#-----------------------------packing-----------------------------------

O.periodic=True
O.cell.refSize=(3,3,3)

O.bodies.append(
      pack.regularOrtho(pack.inAlignedBox((0.1,1,1),(2.9,2,2)),material='agg',radius=.05,gap=1e-5,color=(0,0,1)))

qtr=qt.Renderer()
qtr.bgColor=(1,1,1)

#-----------------------------engines-------------------------------------

O.engines=[
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()],allowBiggerThanPeriod=1),
   InteractionLoop(
      [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D()],
      [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True)],
      [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()]
   ),
   NewtonIntegrator(damping=.4)]

O.dt=1e-5
#------------------------------------------------------------------------

box1 = O.bodies.append(box((1.5,1.5,1.9),(3.0,0.5,0.01),fixed=True,wire=False,material='wall'))
box2 = O.bodies.append(box((1.5,1.5,1.0),(3.0,0.5,0.01),fixed=True,wire=False,material='wall'))

box3 = O.bodies.append(box((1.5,0.95,1.5),(1.5,0.01,0.5),fixed=True,wire=False,material='wall'))
box4 = O.bodies.append(box((1.5,2.00,1.5),(1.5,0.01,0.5),fixed=True,wire=True,material='wall'))

O.bodies[box1].state.vel=(1,0,-1)
O.bodies[box2].state.vel=(-1,0,1)

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jérôme Duriez (jduriez) said :
#1

Hello,

Such non-completely periodic simulations have been often discussed on the mailing list. I just did the search for you and https://answers.launchpad.net/yade/+question/290950 (with https://answers.launchpad.net/yade/+question/275284 and https://answers.launchpad.net/yade/+question/290933 in case historical background is of interest for you) might give you some answers.

Jerome

Can you help with this problem?

Provide an answer of your own, or ask behzad for more information if necessary.

To post a message you must log in.