yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #10262
Re: [Question #255247]: Question about the PolyhedraMat
Question #255247 on Yade changed:
https://answers.launchpad.net/yade/+question/255247
Status: Answered => Open
Henry is still having a problem:
Many thanks to Pro. Jan.
I have modified the irrigular.py in Examples/polyhedra as follows to see
the failure process of a polyhedral body. However, the body is not
break. Is there anyother parameters for controll the breakage of the
polyhedral material?
# create box with free top, and ceate loose packing inside the box
from yade import plot, polyhedra_utils
from yade import qt
m = PolyhedraMat()
m.density = 2600000 #kg/m^3
m.Ks = 2e8
m.Kn = 1E10 #Pa
m.strength=0.1
m.IsSplitable=5
m.frictionAngle = 0.6 #rad
m_wall = PolyhedraMat()
m.density = 26000 #kg/m^3
m.Ks = 2e8
m.Kn = 1E10 #Pa
m.frictionAngle = 0.6 #rad
O.bodies.append(utils.wall(0,axis=2,sense=1, material = m_wall))
t = polyhedra_utils.polyhedra(m,size = (0.06,0.06,0.06),seed = 5)
t.state.pos = (0.,0.,0.5)
O.bodies.append(t)
def checkUnbalanced():
# at the very start, unbalanced force can be low as there is only few contacts, but it does not mean the packing is stable
print "unbalanced forces = %.5f, position %f, %f, %f"%(utils.unbalancedForce(), t.state.pos[0], t.state.pos[1], t.state.pos[2])
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Wall_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
[Ig2_Wall_Polyhedra_PolyhedraGeom(), Ig2_Polyhedra_Polyhedra_PolyhedraGeom(), Ig2_Facet_Polyhedra_PolyhedraGeom()],
[Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], # collision "physics"
[Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()] # contact law -- apply forces
),
#GravityEngine(gravity=(0,0,-9.81)),
PolyhedraSplitter(realPeriod=100),
NewtonIntegrator(damping=0.5,gravity=(0,0,-9.81)),
PyRunner(command='checkUnbalanced()',realPeriod=3,label='checker')
]
#O.dt=0.025*polyhedra_utils.PWaveTimeStep()
O.dt=0.00025
qt.Controller()
V = qt.View()
O.saveTmp()
#O.run()
#O.save('./done')
utils.waitIfBatch()
Thanks a lot!
Best regard,
Henry
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.