Sliding Wedge

Problem Statement

Note

To view this project in FLAC3D, use the menu command Help ► Examples…. Choose “FLAC3D/ ZoneJoint/ sliding_wedge” and select “sliding_wedge.prj” to load. The main data files used are shown at the end of this example. All data files are found in the project.

Stability of a wedge in a rock mass, formed by two intersecting planar surfaces under the action of gravity, is analyzed using FLAC3D. The wedge is formed by two structural features defined by:

A: dip = 40° dip direction = 130°

B: dip = 60° dip direction = 220°

The same mechanical properties are assumed for both planes.

Analytical Solution

A classical wedge stability analysis is presented in Hoek and Bray (1977). For the case of cohesionless joints with an equal friction angle, the safety factor, \(F\), of the wedge is independent of its size and can be calculated from the formula

\[F = {{(R_A + R_B) \tan \phi} \over {W \sin \psi}}\]

where \(R_A\) is the reaction force normal to plane A, \(R_B\) is the reaction force normal to plane B, \(\phi\) is the friction angle of the joints, \(W\) is the weight of the wedge, and \(\psi\) is the inclination of the intersection line (between joints A and B) relative to the horizontal. It is possible to calculate a critical friction angle (for which the wedge is at limit equilibrium) for the given wedge from the equation above. The solution is implemented using the FISH function _safety (see data file “SAFETY.FIS”), and the results are compared to 3DEC calculations.

FLAC3D Model

The wedge is created using 3DEC commands and the zoned 3DEC model is exported to FLAC3D. Since this is a small model, it is possible to use the demo version of 3DEC in this way to create the model (a 3DEC license is not required).

The FLAC3D model is shown in Figure 1. The mechanical properties selected for this model are:

density: \(\rho\) = 2000 kg/m3

joint shear and normal stiffness: \(K_n\) = \(K_s\) = 10 MPa/m

gravity acceleration: \(g\) = 10 m/sec2

Two of the wedge faces have contact with faces of adjacent blocks. The edge at the back of the wedge has contact with an intersection of two rear blocks. Joint shear and normal stiffnesses of 10 MPa/m are assigned to all three contacts. The wedge is first allowed to consolidate under its weight by setting the friction on both planes to a high value. Then, friction is reduced until failure occurs. A history of vertical velocity of the wedge (shown in Figure 2) clearly indicates the simulation step at which instability occurs. Figure 1 shows the failure mechanism in progress. The data file used for the simulation is presented in data file “WEDGE.DAT”.

Results and Discussion

Note that the problem is statically determinate and size-independent. Therefore, the joint stiffness and density do not affect the solution (i.e., critical friction angle). Using FLAC3D, a critical friction angle between \(\phi\) = 33.12° is calculated and compared with the analytical solution \(\phi\) = 33.36°. The error of the numerical solution is only 0.8%.

../../../../../_images/wedge.png

Figure 1: Sliding wedge model.

../../../../../_images/wedge-his1.png

Figure 2: History of vertical velocity of the wedge.

Reference

Hoek, E., and J.W. Bray. Rock Slope Engineering, 2nd Ed. London: Inst. of Mining & Metallurgy (1977).

Data Files

wedge.dat

model new

block create brick -1 1 -1 1 -1 1

; create two intersecting joints
block cut joint-set dip-direction 130 dip 40 origin 0 0 1
block cut joint-set dip-direction 220 dip 60 origin 0 -0.25 1

block zone generate-new minimum-edge 1 maximum-edge 1

block to-flac3d block-ids on 
==========================================
model new
zone import '3dec.f3grid'
zone joint configure
zone face skin ; break-angle 180
zone joint create skinned

; properties (MPa)
zone cmodel assign elastic
zone property density 2e-3 bulk 100 shear 60 

 ;  Coulomb slip model 
contact property stiffness-normal 10 stiffness-shear 10 friction 89 

; fix edges and apply gravity
zone gridpoint fix velocity range position-x -1
zone gridpoint fix velocity range position-x 1
zone gridpoint fix velocity range position-y 1
zone gridpoint fix velocity range position-z -1

model gravity 0 0 -10

zone history name 'Z Velocity' velocity-z position 0 -1 1 

; consolidation under gravity with high friction
model solve

; reduce friction to 35 : stable
contact property friction 35 
model cycle 400

; reduce friction to 33.15 : stable
contact property friction 33.15  
model cycle 3000
model save 'wedge_stable'

; reduce friction to 33.1 : failure
contact property friction 33.1  
model cycle 10000
model save 'wedge_unstable'

program call 'safety.fis'
[safety]
[fric3_ = 33.1]
fish define error_
  error_ = (fric_-fric3_)/fric_
end
fish list [error_]

safety.fis

fish define params
  global dip1_ = 40
  global dd1_ = 130
  global dip2_ = 60
  global dd2_ = 220
end
[params]

fish define safety
  local d3_ =  math.sin(dip1_*math.degrad)
  local d1_ = -math.cos(dip1_*math.degrad)*math.sin(dd1_*math.degrad)
  local d2_ = -math.cos(dip1_*math.degrad)*math.cos(dd1_*math.degrad)
  local s1_  =  math.sin((dd1_+90.)*math.degrad)
  local s2_  =  math.cos((dd1_+90.)*math.degrad)
  local s3_  =  0.
;
; --- normal to the plane A
;
  local n11_ = d2_*s3_-d3_*s2_
  local n12_ = d3_*s1_-d1_*s3_
  local n13_ = d1_*s2_-d2_*s1_

  d3_ =  math.sin(dip2_*math.degrad)
  d1_ = -math.cos(dip2_*math.degrad)*math.sin(dd2_*math.degrad)
  d2_ = -math.cos(dip2_*math.degrad)*math.cos(dd2_*math.degrad)
  s1_  =  math.sin((dd2_+90.)*math.degrad)
  s2_  =  math.cos((dd2_+90.)*math.degrad)
  s3_  =  0.
;
; --- normal to the plane B
;
  local n21_ = d2_*s3_-d3_*s2_
  local n22_ = d3_*s1_-d1_*s3_
  local n23_ = d1_*s2_-d2_*s1_

;
; --- direction of intersection line
;
  local in1_ = 1.0
  local in2_ = (-n11_*n23_+n21_*n13_)/(n12_*n23_-n22_*n13_)
  local in3_ = (-n21_*n12_+n22_*n11_)/(n12_*n23_-n22_*n13_)
  local mag_ = math.sqrt(in1_*in1_+in2_*in2_+in3_*in3_)
  in1_ = in1_/mag_
  in2_ = in2_/mag_
  in3_ = in3_/mag_
;
; --- component of the weight along the intersection line
;
  local f11_ = in1_*in3_
  local f12_ = in2_*in3_
  local f13_ = in3_*in3_
;
; --- component of the weight normal to the intersection line
;
  local f21_ = -f11_
  local f22_ = -f12_
  local f23_ = 1. - f13_
;
; --- normal reactions on planes A and B
;
  local r1_  = (f21_*n22_-f22_*n21_)/(n11_*n22_-n21_*n12_)
  local r2_  = (f22_*n11_-f21_*n12_)/(n11_*n22_-n21_*n12_)
;
; --- friction coefficient
;
  local coef_ = math.abs(in3_)/(math.abs(r1_)+math.abs(r2_))
  fric_ = math.atan(coef_)/math.degrad
end
;