Boxfactory filling a cylinder

Asked by Mithushan Soundaranathan

Hi,

How can I fill a cylinder with spheres particle with flow rate of 0.05 kg/s. I was looking into using boxfactory, but is not sure on how do it. Because my particles are flying into the air, when they filled.

Here is my code:
from __future__ import print_function
from yade import utils, plot, timing
from yade import pack
import pandas as pd
import numpy as np
from PIL import Image
from yade import pack, export
from scipy.interpolate import interp1d

o = Omega()

# Physical parameters
fr = 0.41
rho = 1561
Diameter = 7.9e-5
D=Diameter
r1 = Diameter/2
#r2 = Diameter/2
k1 = 1000
kp = 10.0*k1
kc = k1 * 0.1
ks = k1 * 0.1
DeltaPMax = Diameter/3.0
Chi1 = 0.34

o.dt = 1.0e-8
particleMass = 4.0/3.0*math.pi*r1*r1*r1*rho
m_tot=0.0005
no_p=m_tot/particleMass

Vi1 = math.sqrt(k1/particleMass)*DeltaPMax*Chi1
PhiF1=0.999
#PhiF1 = DeltaPMax*(kp-k1)*(r1+r2)/(kp*2*r1*r2)

Tab_rad=0.001
Cyl_height=0.0025
cross_area=math.pi*(Tab_rad**2)

Comp_press= 1.4e8
Comp_force=Comp_press*cross_area

n_iter=1
compression_data_save=[]

#*************************************

# Add material
mat1 = O.materials.append(LudingMat(frictionAngle=fr, density=rho, k1=k1, kp=kp, ks=ks, kc=kc, PhiF=PhiF1, G0 = 0.0))

# Spheres for compression and walls
walls=O.bodies.append(yade.geom.facetCylinder((0,0,0),radius=Tab_rad,height=Cyl_height,segmentsNumber=20,wallMask=6,material=mat1))

o.engines = [
  ForceResetter(),
  InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.05),
                         Bo1_Wall_Aabb(),
                         Bo1_Facet_Aabb()
                         ]),
  InteractionLoop(
    [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=1.05),
     Ig2_Facet_Sphere_ScGeom(),
     Ig2_Wall_Sphere_ScGeom()],
    [Ip2_LudingMat_LudingMat_LudingPhys()],
    [Law2_ScGeom_LudingPhys_Basic()]
  ),
  NewtonIntegrator(damping=0.1, gravity=[0, 0, -9.81]),
  BoxFactory(maxParticles=3000,extents=(8e-4,8e-4,8e-4),center=(0,0,0),rMin=Diameter,rMax=Diameter,vMin=100,vMax=100,vAngle=0,massFlowRate=100./50,normal=(0,0,0),label='factory',
             normalVel=(0,0,-1),materialId=mat1)
  #DeformControl(label="DefControl")
]

Best regards,
Mithu

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jan Stránský (honzik) said :
#1

Hello,

> but is not sure on how do it

please be more specific what is not sure

> If any had any example

e.g. examples/spheresFactory.py [1]

Cheers
Jan

[1] https://gitlab.com/yade-dev/trunk/-/blob/master/examples/spheresFactory.py#L33

Revision history for this message
Jan Stránský (honzik) said :
#2

> my particles are flying into the air

this is the primary function of BoxFactory

Revision history for this message
Jan Stránský (honzik) said :
#3

> How can I fill a cylinder with spheres particle with flow rate of 0.05 kg/s.

Maybe try to describe more what you are looking for. And differences between your code and he desired behavior.
E.g. what is "fill ... with flow rate"?

Thanks
Jan

Can you help with this problem?

Provide an answer of your own, or ask Mithushan Soundaranathan for more information if necessary.

To post a message you must log in.