New question #253399 on Yade:
https://answers.launchpad.net/yade/+question/253399

Hi all, 

I am simulating flows of particles due to an external fluid force. Then, the 
phenomenon is dynamic, I use periodic boundary condition in the streamwise 
direction and I have particles with velocity as high as 0.5m/s.

I noticed a problem of stability when considering small periodic cell. After 
some times to isolate the problem, I found out that the problem arises when a 
particle travel for more than 10 times the size of the periodic cell. This does 
not seem to depend on the contact law, neither on the time step or the velocity 
of the particle, but only on the number of time the particle is crossing the 
periodic cell. I am not sure but I think this problem was not present some 
times ago. 

Have you already heard about such a bug ? What can I do to fix that ? 
It is a real problem for me as I would be interested to study the effect of the 
reduction of the size of the periodic cell and reduce it if possible. 

Raphaël 

I am using Ubuntu 12.04 and yade daily 1.10.0-72-d9ab58c~precise 
Here is a simple  script to reproduce the bug :

O.dt = 1e-7
lengthCell = 10 #Streamwise length of the periodic cell in diameter
slope = 0.5     #Angle of the slope in radian

#Particles parameters
diameterPart = 6e-3     #Diameter of the particles, in meter, 6mm here.
densPart = 2500 #density of the particles, in kg/m3
#Contact law
cnPart = 0.0    #Normal viscous damping coefficient.
knPart = 1e4    #Normal stiffness of the particle
partFrictAngle = 0.0 #28 *pi/180 #friction angle of the particles, in radian
csPart = 0   #tangential viscous damping coefficient (=0)
ksPart = 0.5*knPart #tangential stiffness of the contact

##Definition of the materials
O.materials.append(ViscElMat(cn=cnPart, cs=csPart, kn=knPart, ks=ksPart, 
density=densPart, frictionAngle=partFrictAngle, label='sphereMat'))

#
#Geometrical configuration
#
length = lengthCell*diameterPart
width = length/2.0
height = length/3.0
g = Vector3(9.81*sin(slope),0,-9.81*cos(slope))
groundPosition = height/3.0
#Definition of the semi-periodic cell
O.periodic = True 
O.cell.setBox(length,width,height)
# build the ground
lowPlane = box(center= 
(length/2.0,width/2.0,groundPosition),extents=(length*10,width*10,0),fixed=True,wire=False,color
 = (0.8,0.8,0.8),material = 'sphereMat')  

#Send the ground box and the particle to simulation
O.bodies.append(lowPlane)
O.bodies.append(sphere((length/2.0,width/2.0,groundPosition+diameterPart),radius
 = diameterPart*0.5, material = 'sphereMat'))

#########################
#### SIMULATION LOOP#####
#########################

O.engines = [
        # Reset the forces
        ForceResetter(),
        # Detect the potential contacts
        InsertionSortCollider([Bo1_Sphere_Aabb(), 
Bo1_Wall_Aabb(),Bo1_Facet_Aabb(),Bo1_Box_Aabb()],label='contactDetection',allowBiggerThanPeriod
 = True),
        # Calculate the different interactions
        InteractionLoop(
        [Ig2_Sphere_Sphere_ScGeom(), Ig2_Box_Sphere_ScGeom()],
        [Ip2_ViscElMat_ViscElMat_ViscElPhys()],
        [Law2_ScGeom_ViscElPhys_Basic()]
        ),      
        # Integrate the equation and calculate the new position/velocities...
        NewtonIntegrator(damping=0.0, gravity=g, label='newton')
        ]

O.saveTmp()



-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to