Commit d0826f28 authored by Dan S. Bolintineanu's avatar Dan S. Bolintineanu
Browse files

Added granular example input scripts

parent d33a3080
Loading
Loading
Loading
Loading
+98 −0
Original line number Diff line number Diff line
# 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
 No newline at end of file
+67 −0
Original line number Diff line number Diff line
# 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