Cubes moving through the wall with body/rounded/polyhedron

Hi @akohlmey @ndtrung,

I am trying to simulate a simple case of cubes falling on wall and have tried three different types of walls with wall/reflect, wall/body/ployhedron and having elemnts placed on the low side of the z-direction and freeze them. Unfortunately the first case fails due to simulation unstable error no mater how small the time step is and the other two cases the set of 27 cubes pass through the wall. please find my code the following and some snapshots to clear the problem. A similar bug was reported in this thread.

the two case with wall reflect and wall body/plyhedron

The case with element as a wall

Please also find both files attached.

mainCubeAndWall.data (119.2 KB)
mainCubes.data (7.6 KB)

The code for all the cases:

# Initializing
units si
dimension 3
newton on # Turning on the third law (No effect on results but calculatioin might be faster)
boundary p p f

# Variables
variable cut_inner equal 0.0
variable k_n equal 100
variable k_na equal 0.0
variable c_n equal 1.0
variable c_t equal 1.0
variable mu equal 1.0
variable A_ua equal 1.0

# Loading the data and defining element groups
atom_style body rounded/polyhedron 1 20
read_data mainCubes.data group cubes
# group wallbottom type 2

# Pair Interactions
pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner}
pair_coeff * * ${k_n} ${k_na}

comm_modify vel yes

# neighbor setting
neighbor 0.5 bin
neigh_modify every 1 delay 0 check yes
## for the case with elements placed at the bottom of the simulation box
# neigh_modify exclude type 2 2

# run constants
timestep 0.0001

# fixes
fix GRAVITY cubes gravity 9.8 vector 0 0 -1
fix NVE cubes nve/body
# fix wall all wall/reflect zlo -16 
fix wall cubes wall/body/polyhedron ${k_n} ${c_n} ${c_t} zplane -16 NULL
# fix FREEZE wallbottom freeze

# Output
thermo_style custom step temp pe ke press vol #lx ly lz xy xz yz
thermo 100
dump outputDump all custom 1000 results/dump.* id type x y z vx vy vz

# Run
run 15000

@akohlmey and @ndtrung I tried rotating the element and change the type of interaction from a full face to line interaction of the edge of element and the wall and that did not solve the problem. I would appreciate your comments on the problem.

Regards,
Amir

@Amir_Behbahanian2 let me take a closer look at the issue. Thanks for sharing the input deck.

@ndtrung Thanks!

@Amir_Behbahanian2 a couple of comments:

  1. your cubes rounded diameter are too small (0.01) relative to the cube edge length (>10). The small value of the rounded diameter requires an even tiny integration timestep, otherwise the contact detection algorithm in the current rounded/polyhedron pair style would miss the contacts between the cubes.

  2. The k_n value of the wall/rounded/polygon seems to be too soft to prevent the cubes from falling through under the application of fix gravity. You may want to increase k_n to higher values.

  3. The k_n value of the pair style may need to be higher to model the stiffness of the materials you are trying to simulate. The mass and principal moment of the cubes also need to be consistent with the cube dimensions.

In my opinion, it’s a matter of setting up your model parameters and time step to represent the physical system (cubes and wall).

1 Like