MohrCoulomb Joint Model In 3DEC
The Coulomb slip model provides a linear representation of joint stiffness and yield limit, and is based upon elastic stiffness, frictional, cohesive, and tensile strength properties, and dilation characteristics common to rock joints. The model (optionally) simulates displacementweakening of the joint by loss of cohesive and tensile strength at the onset of shear or tensile failure.
Formulations
Shear and normal stresses on a joint develop as in the elastic model until the stress reaches the peak strength. The peak shear stress is given by:
where \(c\) is the cohesion, \(\sigma_n\) is the normal stress and \(\phi\) is the friction angle.
When the peak shear strength is exceeded, the shear strength drops instantaneously to the residual shear strength. The shear stress can then not exceed the residual strength. The residual strength is given by:
where \(c_{res}\) is the residual cohesion, and \(\phi_{res}\) is the residual friction angle.
By default in 3DEC, \(c_{res} = 0\) and \(\phi_{res} = \phi\).
Typical shear stress/shear displacement behavior is shown in Figure 1 and the failure envelopes for default values of residual cohesion and friction are shown in Figure 2.
The tensile strength is a single userdefined value, \(T_f\). The normal stress on a joint decreases as the joint opens (assuming compression is positive) according to the normal stiffness as described for the elastic model. The normal stress is limited by the tensile strength. When the tensile strength is exceeded, the normal stress on the joint becomes equal to the residual tensile strength (\(T_f^{res}\)). By default, the residual tensile strength is 0. Typical normal stress behavior on a MohrCoulomb joint is shown in Figure 3.
After shear strength has been exceeded, it is possible for the joint to dilate with continued shearing. The tangent of the dilation angle, \(\psi\), gives the opening of the joint in the normal direction per unit of shear displacement for an unconfined joint.
In real rocks, dilation is usually limited by large accumulated shear displacements. It is therefore advisable to specify a critical shear displacement, \(u_{cs}\), above which there will be no dilation.
The dilation is actually applied as a normal force rather than a displacement. Therefore, for a joint with compressive normal stress acting on it, the opening will be less than the \(\tan\psi\) times the shear displacement. The applied force is given by:
where \(k_n\) is the normal stiffness, \(u_s\) is the plastic shear displacement and \(u_{cs}\) is the critical plastic shear displacement. The default value for \(u_{cs}\) is infinity (no dilation limit).
See Figure 4 for typical dilation behavior on an unconfined joint.
States
Each subcontact has a failure state associated with it. The failure state can be plotted (Joint Subcontact
plot item) and queried with FISH (block.subcontact.state
). When querying with FISH, the state is represented by a variable with 64 bits. Each bit refers to a potential state. The potential states for the MohrCoulomb model are shown in the table below.
MC Failure States 
Value 
Label 

Failure in shear now 
1 
slipn 
Failure in tension now 
2 
tensionn 
Failure in shear in the past 
4 
slipp 
Failure in tension in the past 
8 
tensionp 
Combinations of states are possible by turning on different bits. For example, a subcontact that failed in tension in the past and is shearing now would have a state value of 8 + 1 = 9. A value of 0 indicates no failure (elastic).
Summary of MohrCoulomb Parameters
The model parameters associated with the mohrcoulomb model are summarized in Table 2. The model is accessed in 3DEC with the block contact jmodel assign
mohr
command.
Parameter 
Description 
Keyword 

\(k_n\) 
joint normal stiffness (STRESS/LENGTH) 

\(k_s\) 
joint shear stiffness (STRESS/LENGTH) 

\(\phi\) 
friction angle (DEGREES) 

\(\phi_{res}\) 
residual friction angle (DEGREES). Defaults to phi. 

\(c\) 
cohesion (STRESS) 

\(c_{res}\) 
residual cohesion (STRESS). Defaults to 0. 

\(\psi\) 
dilation angle (DEGREES) 

\(u_{cs}\) 
shear displacement at which dilation stops (LENGTH). Default is infinity 

\(T_f\) 
tensile strength (STRESS) 

\(T_f^{res}\) 
residual tensile strength (STRESS). Default is 0. 

