grinding/rolling process- simulation of particle breakage -Vertical Roller Mills

Submitted by Manikanta Chandolu on Thu, 05/04/2023 - 11:03

Hello every body,

I'm new to this DEM field & I'm self learning . I want to simulate particle breakage ( mechanical comminution )- grinding/rolling process in Vertical Roller Mills...So i want to know whether it is possible to simulate this grinding process by applying dynamic motion to imported geometry so that breakage of particle happens..

Thank you

Daniel Queteschiner | Fri, 05/05/2023 - 10:50

That should be possible. For the mesh motion, I suppose that you just need the superposition of two rotational movements. For the particle breakage, you could either go with a bonded particle model (BPM), or a particle replacement model (PRM). Both models are available in our version of LIGGGHTS:
https://github.com/ParticulateFlow/LIGGGHTS-PFM
BPM breakage example:
https://github.com/ParticulateFlow/LIGGGHTS-PFM/tree/master/examples/LIG...
PRM breakage example:
https://github.com/ParticulateFlow/LIGGGHTS-PFM/tree/master/examples/LIG...

Jacob.Z | Mon, 05/08/2023 - 08:39

Hi Daniel,

I'm excited to see that the CFDEMcoupling-PFM and LIGGGHTS-PFM repositories are being actively updated. The addition of new solvers and features in the PFM version is truly impressive. However, I'm having trouble finding documentation for these two repositories.

Could you please guide me to any available documentation or resources that can help me better understand the updates and how to utilize the new features?

Best regards,
Jacob

Daniel Queteschiner | Mon, 05/08/2023 - 09:15

Hi Jacob,

we provide a precompiled html version of the documentation with every release. You can find it as an asset at the release section of the respective repository:
https://github.com/ParticulateFlow/LIGGGHTS-PFM/releases
https://github.com/ParticulateFlow/CFDEMcoupling-PFM/releases
For the current release that would be:
https://github.com/ParticulateFlow/LIGGGHTS-PFM/releases/download/23.02/...
https://github.com/ParticulateFlow/CFDEMcoupling-PFM/releases/download/2...

Cheers, Daniel

Jacob.Z | Tue, 05/09/2023 - 03:11

Hi Daniel,

Thank you for providing the links to the precompiled HTML documentations. This is really helpful.

Have a great day!

Best regards,
Jacob

elhajjch | Thu, 03/21/2024 - 11:03

Hello all,

i am a new LIGGGHTS-PFM user and i am simulating particle breakage and fragmentation. I am using the examples published on GITHUB but i have trouble understanding how to calculate the tn_family or where to look for their graph in order to understand more the size distribution after fragmentation.
Could you please help me better understand this part of the code?

Best regards

Tannaz | Wed, 03/27/2024 - 03:36

Hi Daniel,
I am just started using LIGGGHTS-PFM and trying to simulate a rock under point load, similar to what is described in the LIGGGHTS-WITH-BONDS documentation in.bond. My model consists of different clusters, and I intend to start with two types of atoms (type 1 and type 2) that are randomly distributed within the model. Additionally, I want to define three types of bonds: bond1 between atom type 1 and atom type 1, bond2 between atom type 2 and atom type 2, and bond3 between atom type 1 and atom type 2. I have a couple of questions:

Is it possible to define two types of atoms that are randomly distributed in a model and then assign different properties to each of them using LIGGGHTS-PFM?
My second question is whether there are any examples available where different types of bond properties are assigned to the model with different types of atoms randomly distributed in the model?
Additionally, here is the initial version of my code, which gets error

#Cluster

# Initialization and definitions
atom_style hybrid granular bond/gran n_bondtypes 3 bonds_per_atom 6

atom_modify map array
boundary f f f
newton off

communicate single vel yes

units si

region domain block -1 1 -1 1 -1 1 units box

create_box 2 domain

neighbor 0.002 bin
neigh_modify delay 0

# material properties required for granular pair styles

fix Y1 all property/global youngsModulus peratomtype 5.e6 5.e6
fix Nu all property/global poissonsRatio peratomtype 0.45 0.45
fix CoR all property/global coefficientRestitution peratomtypepair 2 0.5 0.5 0.5 0.5
fix CoF all property/global coefficientFriction peratomtypepair 2 0.3 0.3 0.3 0.3

# pair style
pair_style gran model hertz tangential history #set the interaction model between #particles, to a #granular hertizian and tangential forces and also a history backup.

