atom_style granular atom_modify map array communicate single vel yes boundary p p f newton off units si region reg block -0.0076 0.0076 -0.0076 0.0076 -0.0001 0.017 units box create_box 2 reg neighbor 0.00025 bin neigh_modify delay 0 # Material properties required for granular pair styles fix m1 all property/global youngsModulus peratomtype 5e6 5e6 fix m2 all property/global poissonsRatio peratomtype 0.45 0.45 fix m3 all property/global coefficientRestitution peratomtypepair 2 0.5 0.5 0.5 0.5 fix m4 all property/global coefficientFriction peratomtypepair 2 0.3 0.3 0.3 0.3 fix m5 all property/global coefficientRollingFriction peratomtypepair 2 0.2 0.2 0.2 0.2 # pair style pair_style gran model hertz tangential history # Hertzian without cohesion pair_coeff * * # timestep, gravity timestep 0.00001 fix gravi all gravity 0.0981 vector 0.0 0.0 -1.0 # walls fix xwalls1 all wall/gran model hertz tangential history primitive type 2 xplane -0.0076 fix xwalls2 all wall/gran model hertz tangential history primitive type 2 xplane 0.0076 fix ywalls1 all wall/gran model hertz tangential history primitive type 2 yplane -0.0076 fix ywalls2 all wall/gran model hertz tangential history primitive type 2 yplane 0.0076 fix zwalls1 all mesh/surface/stress file Base.stl type 2 heal auto_remove_duplicates scale 1 stress on fix geometry all wall/gran model hertz tangential history mesh n_meshes 1 meshes zwalls1 #zwalls2 # particle distributions and insertion fix pts1 all particletemplate/sphere 15485863 atom_type 1 density constant 100000 radius constant 0.00025 fix pdd1 all particledistribution/discrete 15485867 1 pts1 1.0 # insert particles fix ins_mesh all mesh/surface/planar file Factory.stl type 2 heal auto_remove_duplicates scale 1 fix ins all insert/stream seed 86028157 distributiontemplate pdd1 & mass 0.0675 massrate 0.016875 overlapcheck yes all_in yes vel constant 0 0 -0.75 & insertion_face ins_mesh extrude_length 0.00125 # apply nve integration to all particles that are inserted as single particles fix integr all nve/sphere # screen output compute rke all erotate/sphere thermo_style custom step atoms ke c_rke 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 #run 1 dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius dump dmp2 all custom/vtk 5000 post/particles_*.vtk id type x y z vx vy vz fx fy fz radius run 400000 upto ### unfix ins unfix ins_mesh #run 10000 ####### fix zwalls2 all mesh/surface/stress file Top_transform.stl type 2 heal auto_remove_duplicates scale 1 stress on fix move1 all move/mesh mesh zwalls2 linear 0 -0.0106 0 undump dmp undump dmp2 dump dmp3 all custom 5000 posttopmove/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius dump dmp4 all custom/vtk 5000 posttopmove/particles_*.vtk id type x y z vx vy vz fx fy fz radius run 100000 ####### ###get a way to visualize this plate movement unfix move1 unfix zwalls2 fix zwalls3 all mesh/surface/stress/servo file Top_transform.stl type 2 & heal auto_remove_duplicates scale 1 stress on com 0.0 0.0 0.0044 axis 0.0 0.0 -1.0 ctrlPV force target_val 0.2250981 vel_max 1 unfix geometry fix geometry2 all wall/gran model hertz tangential history mesh n_meshes 2 meshes zwalls1 zwalls3 variable zforce1 equal f_zwalls3[3] undump dmp3 undump dmp4 dump dmp5 all custom 5000 postnormalforce/dump.liggghts_init id type x y z ix iy iz radius vx vy vz fx fy fz omegax omegay omegaz dump dmp6 all custom/vtk 5000 postnormalforce/particles_*.vtk id type x y z vx vy vz fx fy fz radius fix outfield1 all print 5000 "${zforce1}" file forcetopplate1.txt screen no # Output forces on walls #fix force1 all ave/time 5000 1 5000 f_zwalls3[1] f_zwalls3[2] f_zwalls3[3] file force_twall1.txt run 100000 ######## unfix geometry2 unfix zwalls3 fix zwalls4 all mesh/surface/stress/servo file Top_transform.stl type 2 & heal auto_remove_duplicates scale 1 stress on com 0.0 0.0 0.0044 axis 0.0 0.0 -1.0 ctrlPV force target_val 0.9000981 vel_max 1 fix move all move/mesh mesh zwalls1 linear -0.001 0 0 fix geometry3 all wall/gran model hertz tangential history mesh n_meshes 2 meshes zwalls1 zwalls4 variable zforce2 equal f_zwalls4[3] undump dmp5 undump dmp6 dump dmp7 all custom 5000 postnormalshearforce/dump.liggghts_init id type x y z ix iy iz radius vx vy vz fx fy fz omegax omegay omegaz dump dmp8 all custom/vtk 5000 postnormalshearforce/particles_*.vtk id type x y z vx vy vz fx fy fz radius unfix outfield1 fix outfield2 all print 5000 "${zforce2}" file forcetopplate2.txt screen no fix force2 all ave/time 5000 1 5000 f_zwalls4[1] f_zwalls4[2] f_zwalls4[3] file force_twall2.txt run 2000000 ######## #fix move all move/mesh mesh zwalls1 linear -0.001 0 0 #undump dmp3 #undump dmp4 #dump dmp5 all custom 5000 postnormalshearforce/dump.liggghts_init id type x y z ix iy iz radius vx vy vz fx fy fz omegax omegay omegaz f_zwalls2[1] f_zwalls2[2] f_zwalls2[3] #dump dmp6 all custom/vtk 5000 postnormalshearforce/particles_*.vtk id type x y z vx vy vz fx fy fz radius #run 1000000 #fix zwalls2 all mesh/surface/stress/servo file Top_transform.stl type 2 & heal auto_remove_duplicates scale 1 stress on com 0.0 0.0 0.015 axis 0.0 0.0 -1.0 ctrlPV force target_val 1.205 vel_max 0.5 #fix geometry2 all wall/gran model hertz tangential history mesh n_meshes 1 meshes zwalls2 #undump dmp #undump dmp2 #dump dmp3 all custom 5000 postnormalforce/dump.liggghts_init id type x y z ix iy iz #vx vy vz fx fy fz omegax omegay #omegaz radius #dump dmp4 all custom/vtk 5000 postnormalforce/particles_*.vtk id type x y z vx vy vz fx fy #fz radius #run 100000 #fix top_wall all mesh/surface/stress/servo file Unit_shear_cell.stl type 2 scale 1 & # stress on com 0 0 0.015 ctrlPV force axis 0.0 0.0 1.0 target_val -0.225 vel_max #0.0001 #fix geometry2 all wall/gran model hertz tangential history mesh n_meshes 1 meshes #top_wall # Output forces on walls #fix force1 all ave/time 5000 1 5000 f_top_wall[1] f_top_wall[2] f_top_wall[3] #f_top_wall[7] f_top_wall[8] f_top_wall[9] file force_twall.dat #undump dmp3 #undump dmp_stress #undump dmp_upper #undump dmp4 #unfix geometry2 #unfix top_wall #fix top_wall2 all mesh/surface/stress file Unit_shear_cell.stl type 2 scale 1 stress on #fix top_wall2 all mesh/surface/stress/servo file Unit_shear_cell.stl type 2 scale 1 & # stress on com 0 0 0.015 ctrlPV force axis 0.0 0.0 1.0 target_val -0.9 vel_max #0.001 #fix geometry3 all wall/gran model hertz tangential history mesh n_meshes 1 meshes #top_wall2 #fix move all move/mesh mesh top_wall2 linear -0.001 0 0 #dump dmp5 all custom 5000 postshearforce/dump.liggghts_init id type x y z ix iy iz vx #vy vz fx fy fz omegax omegay omegaz radius #dump dmp_stress2 all mesh/gran/VTK 5000 postshearforce/Mesh_servo/mesh_top_*.vtk stress #top_wall2 #dump dmp_upper2 all mesh/stl 5000 postshearforce/upper*.stl top_wall2 #dump dmp6 all custom/vtk 5000 postshearforce/particles_*.vtk id type x y z vx vy vz fx fy #fz radius #run 2000000 write_restart post/restart/liggghts.restart