How to exclude interaction of stl mesh wall with selected particles ???

Submitted by Zheng Hu on Wed, 11/01/2017 - 21:43

Dear all,

I am facing a strange problem (at least for me) about particles go through the stl-mesh walls. In my case, I want the small particles (atom type 1) to go through the walls while the big particles (atom type 2) remained inside of the walls. Therefore, I set two groups for these two particles and then use "fix wall/gran" to set the interaction between the big particles and the walls. I didn't set any interaction between small particles and walls, thus the small particles should go through the walls directly. However the results show that both the big and small particles are prevented by the walls, as shown in the attached figure. I have struggled with this problem several days but have no solutions. Could someone help me with this problems? How to make the small particles go through the walls while the big particles remain inside of the walls? Many thanks.

I used these commands but failed to reach my goal, as below. I also attached a simple case regarding my problem so that anyone interested in this post can have a try. Many thanks.

#groups of atoms: big and small particles
group bparticle type 2
group sparticle type 1

#distributions for insertion
fix pts1 all particletemplate/sphere 15485863 atom_type 1 density constant 2000 radius constant 0.001
fix pts2 all particletemplate/sphere 15485867 atom_type 2 density constant 2000 radius constant 0.002
fix pdd1 all particledistribution/discrete 32452843 2 pts1 0.2 pts2 0.8

fix wall bparticle wall/gran model hertz tangential history mesh n_meshes 2 meshes topwall bottomwall

Regards,
Zheng

AttachmentSize
Image icon why.jpg84 KB
Binary Data case_study.tar_.gz7.16 MB

paul | Sat, 11/04/2017 - 14:11

Hi,

I had a look at your case. You have two problems:
1. The groups are created before any particles are present in the system. Groups in LIGGGHTS are, without any of the tricks outlined in the documentation, not dynamically updated.
I'd move those assignments behind run 1.
2. Mesh walls do not check for group flags AFAIK. Try to use primitive walls like a zplane, these definitely work.

Since you probably still want to have stresses and such to dump out, I'd suggest turning of pair interaction between the small particle type and the wall by means of pair style hybrid and appropriate pair_coeffs, as documented here:
https://www.cfdem.com/media/DEM/docu/pair_hybrid.html

Greetings,
Paul

Zheng Hu | Sun, 11/05/2017 - 22:59

Dear Paul,

Thanks for your advice and they do work well for my simulations! For the next step, I'd like to couple CFD and DEM. In the official tutorial example, I saw that all of them are indeed coupling about air or gas, while I want to investigate the interaction between particles and water and I am not sure which solve I should use for such water-solid simulations, do you have any suggestions? It would be great helpful if you could email Zheng.Hu@Colorado.EDU for any potential examples or suggestion about this. Thanks for any insight you can provide!

Best regards,
Zheng

zpy2021 | Tue, 01/05/2021 - 13:49

Hi Paul
I see you suggest that pair style hybrid and appropriate pair_coeffs could be used to exclude the particle and mesh wall interaction, I have tried but failed, but it is woking in particles, futhermore, it is discribed in documentation that there is 3 options to exclude the interactions between a particular pair of atom types, they are 1.assign the type pair to some sub-style and use the neigh_modify exclude type command; 2.assign it to some sub-style and set the coefficients so that there is effectively no interaction;3.for hybrid and hybrid/overlay simulations, use pair_coeff 2 3 none; But I found none of the 3 options can be used in particles-wall interaction.
Could you please give me an example to achieve this, now in my input script, there are two group of particles, the partial script is as followed:

group coarse type 2
group fines type 1

fix m1 all property/global youngsModulus peratomtype 7e9 7e9 7e9
fix m2 all property/global poissonsRatio peratomtype 0.3 0.3 0.3
fix m3 all property/global coefficientRestitution peratomtypepair 3 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
fix m4 all property/global coefficientFriction peratomtypepair 3 0.1 0.1 0.0 0.1 0.1 0.0 0.0 0.0 0.0

pair_style gran model hertz tangential history #rolling_friction cdt # Hertzian without cohesion
pair_coeff * *

fix servo1 all mesh/surface/stress/servo file meshes12/x_neg.stl type 3 com ${x1} 0. 0. ctrlPV force axis 1. 0. 0. target_val ${xmtarget_stress} vel_max 1 ratio 0.001 mode auto
fix servo2 all mesh/surface/stress/servo file meshes12/x_pos.stl type 3 com ${x2} 0. 0. ctrlPV force axis 1. 0. 0. target_val ${xtarget_stress} vel_max 1 ratio 0.001 mode auto
fix servo3 all mesh/surface/stress/servo file meshes12/y_neg.stl type 3 com 0. ${y1} 0. ctrlPV force axis 0. 1. 0. target_val ${ymtarget_stress} vel_max 1 ratio 0.001 mode auto
fix servo4 all mesh/surface/stress/servo file meshes12/y_pos.stl type 3 com 0. ${y2} 0. ctrlPV force axis 0. 1. 0. target_val ${ytarget_stress} vel_max 1 ratio 0.001 mode auto
fix servo5 all mesh/surface/stress/servo file meshes12/z_neg.stl type 3 com 0. 0. ${z1} ctrlPV force axis 0. 0. 1. target_val ${zmtarget_stress} vel_max 1 ratio 0.001 mode auto
fix servowall all wall/gran model hertz tangential history mesh n_meshes 5 meshes servo1 servo2 servo3 servo4 servo5

fix permeable_wall coarse wall/gran model hertz tangential history primitive type 3 zplane ${z2}

there is 6 walls in total, I want that there is no interaction between permeable_wall and fine particles, how should I do?
Thanks!
Zhang Peiyun