← Back to team overview

yade-users team mailing list archive

[Question #249669]: material damping

 

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

Hello all,

I am trying to investigate the damping effect using restitution coefficients among the different materials. 
When I examined the resitution coefficient between the wall and the sphere, it behaved as I expected. 
However, when I created five spheres in a column on the bottom of wall and generate the kinetic enegy using a free fall sphere, the force on each sphere is a little bit strange for me. 
I thought the force on each sphere should be decreased from the top to bottom by the damping parameter but one of the spheres was out of trend. 
Also, I expected the force on each sphere should be dissipated 1/2 from the previous force because I set up the resttitution coefficient between soil and soil equal to 0.5. In case of kinetic energy, it should be decreased 1/4.
However, it does not follow that way. 

Can somone please let me know what it is going on? 
Thank you for your help.

here is the scirpt that I am using:

from yade import pack, plot, geom, export, ymport,qt
import math, numpy

r = 0.001 #particle radius, meter

#define material properties#
rainId=O.materials.append(FrictMat(young=1e6,poisson=0.4,frictionAngle=radians(30),density=2650.0,label='water'))
soilId=O.materials.append(FrictMat(young=1e6,poisson=0.4,frictionAngle=radians(30),density=2650.0,label='soil'))


#create spheres#
O.bodies.append([
   utils.sphere(center=(0,0,r),radius=r,fixed=False,material='soil'),
   utils.sphere(center=(0,0,3*r),radius=r,fixed=False,material='soil'),
   utils.sphere(center=(0,0,5*r),radius=r,fixed=False,material='soil'),
   utils.sphere(center=(0,0,7*r),radius=r,fixed=False,material='soil'),
   utils.sphere(center=(0,0,9*r),radius=r,fixed=False,material='soil'),
])

bid=O.bodies.append(utils.sphere(center=(0,0,13*r),radius=r,fixed=False,material='water')) #set the raindrop properties
O.bodies[bid].state.vel=(0,0,-4.5) #terminal velocity
O.bodies[bid].shape.color=(0,0,1)
w

wallId=O.materials.append(FrictMat(young=1e6,poisson=0.4,frictionAngle=radians(30),density=2650.0,label='wall')) #set the wall properties

mn,mx = utils.aabbExtrema()
Xmin = mn[0]
Ymin = mn[1]
Zmin = mn[2]
Xmax = mx[0]
Ymax = mx[1]
Zmax = mx[2]

O.bodies.append(utils.wall((0,0,0),axis=2,sense=1,material='wall')) #create the bottom of wall


newton=NewtonIntegrator(damping=0.0,gravity=(0,0,-9.81)) #set zero damping to investigate the effect of en and es

O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
		[Ip2_FrictMat_FrictMat_MindlinPhys(
			en=MatchMaker(matches=((rainId,rainId,0.01),(rainId,soilId,0.3),(rainId,wallId,0.01),(soilId,soilId,0.5),(soilId,wallId,0.01),(wallId,wallId,0.01))),
			es=MatchMaker(matches=((rainId,rainId,0.01),(rainId,soilId,0.3),(rainId,wallId,0.01),(soilId,soilId,0.5),(soilId,wallId,0.01),(wallId,wallId,0.01))))],
		[Law2_ScGeom_MindlinPhys_Mindlin()]
	),
	PyRunner(iterPeriod=100,command='addPlotData()'),
        PyRunner(command='checkKEnergy()',iterPeriod=100),
	newton
]

O.dt=5.e-5*utils.PWaveTimeStep()
O.trackEnergy = True

def checkKEnergy():
 global f0,f1,f2,f3,f4,f5
 ke = kineticEnergy()
 f0 = O.forces.f(0)
 f1 = O.forces.f(1)
 f2 = O.forces.f(2)
 f3 = O.forces.f(3)
 f4 = O.forces.f(4)
 f5 = O.forces.f(5)

def addPlotData():
 f0 = O.forces.f(0)
 f1 = O.forces.f(1)
 f2 = O.forces.f(2)
 f3 = O.forces.f(3)
 f4 = O.forces.f(4)
 f5 = O.forces.f(5)
 plot.addData(i=O.iter,f0forces=f0[2],f1forces=f1[2],f2forces=f2[2],f3forces=f3[2],f4forces=f4[2],f5forces=f5[2])
 plot.saveDataTxt(O.tags['id']+'.txt')

#display the force on the sphere
plot.plots={'i':('f0forces','f1forces','f2forces','f3forces','f4forces','f5forces',)}
plot.plot()
plot.live=True
plot.autozoom=True
qt.View()
O.run()
 

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