####################################Header for General commands############################################ atom_style granular #Simulation of particles boundary f f f #fixed boundaries -> particles will be deleted if leaving the simulation box units si communicate single vel yes #default newton off #default ##################################System variables################################################# #Definition of boundaries variable xmin equal -2.55 variable xmax equal 2.55 variable ymin equal -2.55 variable ymax equal 2.55 variable zmin equal -0.05 variable zmax equal 5.0 #Definition of the timestep variable dt equal 1e-4 #timestep = 0.0001 second; Each iteration step represent 0.0001 seconds. ######################################Definition of simulationbox############################# region reg block ${xmin} ${xmax} ${ymin} ${ymax} ${zmin} ${zmax} units box create_box 2 reg neighbor 0.004 bin #default neigh_modify delay 0 #default #########################################Specific variables for current simulation#################################### variable natoms equal 2 #1-> particle #2->hopper, frame and bottom ####variable for material properties#### ####Young Modulus#### variable youngsmodulus1 equal 1e8 #N/mm2 variable youngsmodulus2 equal 1e8 ####Possion ratio #### variable poission1 equal 0.3 variable poission2 equal 0.3 ####coefficient of restitution#### variable CoR11 equal 0.6 variable CoR12 equal 0.6 variable CoR21 equal 0.6 variable CoR22 equal 0.6 ####sliding friction coefficient#### variable sf11 equal 0.3 variable sf12 equal 0.36 variable sf21 equal 0.36 variable sf22 equal 0.0 ####rolling friction coefficient#### variable rf11 equal 0.8 variable rf12 equal 0.8 variable rf21 equal 0.8 variable rf22 equal 0.8 ####variable for particles#### #Number of particle radius variable nradii equal 2 variable radius1 equal 0.0200 #m variable radius2 equal 0.0300 #m variable frac1 equal 0.2 #20% variable frac2 equal 0.8 #80% variable density equal 4000 #kg/m3 ####filling parameters#### variable filltime equal 5 #seconds variable fillmass equal 5000 #kg variable fillmassrate equal ${fillmass}/${filltime} #kg/s variable fillsteps equal ${filltime}/${dt} #transform time to iteration steps ####settling time#### variable settletime equal 1 #seconds variable settlesteps equal ${settletime}/${dt} #transform time to iteration steps ####open parameter of the lid#### variable openvel equal 0.4 #m/s variable opentime equal 1 #second variable opensteps equal ${opentime}/${dt} #Transform time to iteration steps ####discharge time#### variable dischargetime equal 25 #seconds variable dischargesteps equal ${dischargetime}/${dt} #####################################Definition of the contact models############################ pair_style gran model hertz tangential history rolling_friction epsd2 #contact model pair_coeff * * #default timestep ${dt} fix integrator all nve/sphere #default fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 #gravity in negative z-direction ######################################Definition of material properties############################## fix m1 all property/global youngsModulus peratomtype ${youngsmodulus1} ${youngsmodulus2} fix m2 all property/global poissonsRatio peratomtype ${poission1} ${poission2} fix m3 all property/global coefficientRestitution peratomtypepair ${natoms} 0.6 0.6 0.6 0.6 fix m4 all property/global coefficientFriction peratomtypepair ${natoms} ${sf11} ${sf12} ${sf21} ${sf22} fix m5 all property/global coefficientRollingFriction peratomtypepair ${natoms} ${rf11} ${rf12} ${rf21} ${rf22} #####################################Generation and Loading of the Geometry############################# fix silo all mesh/surface file Silo.stl type 2 scale 0.001 fix lid all mesh/surface file Lid.stl type 2 scale 0.001 fix ground all mesh/surface file Ground.stl type 2 scale 0.001 curvature_tolerant yes fix frame all mesh/surface file Frame.stl type 2 scale 0.001 fix walls all wall/gran model hertz tangential history rolling_friction epsd2 mesh n_meshes 4 meshes silo lid ground frame ###################################Generation and Insertion of the particles################################# fix pts1 all particletemplate/sphere 10487 atom_type 1 density constant ${density} radius constant ${radius1} fix pts2 all particletemplate/sphere 11887 atom_type 1 density constant ${density} radius constant ${radius2} fix pdd1 all particledistribution/discrete 32452867 ${nradii} pts1 ${frac1} pts2 ${frac2} fix ins_mesh all mesh/surface/planar file Insertionsface.stl type 1 scale 0.001 fix ins all insert/stream seed 86028157 distributiontemplate pdd1 & mass ${fillmass} massrate ${fillmassrate} overlapcheck yes all_in yes vel constant 0 0 -0.75 & insertion_face ins_mesh extrude_length 0.25 #####################################Dumping of the data for post-processing to visualize####################### shell mkdir post #Definition of the dumptime variable dumptime equal 0.05 #every 0.05 s 1 image variable dumpstep equal ${dumptime}/${dt} dump dmpparticle all custom ${dumpstep} post/particles_*.vtk id type x y z vx vy vz fx fy fz radius mass dump dmpground all mesh/stl ${dumpstep} post/Ground*.stl ground dump dmpsilo all mesh/stl ${dumpstep} post/Silo*.stl silo dump dmpframe all mesh/stl ${dumpstep} post/Frame*.stl frame dump dmplid all mesh/stl ${dumpstep} post/Lid*.stl lid ####################################Run the simulation filling###################################### run ${fillsteps} unfix ins ####################################Run the simulation settling################################# run ${settlesteps} #####################################Run the simulation Open Door############################### fix MoveLid all move/mesh mesh lid linear ${openvel} 0. 0. run ${opensteps} unfix MoveLid #####################################Run the simulation outflow################################## run ${dischargesteps}