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