setting up a granular bed

Submitted by jgoldsmith on Wed, 11/14/2012 - 18:01

Hello cfdem community,

I am currently trying to setup a granular simulation which drags a cylindrical intruder through a bed of granular material. ideally the granular material would be setup to act like glass. i can get the simulation to run on a large scale (5cm beads) but when i set the granular material size to 5mm and scale the bed size down appropriately the granular material will never settle in the bed it will simply bounce around forever.

my input script is as follows:

# Moving cylinder mesh example

atom_style granular
atom_modify sort binsize 0.0025
boundary f f f
newton off

communicate single vel yes
units si

#region reg block xlo xhi ylo yhi zlo zhi units box
region reg block -1 1 -.8 .5 0 .5 units box
create_box 1 reg
neighbor .005 bin
neigh_modify delay 0 check yes

#Material properties required for new pair styles

fix m1 all property/global youngsModulus peratomtype 5.e8
fix m2 all property/global poissonsRatio peratomtype 0.22
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.95
fix m4 all property/global coefficientFriction peratomtypepair 1 0.9
fix m5 all property/global characteristicVelocity scalar 1.

#New pair style
pair_style gran/hooke/history 1 0 #Hooke without cohesion
pair_coeff * *

timestep 0.00005

fix 1 all nve/sphere
fix 2 all gravity 9.81 vector 0.0 0.0 -1.0

#box walls
fix boxwalls_x all wall/gran/hooke 1 0 xplane -1 1 1
fix boxwalls_y all wall/gran/hooke 1 0 yplane -.8 .5 1
fix boxwalls_z all wall/gran/hooke 1 0 zplane 0 .5 1

#import mesh from cad:
fix cad1 all mesh/gran/stressanalysis intruder.stl 1 .05 -10.0 10 0 90 0 0

#particle insertion
group nve_group region reg
fix 3 all pour 5000 1 1 region reg diam uniform 0.005 0.005 dens uniform 2500 2500 vol 0.6 20

#fix pts1 nve_group particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.005
#fix pdd1 nve_group particledistribution/discrete 6778 1 pts1 1.0
#fix ins all pour/dev/packing 1 distributiontemplate pdd1 vol 0.6 30 region bc

#thermo settings
compute 1 all erotate/sphere
thermo_style custom step atoms ke c_1 vol
thermo 1000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes

compute 5 all pair/gran/local force

#insert the first particles so that dump is not empty
run 1

#make a dump of particles and the stl file
dump dmp all custom 200 post/dump.movingMesh id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
dump dumpstl all mesh/gran/VTK 200 post/dump*.vtk stress components

#run with particle insertion
run 10000 upto
unfix 3

#run to let particle settle
run 20000 upto

#use the imported mesh as granular wall
fix insert_wall all wall/gran/hooke 1 0 mesh/gran 1 cad1
run 20000 upto

#moving mesh down
fix movecad1 all move/mesh/gran linear 0 0 -.5 cad1 1
run 15000

#move intruder forward
unfix movecad1
run 8000
fix movecad2 all move/mesh/gran linear .01 0 0 cad1 1
run 200000
unfix movecad2
run 8000

any help would be appreciated

tapsab | Thu, 11/15/2012 - 01:40

You can try adding some viscous damping to see if that helps. Look up "fix viscous" in the manual. Also you restitution coefficient of 0.95 seems quite high. You might want to play around with it to see if you can use a lower value.

ckloss's picture

ckloss | Thu, 11/15/2012 - 17:32

>> i can get the simulation to run on a large scale (5cm beads) but when i set the granular material size to 5mm
>>and scale the bed size down appropriately the granular material will never settle in the bed it will simply bounce around forever.
be sure to check your time-step with fix check timestep/gran - smaller particles require smaller step size

Christoph

cstoltz | Thu, 11/15/2012 - 18:53

I would also recommend upgrading to version 2.2. From your input deck, it looks like you're still running a 1.x version.

Chris