← Back to team overview

yade-users team mailing list archive

[Question #681203]: contact problem of applying ScGeom on polyhedra particle

 

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

hello
i was applying Ig2_Polyhedra_Polyhedra_ScGeom() to simution the deposit of polyhedra particles, the boundary is formed by fixed polyhedra. But when the polyhedra particles contacted with the fixed polyhedra boundary, they just get through the boundary, i have tried many value of timestep,but it is all the same. i do not know what is wrong, i would appreciate it if you can help me.
below is my code:
from yade import polyhedra_utils,pack,plot,utils
import random

n  = FrictMat(young=1e10,poisson=.05)

O.materials.append(n)

#the boundary of particle deposit
v1=((0,0,0),(0,3.2,0),(0,0,6),(0,3.2,6),(-0.1,0,0),(-0.1,3.2,0),(-0.1,0,6),(-0.1,3.2,6))
v2=((0,0,0),(0,0,6),(18,0,0),(18,0,6),(0,0.1,0),(0,0.1,6),(18,0.1,0),(18,0.1,6))
v3=((0,3.1,0),(0,3.1,6),(18,3.1,0),(18,3.1,6),(0,3.2,0),(0,3.2,6),(18,3.2,0),(18,3.2,6))
v4=((0,0,0),(0,3.2,0),(18,3.2,0),(18,0,0),(0,0,-0.1),(0,3.2,-0.1),(18,3.2,-0.1),(18,0,-0.1))
v5=((3,0.1,0),(3,3.1,0),(3,0.1,6),(3,3.1,6),(3.1,0.1,0),(3.1,3.1,0),(3.1,0.1,6),(3.1,3.1,6))
b1 = polyhedra_utils.polyhedra(material=n,v=v1,fixed=True) # you can set wire at 
b2 = polyhedra_utils.polyhedra(material=n,v=v2,fixed=True) 
b3 = polyhedra_utils.polyhedra(material=n,v=v3,fixed=True)
b4 = polyhedra_utils.polyhedra(material=n,v=v4,fixed=True)
wall = polyhedra_utils.polyhedra(material=n,v=v5,fixed=True)
b2.shape.wire=True
  
O.bodies.append((b1,b2,b3,b4,wall))

polyhedra_utils.fillBox((0.2,0.2,0.2),(2.8,2.8,20),n,seed=1)


O.engines = [
    ForceResetter(),
    InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
    InteractionLoop(
        [Ig2_Polyhedra_Polyhedra_ScGeom()],
        [Ip2_FrictMat_FrictMat_FrictPhys()],  
        [Law2_ScGeom_FrictPhys_CundallStrack()]  # contact law -- apply forces
    ),
    # GravityEngine(gravity=(0,0,-9.81)),
    NewtonIntegrator(damping=0.5, gravity=(0, 0, -9.81)),
    PyRunner(command='checkUnbalanced()', realPeriod=3, label='checker')
]

O.dt=1e-5
     


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