# Lammps granular

Dear lammps developers.

I am using lammps to make particle discrete elements and the purpose I want to achieve is the agglomeration of granular powders and the breaking up of agglomerates using ultrasonic waves.
In lammps I placed a cylinder at the bottom and the particles fell from above, but I found that the particles did not pile up on the cylinder as expected, but went straight through it.
（particle-particle and particle-wall contact modell are both jkr modell）
Following your last reply I have reduced the gravity and reduced the velocity of the particles and adjusted the time step to the minimum Rayleigh time step.
For lammps I think I must have missed some important steps and still haven’t found a relevant solution. If you have time,could you give me some valuable advice

sincerely，
cute

code is attached below

variable name string pour_into_box

atom_style sphere
units si

###############################################

# Geometry-related parameters

###############################################
variable boxx equal 1000e-6
variable boxy equal 1000e-6
variable boxz equal 1300e-6

###############################################

# Particle-related parameters

###############################################
variable rlo equal 7e-6
variable rhi equal 9e-6
variable dlo equal 2.0*{rlo} variable dhi equal 2.0*{rhi}

variable dens equal 944.3038

variable skin equal 0.3*\${rhi}

region boxreg block 0 {boxx} 0 {boxy} 0 \${boxz}
create_box 1 boxreg
change_box all boundary p p f

################################
#particle contact modell
################################

pair_style granular
pair_coeff 1 1 jkr 2.5e7 0.35 0.25 0.003 tangential mindlin 8e6 1.0 0.695 rolling sds 200 100 0.13 twisting marshall

comm_modify vel yes
region insreg1 cylinder z 500e-6 500e-6 100e-6 400e-6 900e-6
region cyl cylinder z 500e-6 500e-6 250e-6 0 50e-6 side out

fix 1 all nve/sphere
fix grav all gravity 1.0 vector 0 0 -1
fix ins1 all pour 8000 1 2555 region insreg1 vel 0 0 0 0 -0.0001 diam range {dlo} {dhi} dens {dens} {dens}

neighbor \${skin} bin
neigh_modify delay 0 every 1 check yes

#################################
#particle- wall contact modell
#################################

fix 2 all wall/gran/region granular jkr 1.8e11 0.35 0.3 0.0395 tangential mindlin 2000 1.0 0.6 rolling sds 500.0 200.0 0.405 twisting marshall region cyl

thermo_style custom step atoms ke
thermo_modify lost warn
thermo 100

compute 1 all ke
compute 2 all erotate/sphere

timestep 5.82e-8

dump 1 all custom 100 \${name}.dump id type radius mass x y z

run 3000000

Hello, are you trying to pour particles into an open cylinder as in this demo https://www.lammps.org/movies/mp4/gran_mixer.mp4? Or are you trying to pour particles on top of a closed cylindrical body? If the former, you should look at the granregion mixer example. The cylindrical region needs to face inwards (side in) and extend vertically above where particles are poured.

As an aside, you likely have issues with your choice of numerical parameters. I’d recommend exploring the literature or a textbook to learn more about DEM simulations and numerical integration in general to avoid these kinds of issues. For instance, why is your wall’s elastic modulus four orders of magnitude greater than that of your pair interactions? 1.8e11 vs 2.5e7 is a pretty significant range of stiffnesses that might also contribute to any instabilities you see. Your simulation might be better behaved if you set the wall stiffness to 2.5e7 (not implying anything about the quality of the resulting data).

Hope this helps.

Dear lammps developers.

I wanted the particles to fall on the cylinder and pile up, as shown in the picture.
For the choice of parameters, the material of the wall is stainless steel, which has a Young’s modulus of 1.8e11, and the material of the particle is milk powder, which has a Young’s modulus of 2.5e8.
I read in the literature about the JKR model that researchers simulate dye particles and in the literature they use a Young’s modulus of 1.82e11 for the walls and 3e8 for the dye particles.

I would like to calibrate the parameters and measure the angle of repose. But the particles don’t even pile up together. I am very puzzled by this and am still looking for the key to the problem.

sincerely
Cute

Ah, got it. The issues you are seeing are then just related to your choice of parameters. By tuning your wall parameters, I ran your input script and saw particles pile up on the cylinder as you intended.

With your current setup, as particles fall they move into your wall and overlap. This overlap is determined by your timestep. The wall is then very stiff so particles feel an immense force and fly away.

This issue does not have to do with LAMMPS and would probably be seen in any DEM software. You’ll have to decide whether to reduce the velocity of particles, decrease the timestep, or drop the stiffness of 1e11 (do you expect results would really differ if you assumed a smaller stiffness for the steel cylinder?). To make such decisions, I recommend looking into general resources on DEM simulations or finding a colleague to discuss the problem with. Your wall also has a tangential stiffness 8 orders of magnitude smaller than the normal stiffness so I also recommend rethinking the other components of the contact model.

Dear lammps developers

you are right, I have recalculated the tangential stiffness coefficient of the wall and corrected it according to the formula in the literature.
As there is no one around me who knows about lammps and discrete elements, I used another DEM software to compare. Attempting to correct my parameters. What confused me was that in the EDEM software I used the same contact model, Young’s modulus, Poisson’s ratio, friction coefficient, surface energy and parameters related to the particle model and used the same time step. The particles didn’t pass through the wall but pile up on the cylinder.
Back to lammps, according to your reply, when the wall parameters changed, the particles stacked up successfully, I tried reducing the Young’s modulus of the wall (and reducing the tangential stiffness coefficient at the same time), reducing the velocity of the particles falling and reducing the time step , changing the damping factor. But the results still did not change. Particles passed it though. Have I misunderstood your answer?
When I didn‘t use the JKR model as a contact model between the particles and the wall, but use Hertz/Material (here I have not changed my time step), the particles didn’t pass through the wall. And the particles are stacked，when the stiffness of the wall is reduced.

#######code of changing contact Modell#######
fix 2 all wall/gran/region granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0 0.5 region cyl
##########

As I know, the JKR model is based on Hertz -Mindlin theory, but I still haven’t found the reason for this result. Can I ask if you have changed the model or only changed the parameters related to JKR?
I’d be very thankful for any advice.

Sincerely,
Cute

Do you see particles passing through the cylinder or passing through some other boundary? You have no wall along the floor so particles can fall off the side of the cylinder and fall out of the box (or potentially bounce out of the top of the box). Is this what you are referring to? I cannot reproduce particles falling through the cylinder, and by simply reducing the wall stiffness to 1.8e7 I see particles accumulate on the cylinder.

Dear Lammps Developers,

thanks for your advice. I updated the version and it stacked up.

Sincerely,
Cute

You’re welcome, glad I could help.