Example
The following example illustrates the behavior with a simple test model. The problem application is the analysis of joint slip around an underground excavation. A simple model is created to evaluate the adequacy of the MohrCoulomb slip model to represent the response of a joint subjected to shear loading.
To view this example in 3DEC, use the menu command . Choose “3DEC/ Constitutive_Models/ JMohr” and select “slip.prj” to load. The data file used is shown at the end of this example.
The test is a simulation of a direct shear test, which consists of a single horizontal joint that is first subjected to a normal confining stress, and then to a unidirectional shear displacement. Figure 5 shows the model; the joint is defined by one contact that is composed of 10 subcontacts.
First, a normal stress of 20 MPa — which is representative of the confining stress acting on the joint — is applied. A horizontal velocity is then applied to the top block to produce a shear displacement that is also representative of the displacements expected in the problem application. For demonstration purposes, we only apply a small shear displacement of less than 1 mm to this model.
The average normal and shear stresses, and normal and shear displacements along the joint, are measured with a FISH function (sstav
). With this information we can determine the peak and residual shear strengths and dilation that are produced with the different models. The data file for this test using the MohrCoulomb slip model is shown in Example Data File.
The average shear stress versus shear displacement along the joint is plotted in Figure 6, and the average normal displacement versus shear displacement is plotted in Figure 7. These plots indicate that joint slip occurs for the prescribed model properties and conditions. The loading slope in Figure 6 is linear until a peak shear strength of approximately 2.9 MPa is reached.
As indicated in Figure 7, the joint begins to dilate when the joint fails in shear, at roughly 0.3 mm shear displacement. Dilation occurs until the limiting shear displacement (dilationzero
= 0.6 mm) is reached for zero dilation. The maximum average dilation is approximately 0.077 mm.
As these results indicate, the MohrCoulomb slip model with zero cohesion only defines a limiting shear strength value for the joint. The dilation that occurs after the joint begins to slip is approximated as a linear function of the dilation angle, with a dilation limit that is a function of the shear displacement.
A displacementweakening behavior can be approximated by including a joint cohesion of 10 MPa (block contact property
cohesion
= 10). At the onset of failure, the cohesion is set to zero. The results shown in Figure 8 illustrate the peak and residual strengths that develop when the effect of cohesion is included. Note that the drop in strength occurs abruptly. The maximum dilation (as shown in Figure 9) is lower than the previous case without cohesion for the same limiting shear displacement, because more shear displacement occurs before the joint fails initially. (Compare Figure 9 to Figure 7.)
Note that if no weakening behavior is associated with a joint that has a cohesive strength, the residual cohesion (cohesionresidual
) should be set equal to the peak cohesion (cohesion
). In this case, there will be no change in the cohesion when the joint fails.
Data File
slip.dat
model new
model largestrain on
; Coulomb slip joint model
; direct shear test
;
block create brick 0.15,0.15 0.10,0.10 0.10,0
block create brick 0.10,0.10 0.10,0.10 0,0.10
block zone generate edgelength 0.2
block zone cmodel assign elastic
block zone prop dens=0.0026 bulk=4000 shear=3000
;
; Coulomb slip model
block contact jmodel assign mohr
block contact prop stiffnessnormal=100000 stiffnessshear=100000 ...
friction=30.0 dilation 15 dilationzero 6e4
;; Use cohesion for weakening behavior
;block contact prop cohesion 10
block contact materialtable default prop stiffnessnormal=100000 ...
stiffnessshear=100000 ...
friction=30.0 dilation 15 ...
dilationzero 6e4
block hide range posz 0 1
block gridpoint apply vel 0 0 0 range posz 1 0.1
block hide off
;
; normal load
block face apply stress 0 0 50 0 0 0 range posz 0.1
;
model cycle 100
;
; function to calculate average joint stresses
; and average joint displacements
;
fish def sstav
local sstav_vec = vector(0,0,0)
nstav = 0.0
njdisp = 0.0
local sjdisp_vec = vector(0,0,0)
local jarea = 0.0
loop foreach cx block.subcontact.list
; weight by area
local area_ = block.subcontact.area(cx)
sstav_vec = sstav_vec + block.subcontact.force.shear(cx)
nstav = nstav + block.subcontact.force.norm(cx)
njdisp = njdisp + block.subcontact.disp.norm(cx)*area_
sjdisp_vec = sjdisp_vec + block.subcontact.disp.shear(cx)*area_
jarea = jarea + area_
endloop
if jarea > 0
sstav = math.mag(sstav_vec) / jarea
nstav = nstav / jarea
njdisp = njdisp / jarea
sjdisp = math.mag(sjdisp_vec) / jarea
endif
end
;
block contact reset disp
; shear load
block hide range posz .1 0.0
block gridpoint apply velx=0.005 range posz .1 1.1
block gridpoint apply vely 0 range posz 1 1
block hide off
;
his interval 5
model hist mechanical unbalmax
fish hist name 'Shear Stress' sstav
fish hist name 'Normal Stress' nstav
fish hist name 'Normal Displacement' njdisp
fish hist name 'Shear Displacement' sjdisp
;
block contact hist dispshear pos 1 1 0
block contact hist dispnorm pos 1 1 0
block contact hist dispshear pos 1 1 0
block contact hist dispnorm pos 1 1 0
block contact hist dispshear pos 0 0 0
block contact hist dispnorm pos 0 0 0
block contact hist stressshear pos 1 1 0
block contact hist stressnorm pos 1 1 0
block contact hist stressshear pos 1 1 0
block contact hist stressnorm pos 1 1 0
block contact hist stressshear pos 0 0 0
block contact hist stressnorm pos 0 0 0
block contact hist forceshear pos 1 1 0
block contact hist forcenorm pos 1 1 0
model cyc 15000
model save 'slip1'
program return
Properties
 cohesion f
Joint cohesion.
 cohesionresidual f
Residual joint cohesion.
 dilation f
Joint dilation angle in degrees.
 dilationzero f
Shear displacement at which joint will cease to dilate.
 friction f
Friction angle in degrees.
 frictionresidual f
Residual joint friction angle in degrees.
 stiffnessnormal f
Joint normal stiffness (stress / distance)
 stiffnessshear f
Joint shear stiffness (stress / distance)
 tension f
Tensile strength.
 tensionresidual f
Residual joint tensile strength.
Was this helpful? ...  Itasca Software © 2023, Itasca  Updated: Sep 13, 2023 