Grid Generation for Intersecting Tunnels

Problem Statement

Note

View this project in FLAC3D:

  1. Help ► Examples…
  2. Pick “ExampleApplications”
  3. Pick “IntersectingTunnels”
  4. Select “IntersectingTunnels.f3prj” to load

The main data file used is shown at the end of this example. The remaining data files can be found in the project.

this could use a rewrite (particularly new figures and better indicators for BB tools) to be more illustrative of what is happening in building blocks

As demonstrated in the preceding example, FLAC3D is well-suited to simulate the behavior of an advancing tunnel excavation and support. The program can also be applied to examine the three-dimensional problem of tunnel intersections. However, the creation of model grids for intersecting tunnel simulations can be a formidable task.

This example illustrates how to build intersecting tunnels using the FLAC3D Building Blocks pane of the GUI.

Two example models are created to demonstrate this capability. The first example is a 45° intersection of two tunnels of equal size. The second example is the intersection of a small service tunnel with two parallel main tunnels.

Modeling Procedure

Intersection of Tunnels at 45°

If intersecting tunnels are the same height and shape (horseshoe-shaped), then, using Building Blocks, the geometry construction is divided in several steps.

The first step is to create the basic geometry of intersecting tunnels, with everything being flat lines.


../../../../../_images/IntersectingTunnels_FlatLines.png

Figure 1: Basic geometry of intersecting 45° tunnels—flat lines.

In the second step, by using curved lines (arcs and splines) and control points, shape the curved line geometry of the intersection tunnels.


../../../../../_images/IntersectingTunnels_CurvedLines.png

Figure 2: Basic geometry of intersecting 45° tunnels—curved lines.

The third step is to fill the model space with blocks representing rock, assign groups for tunnels and rock mass, and assign zone sizes along edges for proper zoning.


../../../../../_images/IntersectingTunnels_Bricks.png

Figure 3: FLAC3D grid for 45° horseshoe-shaped tunnel intersection.

The Intersection of a Service Tunnel with Two Main Tunnels

Again, the task is divided in several steps.

In the first step, intersection geometry of one main tunnel and a service tunnel is created. In this case, it is basic geometry without details of exact intersection surfaces.


../../../../../_images/IntersectingTunnels_ServiceTunnel_part1.png

Figure 4: Service tunnel basic geometry—no intersection surfaces.

The second step is to work out the proper intersection of one main tunnel and a service tunnel.

../../../../../_images/IntersectingTunnels_ServiceTunnel_part2.png

Figure 5: Proper intersection of one main tunnel and a service tunnel.

In the third step, using results of the previous step, copy the intersection of one main tunnel and a service tunnel to create a second intersection using Copy > Paste blocks.

../../../../../_images/IntersectingTunnels_ServiceTunnel_part3.png

Figure 6: Copy results of step 2 to create the second intersection.

Next, connect pieces together to create one service tunnel going through two main tunnels (using snapon and mergepoint in Building Blocks).

../../../../../_images/IntersectingTunnels_ServiceTunnel_part4.png

Figure 7: One service tunnel going through two main tunnels.

The fourth step is to fill in blocks representing the rest of the model (“rock” mass) and adjust zone sizes along edges for proper zoning (also assign the group “Tunnels”, “ServiceTunnel”, and “Rock”).

../../../../../_images/IntersectingTunnels_ServiceTunnel_part5.png

Figure 8: FLAC3D grid of one service tunnel going through two main tunnels.

The data file “IntersectingTunnels.f3dat” contains the FLAC3D commands to create the grid for the example “Intersection of tunnels at 45°”.

The data file “ServiceTunnel.f3dat” contains the FLAC3D commands to create the grid for the example “The Intersection of a Service Tunnel with Two Main Tunnels”.

All of the subsequent commands that are called are results of the state record saved commands issued interactive by the Building Blocks pane.

Data Files

IntersectingTunnels.f3dat

;-------------------------------------------------------------
; Generation of tunnel intersection at 45 degree angle 
;                      
;-------------------------------------------------------------
model new
model largestrain off
model title 'Intersection of tunnels at 45 degrees'

; building basic topology: flat lines (and plotting it as zones in png files)
call "GeometryTunnel45flatLines.f3dat"
zone generate from-building-blocks
model save 'tunnel45-1'

; making curved lines to conform the targeted tunnel shape 
; (and plotting it as zones in png files)
zone delete
call "GeometryTunnel45CurvedLines.f3dat"
zone generate from-building-blocks
model save 'tunnel45-2'

; filled  space with blocks and tune for better zoning ...
; for the static problem (more refined near tunnels)
zone delete
call "GeometryTunnel45RefinedForZonning.f3dat"
zone generate from-building-blocks
model save 'tunnel45-final'

ServiceTunnel.f3dat

model new
model largestrain off
model title 'The Intersection of a Service Tunnel with Two Main Tunnels'
; first part: creates basics geometry of one main tunnel intersecting 
; with service tunnel (no intersection survaces here)
call "GeometryServiceTunnel_part1"
zone generate from-building-blocks
model save 'service-1'

; second part: deals with exact following of intersection 
; of the surfaces of two tunnels
zone delete
call "GeometryServiceTunnel_part2"
zone generate from-building-blocks
model save 'service-2'

; third part: by copy-paste 
zone delete
call "GeometryServiceTunnel_part3"
zone generate from-building-blocks
model save 'service-3'

; fourth part: by copy-paste from the second part and snapping-merge, 
; completes service tunnel intersecting two main tunnels 
zone delete
call "GeometryServiceTunnel_part4"
zone generate from-building-blocks
model save 'service-4'

; Fifth part: fills the rest of the model space with blocks and 
; assigns zone-sizes per edge for zoning (here also group assignment 
; for main "Tunnels", "ServiceTunnel" and "Rock" mass)
zone delete
call "GeometryServiceTunnel_part5"
zone generate from-building-blocks
model save 'service-final'