pair_coeff * * #based on the materials properties described before it automatically find

# box walls

fix walls1 all wall/gran model hertz tangential history primitive type 1 zplane -1
fix walls2 all wall/gran model hertz tangential history primitive type 1 zplane 1
fix walls3 all wall/gran model hertz tangential history primitive type 1 xplane -1
fix walls4 all wall/gran model hertz tangential history primitive type 1 xplane 1
fix walls5 all wall/gran model hertz tangential history primitive type 1 yplane -1
fix walls6 all wall/gran model hertz tangential history primitive type 1 yplane 1

# define bond style and properties for each atom type

bond_style gran

variable simplebreak equal 0
variable stressbreak equal 1

# for stressbreak
# FLEXIBLE_BONDS (cf. bond_gran.cpp)
# N ro ri lb Sn_bond St_bond s_bend s_tor damp bn bt TYPE_OF_BOND sigma_break tau_break
bond_coeff 1 0.25 0.0 1.0 2.5e7 2.5e7 2.5e7 2.5e7 0.0 0.001 0.0 ${stressbreak} 3e6 3e6
bond_coeff 2 0.25 0.0 1.0 5e7 5e7 5e7 5e7 0.0 0.001 0.0 ${stressbreak} 3e6 3e6
bond_coeff 3 0.25 0.0 1.0 5e6 5e6 5e6 5e6 0.0 0.001 0.0 ${stressbreak} 3e6 3e6

# create particles IN A DEFINED REGION to collide against a wall
region bc mesh/tet file meshes/sphere_fine.vtk scale 0.05 move 0. 0. 0. rotate 0. 0. 0. units box
lattice sc 0.005
create_atoms 2 region bc

group bonded region bc
set group all vz 0 vx 0

mass 1 1.0 #dummy
mass 2 1.0 #dummy

# Particle distribution for insertion

fix pts1 all particletemplate/sphere 123457 atom_type 1 density constant 2500 radius constant 0.0025

fix pts2 all particletemplate/sphere 15485863 atom_type 2 density constant 2500 radius constant 0.0025

fix pdd1 all particledistribution/discrete 17903 2 pts1 0.6 pts2 0.4

#bond creation fixes with unique IDs

fix bondcr all bond/create/gran 10 1 1 0.0051 1 6
fix bondcr all bond/create/gran 10 2 2 0.0051 2 6
fix bondcr all bond/create/gran 10 1 2 0.0051 3 6

timestep 0.00001

fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

fix top all mesh/surface file meshes/top.stl type 1
fix bottom all mesh/surface file meshes/bottom.stl type 1
fix walls all wall/gran model hertz tangential history mesh n_meshes 2 meshes top bottom

# apply nve integration

fix integr all nve/sphere

# output settings

compute rke all erotate/sphere
variable etotal equal ke+c_rke

thermo_style custom step atoms numbond
`
thermo 1000 #for every 1000 steps produce the output
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes

dump dmp all custom 100 post/dump*.liggghts id type x y z vx vy vz fx fy fz omegax omegay omegaz radius
dump dumpstl all mesh/stl 100 post/dump*.stl
compute b1 all property/local batom1x batom1y batom1z batom2x batom2y batom2z batom1 batom2 btype
dump bnd all local 100 post/bonds*.bond c_b1[1] c_b1[2] c_b1[3] c_b1[4] c_b1[5] c_b1[6] c_b1[7] c_b1[8] c_b1[9]

# insert particles

run 10
fix_modify bondcr every 0

run 50000 upto

Thanks
Tannaz

elhajjch | Wed, 04/17/2024 - 11:18

Hello all,
while simulating particle breakage, i have been using the codes provided above. But i have trouble understanding what the impact energy is and how is it interpreted. I saw the formula P=1-exp(-fmat d (Ei-E0)), but how to calculate Ei and should it stay constant even if we change parameters like fmat and E0? Can anyone provide a formula for Ei or tell me how to understand it?

I appreciate your help!
Thank you

walo47 | Fri, 04/26/2024 - 04:46

https://www.amazingbloger.com

She had been shopping with her Mom in Wal-Mart. She must have been 6 years old, this beautiful brown haired, freckle-faced image of innocence. It was pouring outside. The kind of rain that gushes over the top of rain gutters, so much in a hurry to hit the Earth, it has no time to flow down the spout.