# Supported Tunnel

Problem Statement

Note

The project file for this example may be viewed/run in 3DEC. The data files used are shown at the end of this example.

Problem Description

This example shows how to create a simple supported tunnel in fractured rock. The joints are simulated using the Discrete Fracture Network (DFN) logic, and the tunnel is supported using hybrid bolts.

3DEC Model

**Model Geometry**

The 3DEC model is shown in Figure 1. The model is built by first creating a 20x10x20 m brick and then making cuts to define the region of interest in the center. Three cuts are also made in the y direction to define the stages of tunnel excavation.

The tunnel is created by importing a dxf and using the command `block cut geometry`

.

A DFN is generated with a power-law size distribution with an exponent of 3. The minimum and maximum fracture sizes are 0.5 m and 20 m respectively.

Tetrahedral zones are generated with an edge length of 0.25 m in the region of interest and 0.5 m outside of that.

The command `block join-by-contact`

is used to ensure that the construction joints do not become unjoined when the true (DFN) joints are cut.
Figure 1 shows the actual IDs of the blocks, but note that many of these blocks are actually joined. The unjoined joints are shown in Figure 2.
Note that using `block join-by-contact`

also speeds up the simulation by about 25% because there are fewer unjoined contacts.

**Properties**

The zones are assigned the Mohr-Coulomb material model with the following properties:

Conesion, \(c\) = 10 MPa Friction, \(\phi\) = 35° Tension, \(T\) = 1 MPa

Model Solving

**Initial State**

All boundaries were fixed and the following initial compressive stress was applied:

\(\sigma_{xx}\) = 40 MPa \(\sigma_{yy}\) = 30 MPa \(\sigma_{zz}\) = 10 MPa

The model was then solved to initial equilibrium.

**Excavation and Support**

The first two meters of the tunnel are excavated and the model is solved. Hybrid bolts are then added with a spacing of approximately 0.5 m the bolts in the side walls were assigned a length of 2 m, and the bolts in the roof had a length of 4 m. No bolts were installed in the floor. A total of 11 bolts were used for each round of excavation (see Figure 3).

Dowel segments are automatically generated where each bolt crosses a joint. The dowel length is set to 5 cm.

After installation of the bolts, another 2 m of tunnel is excavated and the model is solved. This is repeated three more times to excavate and support the entire 10 m length of the tunnel.

Results and Discussion

The 3DEC simulation yields displacement as shown in Figure 4. Figure 5 shows the axial forces in the hybrid bolts and Figure 6 shows the shear forces in the dowels. The support is successful at stabilizing the tunnel and the model reached equilibrium after each stage of excavation.

Data Files

**tunnel-1.dat**

```
model new
model random 10000
model large-strain on
model domain extent -20 20 -20 20 -20 20
block tolerance 1e-3
block create brick -10 10 -5 5 -10 10
; prevent unjoining of construction joints when DFN is cut
block join-by-contact on
; define region of interest
; construction joints have id of 99
block cut joint-set origin 0 0 -5 jointset-id 99
block cut joint-set origin 0 0 5 jointset-id 99
block cut joint-set dip 90 dip-direction 90 origin 5 0 0 jointset-id 99
block cut joint-set dip 90 dip-direction 90 origin -5 0 0 jointset-id 99
geometry import 'tunnel.dxf'
block cut geometry 'tunnel' jointset-id 99
block group 'tunnel' range geometry-space 'tunnel' count odd
; define excavation rounds
block cut joint-set dip 90 origin 0 -3 0 spacing 2 jointset-id 99
block join
; add fractures in region of interest
block group 'center' slot 'construction' range position-x -5 5 position-z -5 5
block hide range group 'center' not
fracture template create "dfn-template" size power-law 3 size-limits 0.5 20
fracture generate dfn "dfn1" template "dfn-template" fracture-count 30000
block cut dfn name "dfn1"
; generate zones - smaller in region of interest
block zone generate edgelength 0.25
block hide off
block zone generate edgelength 0.5
;; new zoning logic
;block hide off
;block zone size edgelength 0.25 range group 'center'
;block zone size edgelength 0.5 range group 'center' not
;block zone gcm2 minimum-edge 0.25 maximum-edge 0.5
==================================================
block zone cmodel assign mohr-coulomb
block zone property density 2500 young 1e9 poiss 0.25
block zone property cohesion 1e7 friction 35 tension 1e6
; make construction joints elastic
block contact jmodel assign elastic
block contact property stiffness-normal 1e11 stiffness-shear 1e11
; make joints mohr-coulomb
block contact jmodel assign mohr range dfn-3dec 'dfn1'
block contact property stiffness-normal 1e10 stiffness-shear 1e10 ...
friction 30 range dfn-3dec 'dfn1'
; default contact props
block contact material-table default property stiffness-normal 1e10 ...
stiffness-shear 1e10 friction 30
model save 'zoned'
```

