Particles disappear or go through wall

Submitted by Jelle on Fri, 06/26/2015 - 15:16

Hello,

I'm trying to fill a cylinder with cohesive particles, using Hertz and a certain particle size distribution. However, the particles bounce around and/or then just seem to dissapear. I'm not sure whether they go through the wall or if they bounce out of the domain. Initially, I had no problems, but now I do. Changes I've made include switching from Hooke to Hertz, switching from legacy/pour to insert/stream (to allow a PSD), and adding cohesion, but I'm not sure what causes the problem.

Any help would be appreciated. I've added my code below.

Best regards,
Jelle

############# Basic Settings ###################
variable diam equal 0.005 # original particle diameter
variable radius equal ${diam}/2 # original particle radius
variable stdev equal 0.00000001 # standard deviation (must be > radius/3)
variable dens equal 1000 # original solids material density
variable nPart equal 40000 # original number of particles
############ Time And Output Settings ###########
variable DT equal 0.0000001 # timestep
variable runTime equal 1/${DT} # run time is 1s (zodat wall 19 cm omlaag komt)
variable settleTime equal 1/${DT} # time for particles to settle
variable printTime equal ${runTime}/100 # number of prints on the screen (100x)
variable avgEND equal 1.1*${runTime} # averaging until this timestep
variable avgDT equal 0.1*${runTime} # averaging over this many steps (until avgEND)
variable nOutput1 equal 0.02/${DT} # output after each noutput time steps: every 0.2s
variable nOutput2 equal 1.0/${DT} # output after each noutput time steps: every 1.0s
############ Interaction Parameters (Input) ###########
variable YM equal 1.0e9 # Youngs modulus.
variable Poisson equal 0.50 # Poisson ratio
variable fp equal 0.20 # friction factor particle-particle contact (=tan(angleOfRepose[degrees]).
variable fw equal 0.20 # friction factor particle-wall contact.
variable frf equal 0.00 # rolling friction factor (to improve interaction between particles and wall
variable rest equal 0.80 # restitution coefficient particle-particle contact
variable cohp equal 1.0E8 # particle-particle cohesion energy density [J/m3]
variable cohw equal 0.00 # particle-wall cohesion energy density [J/m3]
############ Interaction Parameters (Derived) ################################
variable pi equal 4*atan(1) # pi
variable beta equal ln(${rest})/sqrt(${pi}*${pi}+ln(${rest})*ln(${rest})) # term used to calculate cn
variable meff equal 0.5*${dens}*${pi}/6*${diam}*${diam}*${diam} # reduced mass (monodisperse!)
variable Reff equal 0.5*${radius} # reduced radius (monodisperse!)
variable YMeff equal 0.5*${YM}/(1-${Poisson}*${Poisson}) # reduced Young's modulus (monodisperse!)
variable Vref equal 1.0 # reference velocity (m/s)
variable kn equal 16/15*sqrt(${Reff})*${YMeff}*(15/16*${meff}*${Vref}*${Vref}/sqrt(${Reff})/${YMeff})^0.2 # normal spring stiffness
variable cn equal -2*${beta}*sqrt(${kn}*${meff}) # normal damping coefficient
variable kt equal ${kn} # tangential spring stiffness (Hooke!)
variable ct equal ${cn} # tangential damping coefficient (Hooke!)
####################################

atom_style granular
boundary f f f
newton off

communicate single vel yes
units si
timestep ${DT}
print "Time step = ${DT}"

region reg block -0.1 0.1 -0.1 0.1 -0.2 0.2 units box
create_box 2 reg # number of types

neighbor ${radius} bin
neigh_modify delay 0

fix grav all gravity 9.81 vector 0.0 0.0 -1.0
###fix ts_check all check/timestep/gran ${nOutput1} 0.1 0.05 #Required: 0.1

ckloss's picture

ckloss | Wed, 07/01/2015 - 16:49

Hi Jelle,

just a very quick scan - these could be possible sources of problems:

- boundary: your wall might be outside of the computational domain --> might want to change to "boundary m m m"
- Youngs Modulus: seems quite high, normally something >1e8 is not necessary. You can use fix check/timestep/gran to check if the time-step is ok
- I would use hertz/hooke derived from Youngs Modulus directly by LIGGGHTS, NOT specify kn/kt, because in that case fix check/timestep will NOT work
- cohesion: if the value for CED is too high, this might also cause instability

Best wishes
Christoph

Jelle | Fri, 08/21/2015 - 16:00

Dear Christoph,

Thanks for your feedback. I've solved the problem of particles 'disappearing': due to the high CED of 1e8 all particles ended up exactly on top of each other (so the cohesive force was apparently higher than the repulsive force by the spring coefficient). However, the reason for chosing such a high value is that I didn't see any influence on the angle of repose when increasing the CED from 10 to 1e6. I would've expected a significant higher angle of repose when employing the cohesion model. Do you have any idea why this is not the case?

I understand your point with respect to the Young's modulus. The reason we defined kn/kt ourselves is because they need to be adjusted when scaling from the original particle size to something the DEM model can handle (due to the large number of particles). If I let LIGGGHTS calculate the kn/kt, how is the scaling of these parameters taken into account?

Best regards,
Jelle

anandmds's picture

anandmds | Mon, 07/06/2015 - 12:17

Try adding " fix wall/gran ....primitive (or) mesh..." command at the required location to stop the atoms from leaving the simulation box

Anand.M
M.S. Mechanical Engineering,
I.I.T. Madras