;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;The code is to remove the right wall instantaneously to trigger the collapse of the initial granular column with ; ;fractal dimension 3.5 (IGC3p5). Meanwhile, the average kinetics of all the particles are recorded during the mot-; ;ion process, respectively. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; New restor IGC3p5.sav set disk on title IGCFlow3p5KT dele wal 2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;The right wall is then removed. The simulation parameters are specified; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; def fric_parameter wbfric = 0.60 end fric_parameter wal id 2 nodes (L_1,0) (1000,0) wall prop id 1 kn bkn ks bks fric wbfric wall prop id 2 kn bkn ks bks fric wbfric prop dens bdens kn bkn ks bks fric wbfric damp local 0.0 damp viscous normal 0.12 damp viscous shear 0.12 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;The small, medium and large sized particles are described by three different colors, respectively; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; def colorball bp = ball_head loop while bp # null brr = b_rad(bp) if brr < 0.40 then b_color(bp) = 0 endif if brr = 0.40 then b_color(bp) = 0 endif if brr = 0.60 then b_color(bp) = 1 endif if brr = 0.80 then b_color(bp) = 1 endif if brr = 1.00 then b_color(bp) = 2 endif if brr = 1.20 then b_color(bp) = 2 endif bp = b_next(bp) end_loop end colorball ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;The physical motion time of granular flows is set and recorded. ; ;The average kinetics of all the particles are recorded, respectively. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; def setTime oldtime = time end setTime def getTime getTime = time - oldTime end getTime call Kinetics_Total_2.fin hist gettime ;1 physical motion time is recorded hist Vro_ave ;2 average rotation velocity hist Vx_ave ;3 average translation velocity in x direction hist Vy_ave ;4 average translation velocity in y direction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;The simulation files at the normalized time of 1.0, 2.0, 3.0, 4.0, 5.0; ;6.0 7.0 and 8.0 are specified physical time are saved, respectively. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; def pan_duan WHILESTEPPING pdd_1 = abs(gettime - 2.6133) ;The normalized time is 1.0. pdd_2 = abs(gettime - 5.2267) ;The normalized time is 2.0. pdd_3 = abs(gettime - 7.8401) ;The normalized time is 3.0. pdd_4 = abs(gettime - 10.4535) ;The normalized time is 4.0. pdd_5 = abs(gettime - 13.0665) ;The normalized time is 5.0. pdd_6 = abs(gettime - 15.6798) ;The normalized time is 6.0. pdd_7 = abs(gettime - 18.2931) ;The normalized time is 7.0. pdd_8 = abs(gettime - 20.9064) ;The normalized time is 8.0. if pdd_1 < 0.0001 command sav 3p5_normalized_1.sav endcommand end_if if pdd_2 < 0.0001 command sav 3p5_normalized_2.sav endcommand end_if if pdd_3 < 0.0001 command sav 3p5_normalized_3.sav endcommand end_if if pdd_4 < 0.0001 command sav 3p5_normalized_4.sav endcommand end_if if pdd_5 < 0.0001 command sav 3p5_normalized_5.sav endcommand end_if if pdd_6 < 0.0001 command sav 3p5_normalized_6.sav endcommand end_if if pdd_7 < 0.0001 command sav 3p5_normalized_7.sav endcommand end_if if pdd_8 < 0.0001 command sav 3p5_normalized_8.sav endcommand end_if end pan_duan cy 99999999999999999