← Back to team overview

yade-users team mailing list archive

Particles passing through facets

 

Hi,

I'm having a problem where the spherical particles simply pass through my meshed facet geometry. It's as if the mesh was never converted to facets

Using GMSH, I drew up a vessel with impeller geometry & meshed it in 3D. I then saved it as a mesh file under ASCII format & physical entity element tag. I then imported it into my yade script using ymport & assigned it the material 'steel'. But when I ran the script, the particles generated simply fell through the impeller & vessel portion of the geometry instead of bouncing off. The same thing happens when I save the mesh using a partition element tag. I'm having trouble pinpointing the problem, but having looked at some examples of ymport.gsmh, perhaps I'm doing something wrong in gmsh

My script are as follows:

from yade import utils,pack,plot,timing,ymport
from numpy import linspace

#import granulator geometry & convert to facets
O.bodies.append(yade.ymport.gmsh(meshfile='try_1_mesh.mesh', shift=Vector3(0, 0, 0), scale=1.0, orientation=Quaternion((1, 0, 0), 0)))

#define sphere material & facet material
stuff=O.materials.append(FrictMat(young=3e10,poisson=.2,density=1000))
steel=O.materials.append(FrictMat(young=210e9,poisson=.25,frictionAngle=.8,density=8000))

#pack volume with spheres with mean radius 0.5 & rRelFuzz=.3 
sp=pack.SpherePack() 
sp.makeCloud(Vector3(-10,-10,31),Vector3(10,10,35),.5,rRelFuzz=.3) 
O.bodies.append([utils.sphere(c,r,material=stuff) for c,r in sp])

#open file for writing plot data
u=open('hsg1_vel.txt','w')

#define functions used in commands
def addPlotData():                                  #position & velocity of particle 5
yade.plot.addData({'t':O.time,'i':O.iter,'position':O.bodies[5].state.pos,'velocity':O.bodies[5].state.vel[1]})

#write plot data into open file
def writedata():
        u.write(str(O.time))#plot time int text file
        u.write(" %s"%str(O.bodies[5].state.vel[0])) #plot x-velocity of sphere 4 into text file
        u.write(" %s"%str(O.bodies[5].state.vel[1])) #plot y-velocity of sphere 4 into text file
        u.write(" %s"%str(O.bodies[5].state.vel[2])) #plot z-velocity of sphere 4 into text file
        u.write("\n")

#define constants
intradius=1.2 #bounding interaction radius
dampingmag=0.4 #damping for NewtonIntegrator
O.dt=5e-6 #timestep size=5e-6s

#mesh to facet keyword parameter
kwMeshes={'color':[1,1,0],'wire':True,'dynamic':False,'material':steel}

#define engine components
O.engines=[
        ForceResetter(),
        BoundDispatcher([Bo1_Sphere_Aabb(aabbEnlargeFactor=intradius)]),
        InsertionSortCollider(),
        InteractionDispatchers(
                [Ig2_Sphere_Sphere_Dem3DofGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_Dem3DofGeom_FrictPhys_Basic()], #include Law2?
        ),
        GravityEngine(gravity=(0,0,-1e4)),
        NewtonIntegrator(damping=dampingmag),
        PeriodicPythonRunner(iterPeriod=3,command='addPlotData()'),
        PeriodicPythonRunner(iterPeriod=3,command='writedata()'), 
        VTKRecorder(iterPeriod=100,recorders=['spheres','facets','colors'],fileName='/home/kenmendoza/yade_results/vtu/p1')
]

#launch simulation viewing window & player
from yade import qt
qt.Controller()
qt.View()
O.run(50000)

I'd appreciate any help/comments on this matter.

Thanks,
Ken

This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. 
Please do not copy it or use it for any purpose, or disclose its contents to any other person. Thank you.




Follow ups