yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #23103
Re: [Question #690777]: Polyhedrons escaping the shear box walls during deposition
Question #690777 on Yade changed:
https://answers.launchpad.net/yade/+question/690777
Ali HAIDAR gave more information on the question:
I am really sorry.
This one will work for sure after defining the list of vertices.
The problem is that after waiting for the polyhedrons to deposit, several polyhedrons will start escaping out of the box.
It needs time to inspect the problem since the deposition process is a little bit long.
from yade import plot,polyhedra_utils
m = PolyhedraMat()
m.density = 2607 #kg/m^3
m.frictionAngle = 0.05 #rad
#m.young = 1E10 #Pa
#m.poisson = 20000/1E6
m2= PolyhedraMat()
m2.frictionAngle = 0.3 #rad
m2.young = 1E300
x=.3
y=.3
z=.2
a=b=0.04
i=0
while a<=(x-0.05):
while b<=(y-0.05):
O.bodies.append([
polyhedra_utils.polyhedra(material=m,v=v1),
polyhedra_utils.polyhedra(material=m,v=v2),
polyhedra_utils.polyhedra(material=m,v=v3),
polyhedra_utils.polyhedra(material=m,v=v4),
polyhedra_utils.polyhedra(material=m,v=v5),
polyhedra_utils.polyhedra(material=m,v=v6),
polyhedra_utils.polyhedra(material=m,v=v7),
polyhedra_utils.polyhedra(material=m,v=v8),
polyhedra_utils.polyhedra(material=m,v=v9),
polyhedra_utils.polyhedra(material=m,v=v10),
polyhedra_utils.polyhedra(material=m,v=v11),
polyhedra_utils.polyhedra(material=m,v=v12),
polyhedra_utils.polyhedra(material=m,v=v13),
polyhedra_utils.polyhedra(material=m,v=v14),
polyhedra_utils.polyhedra(material=m,v=v15),
]
)
if i==0 or i==5 or i==13 or i==10:
O.bodies[-1].state.pos=(a,b,.04-z)
O.bodies[-2].state.pos=(a,b,.12-z)
O.bodies[-3].state.pos=(a,b,.2-z)
O.bodies[-4].state.pos=(a,b,.28-z)
O.bodies[-5].state.pos=(a,b,.36-z)
O.bodies[-6].state.pos=(a,b,.44-z)
O.bodies[-7].state.pos=(a,b,.52-z)
O.bodies[-8].state.pos=(a,b,.6-z)
O.bodies[-9].state.pos=(a,b,.68-z)
O.bodies[-10].state.pos=(a,b,.76-z)
O.bodies[-11].state.pos=(a,b,.84-z)
O.bodies[-12].state.pos=(a,b,.92-z)
O.bodies[-13].state.pos=(a,b,1-z)
O.bodies[-14].state.pos=(a,b,1.08-z)
O.bodies[-15].state.pos=(a,b,1.16-z)
if i==1 or i==6 or i==12 or i==8:
O.bodies[-15].state.pos=(a,b,.04-z)
O.bodies[-14].state.pos=(a,b,.12-z)
O.bodies[-13].state.pos=(a,b,.2-z)
O.bodies[-12].state.pos=(a,b,.28-z)
O.bodies[-11].state.pos=(a,b,.36-z)
O.bodies[-10].state.pos=(a,b,.44-z)
O.bodies[-9].state.pos=(a,b,.52-z)
O.bodies[-8].state.pos=(a,b,.6-z)
O.bodies[-7].state.pos=(a,b,.68-z)
O.bodies[-6].state.pos=(a,b,.76-z)
O.bodies[-5].state.pos=(a,b,.84-z)
O.bodies[-4].state.pos=(a,b,.92-z)
O.bodies[-3].state.pos=(a,b,1-z)
O.bodies[-2].state.pos=(a,b,1.08-z)
O.bodies[-1].state.pos=(a,b,1.16-z)
if i==4 or i==15 or i==11 or i==9:
O.bodies[-12].state.pos=(a,b,.04-z)
O.bodies[-3].state.pos=(a,b,.12-z)
O.bodies[-9].state.pos=(a,b,.2-z)
O.bodies[-5].state.pos=(a,b,.28-z)
O.bodies[-10].state.pos=(a,b,.36-z)
O.bodies[-15].state.pos=(a,b,.44-z)
O.bodies[-4].state.pos=(a,b,.52-z)
O.bodies[-1].state.pos=(a,b,.6-z)
O.bodies[-6].state.pos=(a,b,.68-z)
O.bodies[-8].state.pos=(a,b,.76-z)
O.bodies[-2].state.pos=(a,b,.84-z)
O.bodies[-7].state.pos=(a,b,.92-z)
O.bodies[-11].state.pos=(a,b,1-z)
O.bodies[-14].state.pos=(a,b,1.08-z)
O.bodies[-13].state.pos=(a,b,1.16-z)
if i==3 or i==7 or i==2 or i==14:
O.bodies[-13].state.pos=(a,b,.04-z)
O.bodies[-14].state.pos=(a,b,.12-z)
O.bodies[-11].state.pos=(a,b,.2-z)
O.bodies[-7].state.pos=(a,b,.28-z)
O.bodies[-2].state.pos=(a,b,.36-z)
O.bodies[-8].state.pos=(a,b,.44-z)
O.bodies[-6].state.pos=(a,b,.52-z)
O.bodies[-1].state.pos=(a,b,.6-z)
O.bodies[-4].state.pos=(a,b,.68-z)
O.bodies[-15].state.pos=(a,b,.76-z)
O.bodies[-10].state.pos=(a,b,.84-z)
O.bodies[-5].state.pos=(a,b,.92-z)
O.bodies[-9].state.pos=(a,b,1-z)
O.bodies[-3].state.pos=(a,b,1.08-z)
O.bodies[-12].state.pos=(a,b,1.16-z)
b=b+0.07
i=i+1
a=a+0.07
b=0.04
f1=utils.facet([(0,0,0),(0,0,z),(x,0,0)],material=m2)
f2=utils.facet([(x,0,z),(0,0,z),(x,0,0)],material=m2)
f3=utils.facet([(x,0,z),(x,y,z),(x,0,0)],material=m2)
f4=utils.facet([(x,y,0),(x,y,z),(x,0,0)],material=m2)
f5=utils.facet([(x,y,0),(x,y,z),(0,y,z)],material=m2)
f6=utils.facet([(x,y,0),(0,y,0),(0,y,z)],material=m2)
f7=utils.facet([(0,0,0),(0,y,0),(0,y,z)],material=m2)
f8=utils.facet([(0,0,0),(0,0,z),(0,y,z)],material=m2)
f9=utils.facet([(0,0,0),(0,-.5*y,0),(x,-.5*y,0)],material=m2)
f10=utils.facet([(0,0,0),(x,-.5*y,0),(x,0,0)],material=m2)
f11=utils.facet([(0,0,z),(0,0,5*z),(x,0,z)],material=m2)
f12=utils.facet([(x,0,5*z),(0,0,5*z),(x,0,z)],material=m2)
f13=utils.facet([(x,0,5*z),(x,y,5*z),(x,0,z)],material=m2)
f14=utils.facet([(x,y,z),(x,y,5*z),(x,0,z)],material=m2)
f15=utils.facet([(x,y,z),(x,y,5*z),(0,y,5*z)],material=m2)
f16=utils.facet([(x,y,z),(0,y,z),(0,y,5*z)],material=m2)
f17=utils.facet([(0,0,z),(0,y,z),(0,y,5*z)],material=m2)
f18=utils.facet([(0,0,z),(0,0,5*z),(0,y,5*z)],material=m2)
O.bodies.append([f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18])
f19=utils.facet([(0,y,0),(0,1.5*y,0),(x,y,0)],fixed=True,material=m2)
f20=utils.facet([(x,y,0),(x,1.5*y,0),(0,1.5*y,0)],fixed=True,material=m2)
f=0
t=0
n=0
A=.3*.3
V=0.1
F=-13500
O.bodies.append([
utils.facet([(0,0,0),(0,0,-z),(x,0,0)],material=m2,fixed=True),
utils.facet([(x,0,-z),(0,0,-z),(x,0,0)],material=m2,fixed=True),
utils.facet([(x,0,-z),(x,y,-z),(x,0,0)],material=m2,fixed=True),
utils.facet([(x,y,0),(x,y,-z),(x,0,0)],material=m2,fixed=True),
utils.facet([(x,y,0),(x,y,-z),(0,y,-z)],material=m2,fixed=True),
utils.facet([(x,y,0),(0,y,0),(0,y,-z)],material=m2,fixed=True),
utils.facet([(0,0,0),(0,y,0),(0,y,-z)],material=m2,fixed=True),
utils.facet([(0,0,0),(0,0,-z),(0,y,-z)],material=m2,fixed=True),
utils.facet([(x,0,-z),(0,0,-z),(0,y,-z)],material=m2,fixed=True),
utils.facet([(x,0,-z),(x,y,-z),(0,y,-z)],material=m2,fixed=True),f19,f20
])
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()],verletDist=0.1),
InteractionLoop(
[Ig2_Polyhedra_Polyhedra_PolyhedraGeom(),Ig2_Facet_Polyhedra_PolyhedraGeom(),Ig2_Wall_Polyhedra_PolyhedraGeom()],
[Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
[Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]
),
NewtonIntegrator(gravity=(0,0,-9.81),damping=0.5),
]
O.dt=.05*polyhedra_utils.PWaveTimeStep()
yade.qt.View()
O.run()
O.saveTmp()
--
You received this question notification because your team yade-users is
an answer contact for Yade.