optimize granular examples and include logs

This commit is contained in:
Axel Kohlmeyer 2019-04-29 09:43:45 -04:00
parent af8a71b1ad
commit 98daf8f825
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
6 changed files with 884 additions and 17 deletions

View File

@ -2,7 +2,7 @@
# 'turn' cylinder by changing direction of gravity, then rotate it.
# This simulates a rotating drum powder characterization experiment.
variable name string rotating_drum_two_types
variable name string rotating_drum_two_types
atom_style sphere
units lj
@ -34,15 +34,14 @@ variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable dens equal 1.0
variable skin equal 0.3*${rhi}
variable skin equal 0.4*${rhi}
#############
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
comm_modify vel yes
comm_modify vel yes
variable theta equal 0
@ -51,6 +50,7 @@ region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc}
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
@ -68,20 +68,20 @@ pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
thermo_style custom step cpu atoms ke v_theta
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
group delgroup dynamic all var zmax every 10000
run 10000
run 2000
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
@ -91,8 +91,8 @@ region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
# 'Turn' drum by switching the direction of gravity
unfix grav
unfix grav
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 30000
variable theta equal 2*PI*elapsed/20000.0
run 3000

View File

@ -30,7 +30,7 @@ variable dens equal 1.0
variable skin equal 0.3*${rhi}
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
@ -62,6 +62,6 @@ thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
run 15000
run 5000

View File

@ -0,0 +1,271 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) into cylinder
# 'turn' cylinder by changing direction of gravity, then rotate it.
# This simulates a rotating drum powder characterization experiment.
variable name string rotating_drum_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 30
variable boxy equal 30
variable boxz equal 50
variable drum_rad equal ${boxx}*0.5
variable drum_rad equal 30*0.5
variable drum_height equal 20
variable xc equal 0.5*${boxx}
variable xc equal 0.5*30
variable yc equal 0.5*${boxx}
variable yc equal 0.5*30
variable zc equal 0.5*${boxz}
variable zc equal 0.5*50
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*0.5
variable dens equal 1.0
variable skin equal 0.4*${rhi}
variable skin equal 0.4*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 30 0 ${boxz}
region boxreg block 0 30 0 30 0 50
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (30 30 50)
1 by 1 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
variable theta equal 0
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 20 ${boxz}
region insreg cylinder z 15 15 14.45 20 50
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.2 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
variable zmax atom z+c_1>0.5*20
group delgroup dynamic all var zmax every 10000
dynamic group delgroup defined
run 2000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 50 50 84
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 13.02 | 13.02 | 13.02 Mbytes
Step Atoms KinEng v_theta
0 0 -0 0
100 4000 -0 0
200 4000 -0 0
300 4000 -0 0
400 4000 -0 0
500 4000 -0 0
600 4000 -0 0
700 4000 -0 0
800 4000 -0 0
900 4000 -0 0
1000 4000 -0 0
1100 4000 -0 0
1200 4000 -0 0
1300 4000 -0 0
1400 4000 -0 0
1500 4000 -0 0
1600 4000 -0 0
1700 4000 -0 0
1800 4000 -0 0
1900 4000 -0 0
2000 4000 -0 0
Loop time of 3.54461 on 1 procs for 2000 steps with 4000 atoms
Performance: 48750.057 tau/day, 564.237 timesteps/s
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.61949 | 0.61949 | 0.61949 | 0.0 | 17.48
Neigh | 1.2492 | 1.2492 | 1.2492 | 0.0 | 35.24
Comm | 0.046404 | 0.046404 | 0.046404 | 0.0 | 1.31
Output | 0.15901 | 0.15901 | 0.15901 | 0.0 | 4.49
Modify | 1.4165 | 1.4165 | 1.4165 | 0.0 | 39.96
Other | | 0.05391 | | | 1.52
Nlocal: 4000 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 166 ave 166 max 166 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8195 ave 8195 max 8195 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8195
Ave neighs/atom = 2.04875
Neighbor list builds = 1004
Dangerous builds = 3
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
Deleted 0 atoms, new total = 4000
#Add top lid
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
# 'Turn' drum by switching the direction of gravity
unfix grav
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000
Per MPI rank memory allocation (min/avg/max) = 24.81 | 24.81 | 24.81 Mbytes
Step Atoms KinEng v_theta
2000 4000 64.333531 0
2100 4000 106.69182 0.031415927
2200 4000 121.8461 0.062831853
2300 4000 88.767952 0.09424778
2400 4000 82.850721 0.12566371
2500 4000 91.683284 0.15707963
2600 4000 31.56344 0.18849556
2700 4000 4.5697672 0.21991149
2800 4000 3.9879051 0.25132741
2900 4000 4.4394235 0.28274334
3000 4000 5.1212931 0.31415927
3100 4000 5.8608892 0.34557519
3200 4000 6.600714 0.37699112
3300 4000 7.3497851 0.40840704
3400 4000 8.0490988 0.43982297
3500 4000 8.6712396 0.4712389
3600 4000 9.1328667 0.50265482
3700 4000 9.4683561 0.53407075
3800 4000 9.5878145 0.56548668
3900 4000 9.387745 0.5969026
4000 4000 8.9117631 0.62831853
4100 4000 8.2344368 0.65973446
4200 4000 7.5335088 0.69115038
4300 4000 6.8426179 0.72256631
4400 4000 6.0567247 0.75398224
4500 4000 5.4166132 0.78539816
4600 4000 4.6012409 0.81681409
4700 4000 3.8314982 0.84823002
4800 4000 3.1916415 0.87964594
4900 4000 2.7833964 0.91106187
5000 4000 2.5051362 0.9424778
Loop time of 11.9545 on 1 procs for 3000 steps with 4000 atoms
Performance: 21682.142 tau/day, 250.951 timesteps/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 4.8291 | 4.8291 | 4.8291 | 0.0 | 40.40
Neigh | 2.7489 | 2.7489 | 2.7489 | 0.0 | 22.99
Comm | 0.071249 | 0.071249 | 0.071249 | 0.0 | 0.60
Output | 0.20547 | 0.20547 | 0.20547 | 0.0 | 1.72
Modify | 4.0179 | 4.0179 | 4.0179 | 0.0 | 33.61
Other | | 0.0819 | | | 0.69
Nlocal: 4000 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 322 ave 322 max 322 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 14849 ave 14849 max 14849 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 14849
Ave neighs/atom = 3.71225
Neighbor list builds = 1290
Dangerous builds = 672
Total wall time: 0:00:15