**tunnel-2.dat**

```
model restore 'zoned'
; initial state
block insitu stress -40e6 -30e6 -10e6 0 0 0
; boundary conditions
block gridpoint apply velocity 0 0 0 range position-x -10
block gridpoint apply velocity 0 0 0 range position-x 10
block gridpoint apply velocity 0 0 0 range position-z -10
block gridpoint apply velocity 0 0 0 range position-z 10
block gridpoint apply velocity-y 0 range position-y -5
block gridpoint apply velocity-y 0 range position-y 5
model solve convergence 1
model save 'initial'
```

**tunnel-exc.dat**

```
model restore 'initial'
block gridpoint initialize displacement 0 0 0
block relax linear 500 range group 'tunnel' position-y -5 -3
model cycle 500
model solve
model save 'exc-1'
==============================================
fish define add_cables(ypos)
; left side
command
structure hybrid create by-line (-1,[ypos],-0.5) (-3,[ypos],-0.5) ...
segments 10
structure hybrid create by-line (-1,[ypos],0) (-3,[ypos],0) ...
segments 10
structure hybrid create by-line (-1,[ypos],0.5) (-3,[ypos],0.5) ...
segments 10
end_command
; right side
command
structure hybrid create by-line (1,[ypos],-0.5) (3,[ypos],-0.5) ...
segments 10
structure hybrid create by-line (1,[ypos],0) (3,[ypos],0) ...
segments 10
structure hybrid create by-line (1,[ypos],0.5) (3,[ypos],0.5) ...
segments 10
end_command
; top
loop i (1,5)
local angle = math.pi/6.0*float(i)
p1x = math.cos(angle)
p1z = 1.0 + math.sin(angle)
p2x = 4.0*math.cos(angle)
p2z = 1.0+4.0*math.sin(angle)
command
structure hybrid create by-line [(p1x,ypos,p1z)] [(p2x,ypos,p2z)] ...
segments 10
end_command
end_loop
end
[add_cables(-4)]
structure hybrid property cross-sectional-area 181e-6 young 98.6e11 ...
yield-tension 5e6 yield-compression 0 grout-stiffness 1.12e9 ...
grout-cohesion 1.75e9
; dowel properties
structure hybrid property dowel-stiffness 2e10 dowel-yield 5e5 ...
dowel-failure-strain 0.1 dowel-active-length 0.05
block relax linear 500 range group 'tunnel' position-y -3 -1
model cycle 500
model solve
model save 'exc-2'
=======================================
[add_cables(-2)]
structure hybrid property cross-sectional-area 181e-6 young 98.6e11 ...
yield-tension 5e6 yield-compression 0 grout-stiffness 1.12e9 ...
grout-cohesion 1.75e9
; dowel properties
structure hybrid property dowel-stiffness 2e10 dowel-yield 5e5 ...
dowel-failure-strain 0.1 dowel-active-length 0.05
block relax linear 500 range group 'tunnel' position-y -1 1
model cycle 500
model solve elastic
model save 'exc-3'
=======================================
[add_cables(0)]
structure hybrid property cross-sectional-area 181e-6 young 98.6e11 ...
yield-tension 5e6 yield-compression 0 grout-stiffness 1.12e9 ...
grout-cohesion 1.75e9
; dowel properties
structure hybrid property dowel-stiffness 2e10 dowel-yield 5e5 ...
dowel-failure-strain 0.1 dowel-active-length 0.05
block relax linear 500 range group 'tunnel' position-y 1 3
model cycle 500
model solve
model save 'exc-4'
=======================================
[add_cables(2)]
structure hybrid property cross-sectional-area 181e-6 young 98.6e11 ...
yield-tension 5e6 yield-compression 0 grout-stiffness 1.12e9 ...
grout-cohesion 1.75e9
; dowel properties
structure hybrid property dowel-stiffness 2e10 dowel-yield 5e5 d...
owel-failure-strain 0.1 dowel-active-length 0.05
block relax linear 500 range group 'tunnel' position-y 3 5
model cycle 500
model solve
model save 'exc-5'
```

Was this helpful? ... | Itasca Software © 2024, Itasca | Updated: Jun 15, 2024 |