Hi everyone
I run this code for some polyhedrals, they fall down with gravity, but when polyhedrals collide to facet in bottom, all of them move up with high speed and spread in space. While they should stay on the floor for a little while.
note: Most of polyhedrals have sharp angle, does this have effect on this problem?
I would appreciate if you can help me.
ubuntu : 18.04
yade 2018.02b
too many input data.
my codes:
from yade import export,polyhedra_utils
import os
from yade import plot
import math
from yade import utils
import pylab
import matplotlib; matplotlib.rc('axes',grid=True)
from matplotlib import pyplot
import numpy as np
from numpy import *
from yade import export as expt
Dolomite = PolyhedraMat()
Dolomite.density = 2870 #kg/m^3
Dolomite.young = 1e7 #Pa
Dolomite.poisson = 0.2
Dolomite.frictionAngle = radians(55.12) #rad
Bound = PolyhedraMat()
Bound.density = 2870 #kg/m^3
Bound.young = 1e300 #Pa
Bound.poisson = 0.2
Bound.frictionAngle = radians(55.12) #rad
p1=((3.20999113285824,4.56682535905544,0.25),(3.20999113285824,4.92812419373700,0.25),(3.34925246942789,5.13990997478261,0.25),(3.48096338587174,5.13990997478261,0.25),(3.48096338587174,4.97471882295321,0.25),(3.38909183943153,4.70539658408990,0.25),(3.20999113285824,4.56682535905544,0.25),(3.20999113285824,4.56682535905544,-0.25),(3.20999113285824,4.92812419373700,-0.25),(3.34925246942789,5.13990997478261,-0.25),(3.48096338587174,5.13990997478261,-0.25),(3.48096338587174,4.97471882295321,-0.25),(3.38909183943153,4.70539658408990,-0.25),(3.20999113285824,4.56682535905544,-0.25))
p2=((3.60265201447845,7.35103416471193,0.25),(3.61010182622721,7.35103416471193,0.25),(3.71828876180858,7.48918606800436,0.25),(3.74275101349167,7.67253715703928,0.25),(3.74275101349167,7.82185097460873,0.25),(3.67394962688404,7.75228435593977,0.25),(3.60265201447845,7.35103416471193,0.25),(3.60265201447845,7.35103416471193,-0.25),(3.61010182622721,7.35103416471193,-0.25),(3.71828876180858,7.48918606800436,-0.25),(3.74275101349167,7.67253715703928,-0.25),(3.74275101349167,7.82185097460873,-0.25),(3.67394962688404,7.75228435593977,-0.25),(3.60265201447845,7.35103416471193,-0.25))
O.bodies.append(polyhedra_utils.polyhedra(Dolomite,v=p1,fixed=False, color=(0.1,0.5,0.2)))
O.bodies.append(polyhedra_utils.polyhedra(Dolomite,v=p2,fixed=False, color=(0.1,0.5,0.2)))
v1=((-2.4993,-0.01,2),(-2,-0.01,2),(-2.4993,-0.01,-2))
v2=((-2,-0.01,2),(-2,-0.01,-2),(-2.4993,-0.01,-2))
v3=((-1.99,-0.01,2),(-1.99,-0.01,-2),(-1,-0.01,2))
v4=((-1,-0.01,2),(-1,-0.01,-2),(-1.99,-0.01,-2))
v5=((-0.99,-0.01,2),(-0.99,-0.01,-2),(1,-0.01,2))
v6=((1,-0.01,2),(1,-0.01,-2),(-0.99,-0.01,-2))
v7=((1.01,-0.01,2),(1.01,-0.01,-2),(2,-0.01,2))
v8=((2,-0.01,2),(2,-0.01,-2),(1.01,-0.01,-2))
v9=((2.01,-0.01,2),(2.01,-0.01,-2),(3,-0.01,2))
v10=((3,-0.01,2),(3,-0.01,-2),(2.01,-0.01,-2))
v11=((3.01,-0.01,2),(3.01,-0.01,-2),(4.58,-0.01,2))
v12=((4.58,-0.01,2),(4.58,-0.01,-2),(3.01,-0.01,-2))
v13=((4.6162,0.0059,2),(5.25,0.93,2),(4.6162,0.0059,-2))
v14=((5.25,0.93,2),(5.25,0.93,-2),(4.6162,0.0059,-2))
v15=((5.25,0.94,2),(5.25,0.94,-2),(6.42,2.57,2))
v16=((6.42,2.57,2),(6.42,2.57,-2),(5.25,0.94,-2))
v17=((6.42,2.58,2),(6.42,2.58,-2),(6.7906,3.01,2))
v18=((6.7906,3.01,2),(6.7906,3.01,-2),(6.42,2.58,-2))
O.bodies.append(utils.facet(v1,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v2,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v3,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v4,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v5,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v6,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v7,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v8,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v9,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v10,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v11,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v12,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v13,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v14,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v15,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v16,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v17,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v18,color=(1,0,1), material=Bound))
for b in O.bodies:
if b.material is Dolomite:
b.state.blockedDOFs='zXY'
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Facet_Aabb()],verletDist=0.05),
InteractionLoop(
[Ig2_Polyhedra_Polyhedra_PolyhedraGeom(),Ig2_Facet_Polyhedra_PolyhedraGeom()],
[Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
[Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]
),
NewtonIntegrator(gravity=(0,-9.81,0),damping=0.2),
]
utils.calm()
O.dt=10e-6
O.saveTmp()
O.run()