View File

@ -0,0 +1,271 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) into cylinder
# 'turn' cylinder by changing direction of gravity, then rotate it.
# This simulates a rotating drum powder characterization experiment.
variable name string rotating_drum_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 30
variable boxy equal 30
variable boxz equal 50
variable drum_rad equal ${boxx}*0.5
variable drum_rad equal 30*0.5
variable drum_height equal 20
variable xc equal 0.5*${boxx}
variable xc equal 0.5*30
variable yc equal 0.5*${boxx}
variable yc equal 0.5*30
variable zc equal 0.5*${boxz}
variable zc equal 0.5*50
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*0.5
variable dens equal 1.0
variable skin equal 0.4*${rhi}
variable skin equal 0.4*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 30 0 ${boxz}
region boxreg block 0 30 0 30 0 50
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (30 30 50)
2 by 2 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
variable theta equal 0
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 20 ${boxz}
region insreg cylinder z 15 15 14.45 20 50
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.2 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
variable zmax atom z+c_1>0.5*20
group delgroup dynamic all var zmax every 10000
dynamic group delgroup defined
run 2000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 50 50 84
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 12.25 | 12.25 | 12.25 Mbytes
Step Atoms KinEng v_theta
0 0 -0 0
100 4000 -0 0
200 4000 -0 0
300 4000 -0 0
400 4000 -0 0
500 4000 -0 0
600 4000 -0 0
700 4000 -0 0
800 4000 -0 0
900 4000 -0 0
1000 4000 -0 0
1100 4000 -0 0
1200 4000 -0 0
1300 4000 -0 0
1400 4000 -0 0
1500 4000 -0 0
1600 4000 -0 0
1700 4000 -0 0
1800 4000 -0 0
1900 4000 -0 0
2000 4000 -0 0
Loop time of 2.0709 on 4 procs for 2000 steps with 4000 atoms
Performance: 83442.024 tau/day, 965.764 timesteps/s
97.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.24679 | 0.26336 | 0.28853 | 3.0 | 12.72
Neigh | 0.52279 | 0.5332 | 0.53858 | 0.9 | 25.75
Comm | 0.17418 | 0.20253 | 0.23266 | 4.7 | 9.78
Output | 0.092897 | 0.093531 | 0.09515 | 0.3 | 4.52
Modify | 0.88151 | 0.89571 | 0.90582 | 0.9 | 43.25
Other | | 0.08257 | | | 3.99
Nlocal: 1000 ave 1001 max 999 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 267.75 ave 276 max 262 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Neighs: 2031.5 ave 2091 max 1958 min
Histogram: 1 0 0 0 1 0 0 1 0 1
Total # of neighbors = 8126
Ave neighs/atom = 2.0315
Neighbor list builds = 1004
Dangerous builds = 3
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
Deleted 0 atoms, new total = 4000
#Add top lid
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
# 'Turn' drum by switching the direction of gravity
unfix grav
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000
Per MPI rank memory allocation (min/avg/max) = 21.6 | 22.6 | 23.82 Mbytes
Step Atoms KinEng v_theta
2000 4000 64.255821 0
2100 4000 106.47082 0.031415927
2200 4000 121.52634 0.062831853
2300 4000 87.748818 0.09424778
2400 4000 82.712784 0.12566371
2500 4000 90.618713 0.15707963
2600 4000 30.096031 0.18849556
2700 4000 4.0838611 0.21991149
2800 4000 3.7485959 0.25132741
2900 4000 4.2159774 0.28274334
3000 4000 4.8730048 0.31415927
3100 4000 5.6109465 0.34557519
3200 4000 6.4290528 0.37699112
3300 4000 7.2699677 0.40840704
3400 4000 8.0895944 0.43982297
3500 4000 8.7222781 0.4712389
3600 4000 9.133205 0.50265482
3700 4000 9.3404584 0.53407075
3800 4000 9.3359844 0.56548668
3900 4000 9.0916854 0.5969026
4000 4000 8.5596424 0.62831853
4100 4000 7.9734883 0.65973446
4200 4000 7.2154383 0.69115038
4300 4000 6.7039232 0.72256631
4400 4000 6.1542738 0.75398224
4500 4000 5.4049454 0.78539816
4600 4000 4.4603192 0.81681409
4700 4000 3.6197985 0.84823002
4800 4000 2.9895571 0.87964594
4900 4000 2.5314553 0.91106187
5000 4000 2.2645533 0.9424778
Loop time of 6.64209 on 4 procs for 3000 steps with 4000 atoms
Performance: 39023.861 tau/day, 451.665 timesteps/s
96.6% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.8376 | 2.126 | 2.3131 | 12.6 | 32.01
Neigh | 0.97762 | 1.0518 | 1.1337 | 5.4 | 15.84
Comm | 0.53699 | 0.84265 | 1.2325 | 27.6 | 12.69
Output | 0.13922 | 0.14159 | 0.14388 | 0.4 | 2.13
Modify | 1.8815 | 2.1026 | 2.3368 | 11.2 | 31.66
Other | | 0.3774 | | | 5.68
Nlocal: 1000 ave 1256 max 744 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 579.5 ave 789 max 498 min
Histogram: 2 1 0 0 0 0 0 0 0 1
Neighs: 3696.25 ave 4853 max 2590 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Total # of neighbors = 14785
Ave neighs/atom = 3.69625
Neighbor list builds = 1230
Dangerous builds = 676
Total wall time: 0:00:08

