Wall made of particles is not fix freezing

Submitted by SnapDragon on Fri, 10/21/2022 - 10:24

Hello,

I have a planar x - wall which I want to represent with spherical particles. I wrote the following lines:

variable d equals 0.01 # Particle diameter is 0.01
region id xwall1 style block low (-0.005, 0, 0) high (0.005, 1, 1) # Created a thin region (thickness = d), so only one layer of particles could be filled.
lattice sc $d # Defined a lattice
create_particles template pt1 mode on_lattice xwall1 # Filled the region with particles
group xwall1 region xwall1 # Grouped particles in the region
fix x_fix xwall1 freeze # And froze them
enable_gravity direction ( 0, -1, 0 ) magnitude 9.81 # gravity

However, the wall made of particles falls due to gravity, I expected the fix freeze command to freeze particles in place and act as a wall even under gravity. I need gravity for other particles. How can I create a wall made of particles that is not affected by gravity or by other particles interaction (i.e when other particles hit the particles in the wall, the wall particles stay frozen, but the hitting particles bounce).

To represent box walls with particles, do I have to create a region for each wall and fill it with particles? or there is an easier way?

mschramm | Fri, 10/21/2022 - 15:57

Hello,
Fixes are placed inside of a list and each run step this list is iterated through.
So the fix freeze happens and all of the particles' forces and torques are zeroed out.
Then the gravity forces is added to each particle from the fix gravity.

Fix Freeze should be the last fix you use that adds forces to a particle.

SnapDragon | Fri, 10/21/2022 - 16:14

Thank you for your reply. There is no workaround for this problem then? Let's consider a small example. I want to create a wall made of particles and a separate particle that falls on the wall made of particles and bounces. I create that wall of particles, fix freeze them, introduce the separate particle and apply gravity to make it fall. Whatever the case, gravity is the last statement (I cannot make the particle fall and then create the wall and fix freeze it or can I ? ).

mschramm | Fri, 10/21/2022 - 22:55

You are already only applying the freeze command to the wall particles, so you just need to swap from

group xwall1 region xwall1 # Grouped particles in the region
fix x_fix xwall1 freeze # And froze them
fix gravi all gravity 9.81 vector 0 -1 0

to

fix gravi all gravity 9.81 vector 0 -1 0
group xwall1 region xwall1 # Grouped particles in the region
fix x_fix xwall1 freeze # And froze them

SnapDragon | Sat, 10/22/2022 - 11:08

Now, I get the idea. Thank you