Example: Simple Tunnel with Hybrid Bolt Support in 3DEC

Problem Statement

Note

To view this project in 3DEC, use the menu command Help ► Examples…. Choose “BlockSel/ hybrid/ tunnel” and select “tunnel.prj” to load. The data files used are shown at the end of this example.

A simple circular tunnel with a radius of 1 m is simulated. It is a 2.5D model with a length of 2 m. Quarter symmetry is assumed. This is a bonded block model in which zones are transformed into tetrahedral blocks. A joint set is then imprinted on top of the bonded block assembly.

The tunnel is partially excavated by applying decreasing reaction forces on the tunnel surface, then hybrid bolts are installed before removing the reaction forces. Five hybrid bolts are installed with a length of 4 m. The cable configuration is shown in Figure 1.

The resulting joint shear displacements and shear forces in the dowels are shown in Figure 2.

../../../../../_images/tunnel-bolts.png

Figure 1: Joints and bolts in a cross-section of the tunnel model.

../../../../../_images/tunnel-dowels.png

Figure 2: Joint shear displacements and dowel shear forces after solving.

tunnel.dat

; Example simple tunnel supported with hybrid bolts
;
model new
model random 10000
block create tunnel length -1 1 blocks-radial 8 blocks-tangential 2 ...
  boundary 8 radius-ratio 1.1
;
; quarter tunnel
block delete range position-x -100 0
block delete range position-z -100 0
;
block zone generate center 0 0 0 edgelength-center 0.1 distance 9 ...
  edgelength-distance 0.5
;
; dump zones to file as blocks (poly.dat)
block zone list poly

=========================================
model new
model random 10000
model large-strain on
;
block tolerance 0.001
;
program call 'poly'
;
; put in a joint set
block cut joint-set dip 30 dip-direction 90 spacing 0.5 number 20 ...
  jointset-id 999
;
block zone generate center 0 0 0 edgelength-center 0.1 distance 9 ...
  edgelength-distance 0.5
;
block zone cmodel assign elastic
block zone property density 2600 bulk 1e9 shear 3e8

; joints between tets
block contact property stiffness-normal 1e11 stiffness-shear 1e11 ...
  friction 40.0 cohesion 1e3 tension 1e2
;
; faults
block contact property stiffness-normal 1e10 stiffness-shear 1e10 ...
  friction 40.0 range joint-set 999

; new contacts
block contact material-table default property stiffness-normal 1e10 ...
  stiffness-shear 1e10 friction 40.0
;
block gridpoint apply velocity-x 0 range position-x 0
block gridpoint apply velocity-z 0 range position-z 0
block gridpoint apply velocity-x 0 range position-x 9
block gridpoint apply velocity-z 0 range position-z 9
block gridpoint apply velocity-y 0 range position-y -1
block gridpoint apply velocity-y 0 range position-y 1
;
block insitu stress -5e6 -3e6 -3e6 0 0 0
;
model solve
;
model save 'initial'

;model restore 'initial'
;
block group 'rock'
block group 'tunnel' range cylinder end-1 0 -1 0 end-2 0 1 0 radius 1
;
; identify surface of tunnel

; change face group for plotting
block face group 'surface' range group-int 'rock' 'tunnel'

; change gridpoint group for applying reaction forces
block gridpoint group 'surface' range group-int 'rock' 'tunnel'
;
block delete range cylinder end-1 0 -1 0 end-2 0 1 0 radius 1
;
model cycle 1
;
fish define bound_his_ini
  bound_his_start = global.step
end
[bound_his_ini]
;
; function to gradually reduce reaction forces
fish define bound_his
  ; non-linear, approaches 0 in ~ 10000 steps
  bound_his = 0.95^((global.step-bound_his_start)/10.0)
end
;
block gridpoint apply reaction fish bound_his range group 'surface'
fish history bound_his
;
model cycle 1000
;
model save 'pre-bolt'

fish define install_cables
  tol = 0.01
  loop i (1,5)
    angle = math.pi*0.5*i/6.0
    p1x = math.cos(angle)+tol
    p1z = math.sin(angle)+tol
    p2x = 4.0*math.cos(angle)
    p2z = 4.0*math.sin(angle)
    command
      struct hybrid create by-line [p1x],0,[p1z]  [p2x],0,[p2z] seg 20 
    end_command
  
  end_loop
end
[install_cables]
;
; cable properties
struct hybrid property cross-sectional-area 181e-6 young 98.6e11 ...
   yield-tension 5e6 grout-stiffness 1.12e9 grout-cohesion 1.75e9
   
; dowel properties
struct hybrid property dowel-active-length 0.025 dowel-stiffness 2e10 dowel-yield 5e5 ...
  dowel-failure-strain 0.015
;

model solve 
model save 'hybrid'
;