#Multisphere

atom_style	sphere
atom_modify	map array sort 0 0
boundary	m m m
newton		off

communicate	single vel yes

#PUBLIC version only supports serial execution
processors	1 1 1 

units		si

region		reg block -0.3 0.3 -0.3 0.3 0. 0.5 units box
create_box	1 reg

neighbor	0.004 bin
neigh_modify	delay 0

#Material properties required for new pair styles

fix 		m1 all property/global youngsModulus peratomtype 1.e7
fix 		m2 all property/global poissonsRatio peratomtype 0.45
fix 		m3 all property/global coefficientRestitution peratomtypepair 1 0.3
fix 		m4 all property/global coefficientFriction peratomtypepair 1 0.5
fix 		m5 all property/global characteristicVelocity scalar 2.

#New pair style
pair_style gran model hertz tangential history #Hertzian without cohesion
pair_coeff	* *

timestep	0.00001

fix		gravi all gravity 9.81 vector 0.0 0.0 -1.0

fix zwalls all wall/gran model hertz tangential history primitive type 1 zplane 0.0

#distributions for insertion
fix		pts1 all particletemplate/multisphere 1 atom_type 1 density constant 2500 nspheres 50 ntry 1000000 spheres file data/stone1.multisphere scale 0.001 type 1
fix		pdd1 all particledistribution/discrete 1.  1 pts1 1.0

#region and insertion
region		bc cylinder z 0.0 0.0 0.25 0.1 0.4 units box

fix		ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. &
		insert_every once overlapcheck yes region bc ntry_mc 10000 volumefraction_region 0.0004

#integrator for multisphere rigid bodies
fix		integr all multisphere

#output settings, include total thermal energy
compute		1 all erotate/sphere
fix		ts all check/timestep/gran 1000 0.1 0.1
thermo_style	custom step atoms ke c_1 f_ts[1] f_ts[2] vol
thermo		1000
thermo_modify	lost ignore norm no
compute_modify	thermo_temp dynamic yes


#insert the first particles so that dump is not empty
dump		dmp all custom 200 post/dump*.multi id type mol x y z vx vy vz fx fy fz omegax omegay omegaz radius

#insert particles
run		40000 upto