View File

@ -0,0 +1,134 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) on flat wall
variable name string pour_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 20
variable boxy equal 20
variable boxz equal 30
variable xc1 equal 0.3*${boxx}
variable xc1 equal 0.3*20
variable xc2 equal 0.7*${boxx}
variable xc2 equal 0.7*20
variable yc equal 0.5*${boxy}
variable yc equal 0.5*20
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable dens equal 1.0
variable skin equal 0.3*${rhi}
variable skin equal 0.3*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 20 0 ${boxz}
region boxreg block 0 20 0 20 0 30
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (20 20 30)
1 by 1 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 30
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 30
fix 1 all nve/sphere
fix grav all gravity 10.0 vector 0 0 -1
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.15 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step cpu atoms ke
thermo_modify lost warn
thermo 100
timestep 0.001
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
run 5000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.15
ghost atom cutoff = 1.15
binsize = 0.575, bins = 35 35 53
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 12.22 | 12.22 | 12.22 Mbytes
Step CPU Atoms KinEng
0 0 0 -0
100 3.8153191 855 -0
200 4.195287 855 -0
300 4.5890362 855 -0
400 10.636087 1500 -0
500 11.306909 1500 -0
600 11.968198 1500 -0
700 22.631892 2288 -0
800 23.711387 2288 -0
900 24.754344 2288 -0
1000 25.811778 2288 -0
1100 35.368869 2845 -0
1200 37.149843 2845 -0
1300 39.026458 2845 -0
1400 41.757583 3000 -0
1500 45.155503 3000 -0
1600 48.570241 3000 -0
1700 52.839322 3000 -0
1800 59.772697 3000 -0
1900 69.493305 3000 -0
2000 114.61886 3000 -0
2100 152.89232 3000 -0

