forked from lijiext/lammps
Added granular example input scripts
This commit is contained in:
parent
d33a30806a
commit
d0826f2838
|
@ -0,0 +1,98 @@
|
|||
# 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_height equal 20
|
||||
|
||||
variable xc equal 0.5*${boxx}
|
||||
variable yc equal 0.5*${boxx}
|
||||
variable zc equal 0.5*${boxz}
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dhi equal 2.0*${rhi}
|
||||
|
||||
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.3*${rhi}
|
||||
|
||||
#############
|
||||
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
create_box 2 boxreg
|
||||
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 bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
|
||||
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 ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
neighbor ${skin} 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 cpu 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
|
||||
|
||||
#For removal later
|
||||
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
|
||||
|
||||
#Remove any particles that are above z > 0.5*drum_height
|
||||
delete_atoms group delgroup
|
||||
|
||||
#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
|
||||
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 30000
|
|
@ -0,0 +1,67 @@
|
|||
# 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 xc2 equal 0.7*${boxx}
|
||||
variable yc equal 0.5*${boxy}
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dhi equal 2.0*${rhi}
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.3*${rhi}
|
||||
|
||||
#############
|
||||
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
create_box 2 boxreg
|
||||
change_box all boundary p p f
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
|
||||
|
||||
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 ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
neighbor ${skin} 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 15000
|
Loading…
Reference in New Issue