Hello Steve,
This question sounds a bit silly, but I've been trying to see what's
happening a couple of days.
If I run the simulation in only one core, then everything goes Ok, but
if I run the simulation in four cores, then I get the ERROR: Too many
touching neighbors - boost MAXTOUCH.
Before I got other errors dealing with the pour fix (segmentation
faults), but I've solved them letting the particles to move from the
pouring region.
I want first to initialize the particles. I want three different
particles sizes each of them with small polydispersity:
1.8/2.0 first family; 1.0/1.3 second, and 0.5/0.9 the third.
I pour first, wait, then second ...
After I write a restart file, so then the simulation will start.
I'm going to wiggle the bottom wall.
I've been also changing the neighbor skin distance, and If the value is
very small I got a segmentation fault error. If larger then the MAXTOUCH
error appears.
I do not know if it is reasonable to change the MAXTOUCH value as
suggested in the documentation, I mean, I do not know if it will have
any side-effect.
The value in fix_shear_history.cpp is set as:
#define MAXTOUCH 15
Other point is to try to optimize the domain decomposition, as in z low
probably will have more particles. I will try to define four domains
splitting the domain vertically and along the X axis.
The lammps version is lammps-21Nov09.
The script is:
# Pour 3d granular particles into container
dimension 3
atom_style granular
boundary p p fm
newton off
region dominio block 0 100 0 20 0.0 100 units box
create_box 1 dominio
neighbor 1 bin
neigh_modify delay 0
pair_style gran/hertz/history 200000.0 NULL 1000.0 NULL 0.7813 1
pair_coeff * *
communicate single vel yes
timestep 0.00005
fix 1 all nve/sphere
fix 2 all gravity 1.0 vector 0.0 0.0 -1.0
fix zwalls all wall/gran 200000.0 NULL 1000.0 NULL 0.5 1 zplane 0 100
#fix visc all viscous 0.001
region slab block 1.0 99.0 1.0 19.0 30.0 35.0 units box
compute 1 all erotate/sphere
thermo_style custom step atoms ke c_1 vol
thermo 2000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes
fix ins1 all pour 1200 1 1 vol 0.5 50 diam 1.8 2.0 rate 1 vel
0. 0. 0. 0. -1 region slab
run 1 #if not pizza fails because there is a snap without atoms.
dump mydmp all custom 2000 dump.init id type x y z ix iy iz vx vy vz
fx fy fz omegax omegay omegaz radius
run 250000
unfix ins1
run 10000
fix ins2 all pour 5000 2 1 vol 0.5 50 diam 1.0 1.3 rate 1 vel 0. 0.
0. 0. -1 region slab
run 250000
unfix ins2
fix ins3 all pour 5000 3 1 vol 0.5 50 diam 0.5 0.9 rate 1 vel 0. 0.
0. 0. -1 region slab
run 250000
write_restart restart.inicio