View File

@ -0,0 +1,191 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) on flat wall
variable name string pour_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 20
variable boxy equal 20
variable boxz equal 30
variable xc1 equal 0.3*${boxx}
variable xc1 equal 0.3*20
variable xc2 equal 0.7*${boxx}
variable xc2 equal 0.7*20
variable yc equal 0.5*${boxy}
variable yc equal 0.5*20
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable dens equal 1.0
variable skin equal 0.3*${rhi}
variable skin equal 0.3*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 20 0 ${boxz}
region boxreg block 0 20 0 20 0 30
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (20 20 30)
2 by 2 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 30
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 30
fix 1 all nve/sphere
fix grav all gravity 10.0 vector 0 0 -1
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.15 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step cpu atoms ke
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 pour_two_types.dump id type radius mass x y z
run 5000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.15
ghost atom cutoff = 1.15
binsize = 0.575, bins = 35 35 53
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 11.98 | 11.98 | 11.98 Mbytes
Step CPU Atoms KinEng
0 0 0 -0
100 0.11584234 855 -0
200 0.12743592 855 -0
300 0.13925815 855 -0
400 0.35203671 1500 -0
500 0.37055922 1500 -0
600 0.38671875 1500 -0
700 0.71736908 2288 -0
800 0.74506783 2288 -0
900 0.77112222 2288 -0
1000 0.79632139 2288 -0
1100 1.0384252 2845 -0
1200 1.08093 2845 -0
1300 1.1224561 2845 -0
1400 1.1811485 3000 -0
1500 1.2414908 3000 -0
1600 1.3105879 3000 -0
1700 1.390928 3000 -0
1800 1.4869275 3000 -0
1900 1.5958266 3000 -0
2000 1.7172487 3000 -0
2100 1.851155 3000 -0
2200 1.9957182 3000 -0
2300 2.1593764 3000 -0
2400 2.3433132 3000 -0
2500 2.532742 3000 -0
2600 2.7376895 3000 -0
2700 2.9463468 3000 -0
2800 3.1645725 3000 -0
2900 3.3879526 3000 -0
3000 3.6152103 3000 -0
3100 3.8467371 3000 -0
3200 4.0787683 3000 -0
3300 4.3097105 3000 -0
3400 4.5423617 3000 -0
3500 4.7773693 3000 -0
3600 5.0127218 3000 -0
3700 5.2519271 3000 -0
3800 5.4951298 3000 -0
3900 5.7210469 3000 -0
4000 5.9432652 3000 -0
4100 6.1687591 3000 -0
4200 6.3942792 3000 -0
4300 6.6331475 3000 -0
4400 6.8632154 3000 -0
4500 7.0979366 3000 -0
4600 7.3305347 3000 -0
4700 7.5670528 3000 -0
4800 7.8086057 3000 -0
4900 8.0407174 3000 -0
5000 8.2765219 3000 -0
Loop time of 8.27669 on 4 procs for 5000 steps with 3000 atoms
Performance: 52194.788 tau/day, 604.106 timesteps/s
97.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.6106 | 3.4073 | 5.4191 | 95.7 | 41.17
Neigh | 0.51456 | 0.64572 | 0.81542 | 16.6 | 7.80
Comm | 0.2808 | 2.5222 | 4.4998 | 121.9 | 30.47
Output | 0.15695 | 0.15919 | 0.16502 | 0.8 | 1.92
Modify | 1.3517 | 1.4192 | 1.4904 | 4.9 | 17.15
Other | | 0.123 | | | 1.49
Nlocal: 750 ave 1036 max 482 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Nghost: 429.75 ave 475 max 386 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 4051.75 ave 6274 max 2057 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Total # of neighbors = 16207
Ave neighs/atom = 5.40233
Neighbor list builds = 1165
Dangerous builds = 0
Total wall time: 0:00:08