Three different joint constitutive models are included with 3DEC to provide a range of behaviors. The most basic is the Elastic joint model which is primarily used for model construction joints. The other joint models are intended to represent geological joints or artificial interfaces: the standard being the Mohr-Coulomb model and a more advanced Continuously Yielding model. With the C++ UDM (User-Defined constitutive Models) option, you may create your own joint (and zone) constitutive models to represent new model behavior.
Joint models and properties can be assigned separately to individual, or sets of, discontinuities in a 3DEC model. Note that the geometric roughness of a joint is represented via the joint material model, even though plotted discontinuities are represented as a planar segment.
Elastic Joint Model
The Elastic joint model can be used to simulate construction joints that are required to build model geometries, but do not correspond to real slipping joints or faults. The behavior is governed by the joint normal and shear stiffness; no yielding can occur.
Mohr-Coulomb Joint Model
The basic joint constitutive model incorporated in 3DEC is the generalization of the Mohr-Coulomb strength criterion. This law works in a similar fashion both for sub-contacts between rigid blocks and for sub-contacts between deformable blocks. Both shear and tensile failure are considered, and joint dilation is included.
In the elastic range, the behavior is governed by the joint normal and shear stiffnesses. Once the onset of failure is identified at the sub-contact, in either tension or shear, the tensile strength and cohesion are taken as zero, which approximates the “displacement-weakening” behavior of a joint. Dilation takes place only when the joint is at slip. Actual joints display a reduction in the dilation angle as the residual friction state is approached. In 3DEC, the joints can be prevented from dilating indefinitely by prescribing a limiting shear displacement; when the magnitude of the shear displacement exceeds this limit, the dilation angle is set to zero. Since dilation is a function of the direction of shearing, dilation increases if the shear displacement increment is in the same direction as the total shear displacement and it decreases if the shear increment is in the opposite direction.
Continuously Yielding Joint Model
The continuously yielding model is intended to simulate, in a simple fashion, the internal mechanism of progressive damage of joints under shear. The model also provides continuous hysteretic damping for dynamic simulations by using a “bounding surface” concept. It is considered more “realistic” than the standard Mohr-Coulomb joint model in that the continuously yielding model attempts to account for some nonlinear behavior observed in physical tests (such as joint shearing damage, normal stiffness dependence on normal stress, and decrease in dilation angle with plastic shear displacement). The essential features of the continuously yielding model include the following:
- The curve of shear stress/shear displacement is always tending toward a “target” shear strength for the joint (i.e., the instantaneous gradient of the curve depends directly on the difference between strength and stress).
- The target shear strength decreases continuously as a function of accumulated plastic displacement (a measure of damage).
- Dilation angle is taken as the difference between the apparent friction angle (determined by the current shear stress and normal stress) and the residual friction angle.
As a consequence of these assumptions, the model exhibits, automatically, the commonly observed peak/residual behavior of rock joints. Also, hysteresis is displayed for unloading and reloading cycles of all strain levels, no matter how small.
C++ UDM Joint Model
This optional feature allows the use of joint constitutive models that are developed and compiled outside of the executable code, written in C++ (using Microsoft Visual Studio 2010) and compiled as a DLL (dynamic link library) file that can be loaded as needed. The main function of the model is to return new forces, given displacement increments. However, the model must also provide other information (such as names) and perform operations such as writing and reading save files.