← Back to team overview

yade-users team mailing list archive

Re: [Question #286542]: Interaction detection problem during periodic simulation

 

Question #286542 on Yade changed:
https://answers.launchpad.net/yade/+question/286542

Description changed to:
Hi All,

I have a problem during discrete element modeling with YADE. I want to
generate a pack of spherical particles in a box with frictional material
model: It is working very well, no problem. With the same settings
(material properties, time step ) I want to replace two parallel side of
the box with periodic boundary.  The definition of the periodic cell is
ok, but in this case some of the spherical particles fall through the
non-periodic facets of the box. I tried to change the time step, the
parameters of the interaction detection, but the reason of this problem
was not found.

Here is the code with periodic boundary conditions:

from yade import plot                                                     
from yade import pack, export                                             
from yade import qt	                                                    
from yade import ymport
qt.View()		                                                    
import random 
import time

densT = 964        
ET =  6e8	  
nuT = .35       
frictAngT = .5   
eRoll = .01         

EA = 2.1e8     
nuA = .3           
densA = 7800        
frictAngA = .52     

futoelem = O.materials.append(FrictMat(young=ET,poisson=nuT,density=densT,frictionAngle=frictAngT,label='futoelem'))    
acel = O.materials.append(FrictMat(young=EA,poisson=nuA,density=densA,frictionAngle=frictAngA,label='acel'))       
seged = O.materials.append(FrictMat(young=1000,poisson=.3,density=1000,frictionAngle=0.52,label='seged')) 

O.periodic = True
O.cell.setBox((6,.1,4.5))

center = (.3,.05,1.5)

doboz = O.bodies.append(geom.utils.facetBox(center,(.1,.05,.5),wallMask=35,material='acel',wire=False,color=(.5,.5,.5)))
garat_bal01 = O.bodies.append(geom.utils.facet(((.2,0,1),(.2,.1,1),(.25,0,.5)),material='acel',wire=False,color=(.5,.5,.5)))
garat_bal02 = O.bodies.append(geom.utils.facet(((.2,.1,1),(.25,0,.5),(.25,.1,.5)),material='acel',wire=False,color=(.5,.5,.5)))

garat_jobb01 = O.bodies.append(geom.utils.facet(((.4,0,1),(.35,0,.5),(.35,.1,.5)),material='acel',wire=False,color=(.5,.5,.5)))
garat_bal02 = O.bodies.append(geom.utils.facet(((.4,0,1),(.4,.1,1),(.35,.1,.5)),material='acel',wire=False,color=(.5,.5,.5)))

sugar = .008
sugar2 = .015

felho = pack.SpherePack()
felho.makeCloud((.225,.025,1.525),(.375,.075,1.975),rMean=sugar)
particles = O.bodies.append([sphere(c,r,material='futoelem',color=(0,1,0)) for c,r in felho])

O.engines=[                   
        ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.3),Bo1_Facet_Aabb()],allowBiggerThanPeriod=True),
        InteractionLoop(           
                [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_ScGeom_FrictPhys_CundallStrack()]
        ),             
        NewtonIntegrator(damping=.6,gravity=(0,0,-9.81),label='newton'),    
]

O.dt=.15*utils.PWaveTimeStep()


Thanks for every help!

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