New question #664362 on Yade: https://answers.launchpad.net/yade/+question/664362
Dear all, I would like to simulate the transport of small particles by downward flow like was done in (Sari et al. 2011). My packing has periodic lateral boundaries; a bottom plane and another top plane are introduced to the simulation. It seems that the PeriodicFlowEngine is not working correctly (the fine particle doesn't move), I am wondering if the setting for this engine were chosen properly (flow.bndCondIsPressure,flow.bndCondValue, flow.gradP), or if the fine particle at the top of the packing may influence the triangulation in this case. Does anyone know what I did wrong? And how can I fix that ? Thank you! Feda Sari, H., Chareyre, B., Catalano, E., Philippe, P., & Vincens, E. (2011). Investigation of internal erosion processes using a coupled dem-fluid method. In Particles 2011 II International Conference on Particle-Based Methods, E. Oate and DRJ Owen (Eds), Barcelona (pp. 1-11). from yade import pack,qt import math O.periodic=True nbofspheres=1500 width=0.04 depth=0.04 height=0.1 radius=0.002 radiusfine=0.0005 rRelFuzz=0.01 O.cell.hSize=Matrix3(width, 0, 0, 0 ,depth , 0, 0, 0, 3*height) O.materials.append(ViscElMat(kn=1e7,ks=1e7,en=0.1,et=0.1,frictionAngle=0,density=2530,label='spheres')) O.materials.append(ViscElMat(kn=1e7,ks=1e7,en=0.1,et=0.1,frictionAngle=0,density=2530,label='walls')) bottomWall = utils.box(center=(width/2,depth/2,height-0.01), extents=(width*1000,depth*1000,0) ,fixed=True,wire=False,material='walls',color=(0,0,1)) topWall = utils.box(center=(width/2,depth/2,2*height+0.01), extents=(width*1000,depth*1000,0) ,fixed=True,wire=False,material='walls',color=(0,0,1)) O.bodies.append([bottomWall,topWall]) sp=pack.SpherePack() sp.makeCloud((0,0,height),(width,depth,2*height),radius,rRelFuzz,nbofspheres,periodic=True,porosity=0.3,seed=1) O.bodies.append([utils.sphere(s[0],s[1],color=(1,1,1),material='spheres') for s in sp]) for b in O.bodies: if isinstance(b.shape,Sphere): b.state.blockedDOFs='xyzXYZ' b.state.vel=(0,0,0) b.state.angVel=(0,0,0) O.bodies.append(utils.sphere((random.uniform(0,0.04),random.uniform(0,0.04),2*height+0.005),radiusfine,highlight=True,material='spheres',color=(1,0,0))) sp.fromSimulation() O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()],allowBiggerThanPeriod=True), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_ViscElMat_ViscElMat_ViscElPhys()], [Law2_ScGeom_ViscElPhys_Basic()] ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8,defaultDt=0.8*PWaveTimeStep(),viscEl=True), PeriodicFlowEngine(dead=1,label='flow'), NewtonIntegrator(damping=0,gravity=(0,0,0),label='newton') #PyRunner(command='checkPositions()',realPeriod=10), ] flow.dead=0 flow.defTolerance=0.3 flow.meshUpdateInterval=200 flow.useSolver=3 flow.permeabilityFactor=1 flow.viscosity=1 flow.wallIds=[-1,-1,-1,-1,1,0] flow.bndCondIsPressure=[0,0,0,0,1,0] flow.bndCondValue=[0,0,0,0,-50000,0] flow.boundaryUseMaxMin=[0,0,0,0,1,1] #flow.gradP=(0,0,-50000) O.run() qt.View() -- You received this question notification because your team yade-users is an answer contact for Yade. _______________________________________________ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp