yadeusers team mailing list archive

yadeusers team

Mailing list archive

Message #20858
[Question #684492]: Model particles (polyhedra) have moved far from each other from the first
New question #684492 on Yade:
https://answers.launchpad.net/yade/+question/684492
Hi there
I drew my whole polygons in Autocad (2D) and exported the vertices of them (of AutoCad) as text for using in YADE and creating polyhedra. I did that because I want pack of many polyhedrons with very small void and certain shape and size.
Here is my code:
import numpy as np
from numpy import *
RawVer=np.genfromtxt('polyline.txt',names=True,dtype=None)
# ListVer is list of all the vertices of all the polygons
Ver=()
ListVer=[]
for b in RawVer:
if b[0]=='*LWPOLYLINE':
ListVer.append(Ver)
Ver=()
continue
Cordn=b[0]
Cordn=np.fromstring(Cordn, sep=',')
Cordn=tuple(Cordn.tolist())
Cordn1=Cordn+(0.1,) # add z vertex to coordinates
Cordn2=Cordn+(0.3,) # add z vertex to coordinates
if not Cordn1 in Ver:
Ver=Ver+(Cordn1,Cordn2)
ListVer.append(Ver)
from yade import plot, polyhedra_utils
Dolomite = PolyhedraMat()
Dolomite.density = 2870 #kg/m^3
Dolomite.young = 24.36e9 #Pa
Dolomite.poisson = 0.2
Dolomite.frictionAngle = radians(55.12) #rad
for ii in ListVer:
O.bodies.append(polyhedra_utils.polyhedra(Dolomite,v=ii,fixed=True, color=(1,0.5,1), mask=3))
for b in O.bodies:
b.state.blockedDOFs='zXYZ'
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Polyhedra_Aabb(),]),
InteractionLoop(
[Ig2_Polyhedra_Polyhedra_PolyhedraGeom(),],
[Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], # collision "physics"
[Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()] # contact law  apply forces
),
NewtonIntegrator(damping=0.6,gravity=(0,9.81,0)),
]
O.engines=O.engines+[PyRunner(iterPeriod=20,command='calm()',label="calmRunner")] # because we need to calm only on the first few steps in our model.
O.dt=10e6
O.run(50000,True)
print(O.dt)
After run script, when I see graphical interface, particles are not near each other and they have moved far from each other. If I decrease young module, particles will be near each other same as initial model in AutoCad.
But I don`t want to decrease young module. I thought this distance and exploding between particles is because of overlapping of polyhedra vertices and then with Offset in AUTOCAD I moved polygons vertices so they hadn`t overlapping any more but the problem didn`t solve.
I should mention; after this step, I should allow particles move down under gravity.
Now please help me Why the particles move and aren`t near each other?
How I should fix this problem

You received this question notification because your team yadeusers is
an answer contact for Yade.