Particles falling through wall

Submitted by kheikkinen on Tue, 07/19/2011 - 17:03

I am having an issue with particles falling through a wall. Particles begin in a cylinder and are poured directly downward into a block. Most of the particles are caught by the block, but on the first iteration about half of the particles fall through the block when they are first inserted. Is there a reason that these particles fall through? Would the problem have to do with the specified regions or possibly the fix wall/gran/hertz/history?

Thanks
Kirsten

ckloss's picture

ckloss | Tue, 07/19/2011 - 17:59

Hi Kirsten,

did you use a mesh or did you use x/y/z walls? In the former case, it might be related to time step size (be sure to use the fix check/timestep/gran command). Feel free to post the script here and we can have a look

Cheers,
Christoph

kheikkinen | Tue, 07/19/2011 - 18:39

x/y/z walls, Here's the script, its just a simple test case:

#Particle packing by insertion and successive growing of particles
atom_style granular
atom_modify map array
boundary m m m
newton off
#echo both
communicate single vel yes
units si

# Create total region
region total_reg block -0.1 0.1 -0.1 0.1 0. 0.5 units box

# Create simulation box
create_box 1 total_reg
neighbor 0.002 bin
neigh_modify delay 0

# Create gathering particles region (block) and insertion volume region (cylinder)
region reg block -0.1 0.1 -0.1 0.1 0. 0.3 units box
region reg_pour cylinder z 0 0 0.09 0.1 0.5 units box
# Material properties required for new pair styles
fix m1 all property/global youngsModulus peratomtype 68000
fix m2 all property/global poissonsRatio peratomtype 0.3
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.5
fix m4 all property/global coefficientFriction peratomtypepair 1 0.3
# New pair style
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
pair_coeff * *

# Define timestep
timestep 0.00001

# Create frictional walls at the block region
fix xwalls all wall/gran/hertz/history 1 0 xplane -0.1 0.1 1
fix ywalls all wall/gran/hertz/history 1 0 yplane -0.1 0.1 1
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 NULL 1
fix grvty all gravity 9.81 vector 0. 0. -1.

# Define particle size, density, and volume distribution
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.005
fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0

# Create group for insertion of particles
# group nve_group region reg_pour <-- is this needed (next 2 fixes)
fix ins all pour/dev nparticles 10000 1 distributiontemplate pdd1 vol 0.6 150 rate 0.5 vel uniform 0. 0. 0. 0. -0.5 region reg_pour

# apply nve integration to all particles that are inserted as single particles
fix integr all nve/sphere

# output settings, include total thermal energy
compute 1 all erotate/sphere
thermo_style custom step atoms vol
thermo 1000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes

#insert the first particles
dump dmp all custom 500 post/dump.test4 id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
run 1000
neigh_modify every 5 check no
#run
run 40000
# Allow particles to settle after insertion
unfix ins
run 40000

Thanks!

Kirsten

ckloss's picture

ckloss | Wed, 07/20/2011 - 16:10

Hi Kirsten,

looking at your script, I guess that the youngs modulus is causing the trouble, it is far too low.
In most tutorials, Y = 5e6 GPa and even this is pretty low. For something honest, I would recommend at least 5e7 GPa

Cheers,
Christoph

raguelmoon's picture

raguelmoon | Fri, 08/05/2011 - 02:24

Hi Christoph,
Is it 5.e6GPa or just 5.e6Pa in LIGGGHTS? It means that 5.e6GPa =5000000GPa = 5.e15Pa (G=e9)!
Thanks,
Ram

Ram