← Back to team overview

yade-users team mailing list archive

[Question #688853]: spheres pass throught walls

 

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

hello everybody,
i wrote a script of periodic inclined channel in one direction (ox), the problem is that some spheres pass thought the walls or get stuck on it, it's like there's no interaction between sphere and wall. there's some MWE:

# Material of Particles and walls
r_Prt=0.5	#radius of the particles
r_Prt_base=0.05	#radius of the particles which made the bunpy base

O.materials.append(ViscElMat(cn=33.5, cs=16.75, density=1.91, frictionAngle=0.4637, kn=2e5, ks=1e5, label='Mat'))

#Configuration:
length=40.2	#Streamwise length of the periodic cell, in diameter
width=69	#Spanwise length of the periodic cell, in diameter
height=30	#heigth of the periodic cell

#Definition of the semi-periodic cell
O.periodic = True 
O.cell.setBox(length,width,height)

# Build two planes  (walls)
wall_1=O.bodies.append(box(center=(20.1,0.1,7.5),extents=(20,0,7),fixed=True,wire=False,color=(1,0,1),material='Mat'))
wall_2=O.bodies.append(box(center=(20.1,68.396,7.5),extents=(20,0,7),fixed=True,wire=False,color=(1,0,1),material='Mat'))

# Build bumpy base made by particles
for i in range(1,81,1):
   for j in range(2,142,1):
      O.bodies.append([utils.sphere(center=(i*0.5,j*0.5,1),radius=r_Prt_base,fixed=True,color=(1,1,0))])
      j=+1
   i=+1

#Create a loose cloud of particle inside the cell
partCloud = pack.SpherePack()
partCloud.makeCloud(minCorner=(2,2,14),maxCorner=(length-5,width-5,height),rRelFuzz=0.,rMean=r_Prt,num =10920)
partCloud.toSimulation(material='Mat') #Send this packing to simulation with material Mat

# Simulation LOOP
O.engines = [
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb(), Bo1_Facet_Aabb(),Bo1_Box_Aabb()],label='contactDetection',allowBiggerThanPeriod = True),
	InteractionLoop(
	[Ig2_Sphere_Sphere_ScGeom(), Ig2_Box_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()],
	[Ip2_ViscElMat_ViscElMat_ViscElPhys()],
	[Law2_ScGeom_ViscElPhys_Basic()],label = 'interactionLoop'),
	# Integrate the equation and calculate the new position/velocities...
	NewtonIntegrator(damping=0.2, gravity=(0,0,-1), label='newtonIntegr'),
        PyRunner(iterPeriod=17000,command='AddData()')
	]

Regards,
hafsa

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