Skip to content

Mohr-Coulomb:

Linear elastic - perfectly plastic model with Mohr-Coulomb yield and failure criterion available in two different implementations:


Mohr-Coulomb

A Mohr-Coulomb model in the version proposed by Abbo et al. (2011)1 has been implemented in numgeo. The numgeo keyword reads:

*Mechanical = Mohr-Coulomb   
E (F/A), nu (-), c (F/A), phi_c (rad),  psi (rad), theta_t [deg]
The material parameters of the Mohr-Coulomb model with elasto-plastic Jacobian are given in the following.

  • \(E\) (F/A) is the Young's modulus of the material.
  • \(\nu\) (-) is the Poisson's ratio.
  • \(c\) (F/A) is the cohesion.
  • \(\varphi_c\) (rad) is the critical friction angle.
  • \(\psi\) (rad) is the dilation angle.
  • \(\theta_t\) [deg] is the transition lode angle for the round-off at the compression and extension corners. Following the recommendations by Abbo et al. (2011)1, the transition angle is restricted to \(25.0^\circ \le \theta_t \le 29.5^\circ\).

Rounded corners in deviatoric plane

This model slightly deviates from the original Mohr-Coulomb model in terms of the shape of the yield surface due to a hyperbolic approximation in the meridional plane and rounded corners in the deviatoric plane, controlled by the distance towards the apex \(a = \alpha \cot\varphi\) and the transition lode angle \(\theta_t\), respectively. In the current implementation, a constant value of \(\alpha = 0.05\) is used, while \(\theta_t\) is a material parameter.

State variables

In addition to the (effective) stress, the Mohr-Coulomb constitutive model takes additional state variables. Performing simulations with this model requires the prescription of those. The following state variables are contained in the model:

  • Void ratio: \(e\), void_ratio. The prescription of the void ratio is mandatory, if the initialization is omitted or wrong values are prescribed the simulation will abort. However, for the evaluation of the material response, the void ratio is not considered in the constitutive model. It is just for output-purposes.

The state variables can be initialized in two different ways:

  • Using the *Initial conditions, type = state variables command in the input file, e.g.
    *Initial conditions, type = state variables
    element_set_name, void_ratio, <value>
    
  • Using the interface for user-defined initial state variables. In this approach, the vector holding the state variables is filled directly in a fortran subroutine as described in Section User defined state variables. The position of the state variable in the associated vector is as follows: statev(1) = \(e\)

Optional Parameters

*Optional mechanical parameter
<property 1>, <value 1>...
<property 2>, ...
Definition of optional parameters is not mandatory. The specification can also be made individually:

  • tol_yield: Tolerance for yield surface. Default is \(10^{-4}\).
  • min_pressure: Minimum mean effective stress in kPa (compression = positive). Use this parameter to define a tension cut-off, e.g. min_pressure, 0. to cut-off any tensile stresses.
  • return_mapping: Method for returning inadmissible stress states on the yield surface. You can choose between Closest Point Projection (CPP) return_mapping, 0 and Cutting Plane Algorithm (CPA) return_mapping, 1. Default is CPA.
  • cep_ratio: Ratio between elastic and elasto-plastic tangent stiffness \(\boldsymbol{C}\) returned by the constitutive model. For cep_ratio, 0.0 the linear elastic tangent stiffness \(\boldsymbol{C}=\boldsymbol{C}^{el}\) is returned, for cep_ratio, 1.0 the consistent algorithmic (elasto-plastic) tangent stiffness \(\boldsymbol{C}=\boldsymbol{C}^{ep}\) is returned. Default is cep_ratio, 0.99, i.e. \(\boldsymbol{C}=0.001\boldsymbol{C}^{el}+0.999\boldsymbol{C}^{ep}\)
  • reduction_psi: Flag that controls wether the reduction of dilatancy angle \(\psi\) should be considered during a strength reduction analysis or not. For reduction_psi = 1, the dilatancy angle will be updated according to \(\psi^{red}=\tan^{-1}\left(\dfrac{\tan \psi}{FoS}\right)\). See also the corresponding section Strength Reduction in the Theory Manual.
  • reduction_nu: Flag that controls wether the Poisson's ratio \(\nu\) should be modified during a strength reduction analysis to guarantee the inequality \(\sin \varphi \leq 1 - 2\nu\) according to the work of Zheng et al.7. For reduction_nu = 1 \(\nu\) is modified, for reduction_nu = 0 \(\nu=const.\) (default). See also the corresponding section Strength Reduction in the Theory Manual.

Additional output variables

The following additional output variables are available in the *Output command:

  • Void ratio: void_ratio
  • Current cohesion: cohesion
  • Current friction angle: friction_angle
  • Current dilation angle: friction_angle
  • Plastic points (areas undergoing plastic deformation): plastic_points

Mohr-Coulomb-2

This implementation of the Mohr-Coulomb model utilizes the exact formulation of the yield surface and provides the elastic tangent Jacobian. Compared to the first Mohr-Coulomb implementation, this version is significantly faster as it eliminates the need for sub-stepping. The numgeo keyword reads:

*Mechanical = Mohr-Coulomb-2   
E (F/A), nu (-), c (F/A), phi_c (rad),  psi (rad), p_t (F/A)

The material parameters of the Mohr-Coulomb-2 model with elastic tangent jacobian are given in the following.

  • \(E\) (F/A) is the Young's modulus of the material.
  • \(\nu\) (-) is the Poisson's ratio.
  • \(c\) (F/A) is the cohesion.
  • \(\varphi_c\) (rad) is the critical friction angle.
  • \(\psi\) (rad) is the dilation angle.
  • \(p_t\) (F/A) is the tension cut value, positive values refer to tension, i.e. \(p_t=1\) kPa will cut the models response at tensile stresses smaller that 1 kPa.

Elastic tangent Jacobian

The use of elastic tangent stiffness offers both advantages and disadvantages: it is more robust in the plastic limit, but it may require more iterations to achieve global equilibrium. Nevertheless, the increased calculation speed due to the absence of sub-stepping—often results in a substantial reduction in overall simulation time compared to its elasto-plastic counterpart. However, it is important to note that employing elastic stiffness might lead to a slight overestimation of the factor of safety (FoS) when this model is applied in a strength reduction analysis.


Mohr-Coulomb-3

This implementation of the Mohr-Coulomb model was provided by Johan Clausen23456 from Aarhus-University and utilizes the exact formulation of the yield surface and provides the elasto-plastic Jacobian. Compared to the first Mohr-Coulomb implementation, this version is significantly faster as it eliminates the need for sub-stepping, compared to Mohr-Coulomb-2, this implementation returns an elasto-plastic Jacobian. Of the three available Mohr-Coulomb implementations, this one is the most sophisticated. The numgeo keyword reads:

*Mechanical = Mohr-Coulomb-3   
E (F/A), nu (-), c (F/A), phi_c (deg), psi (deg), p_t (F/A)

The material parameters of the Mohr-Coulomb-3 model with elastic tangent jacobian are given in the following.

  • \(E\) (F/A) is the Young's modulus of the material.
  • \(\nu\) (-) is the Poisson's ratio.
  • \(c\) (F/A) is the cohesion.
  • \(\varphi_c > 0\) (deg) is the critical friction angle.
  • \(\psi\) (deg) is the dilatancy angle.
  • \(p_t\) (F/A) is the tension cut value, positive values refer to tension, i.e. \(p_t=1\) kPa will cut the models response at tensile stresses smaller that 1 kPa.

Nonzero \(\varphi\)

The Mohr–Coulomb–3 formulation does not support \(\varphi=0^\circ\). For such cases, use Mohr–Coulomb–2, which does permit \(\varphi=0^\circ\). A Tresca model by Johan Clausen is planned for a future release. To guarantee robustness of the elasto-plastic Jacobian at the Apex, \(\psi \geq 0.01^\circ\) is recommended for this implementation, which is rigorously enforced in the code.

Additional (material) state variables

The Mohr-Coulomb-3 features additional state variables. These variables can be initialised using the *Initial conditions, type = state variables command or visualised using the *Output command. The following state variables are available:

  • void_ratio (position 1 in statev): void ratio.
  • FoS (position 2 in statev): Factor of Safety (only meaningful in strength-reduction analyses).
  • fric (position 4 in statev): effective friction angle.
  • coh (position 5 in statev): effective cohesion.
  • dil (position 6 in statev): dilatation angle.

Notice that specifying values for fric, coh or/and dil in *Initial conditions will override the respective material parameters given in the *Material definition.

Random fields

Random fields (spatially varying distributions) of friction angle fric, cohesion coh or/and dilatation angle dil can be provided to numgeo using the *Initial conditions, type = state variables. An example is provided in the tutorial Slope with random field.


References


  1. A.J. Abbo, A.V. Lyamin, S.W. Sloan, and J.P. Hambleton. A C2 continuous approximation to the Mohr–Coulomb yield surface. International Journal of Solids and Structures, 48(21):3001–3010, 2011. doi:10.1016/j.ijsolstr.2011.06.021

  2. Johan Clausen, Lars Damkilde, and Lars Andersen. Efficient return algorithms for associated plasticity with multiple yield planes. International Journal for Numerical Methods in Engineering, 66(6):1036–1059, 2006-05-07. doi:10.1002/nme.1595

  3. Johan Clausen and Lars Damkilde. A simple and efficient fem-implementation of the modified mohr-coulomb criterion. In O. Dahlblom, L. Fuchs, K. Persson, M. Ristinmaa, G. Sandberg, and I. Svensson, editors, Proceedings of the 19th Nordic Seminar on Computational Mechanics, 214–219. Lund Universitet, 2006. ISSN: 0281-6679; Nordic Seminar on Computational Mechanics ; Conference date: 20-10-2006 Through 21-10-2006. 

  4. Johan Clausen, Lars Damkilde, and Lars Andersen. An efficient return algorithm for non-associated plasticity with linear yield criteria in principal stress space. Computers & Structures, 85(23–24):1795–1807, 2007-12. doi:10.1016/j.compstruc.2007.04.002

  5. Johan Clausen. Efficient Non-Linear Finite Element Implementation of Elasto-Plasticity for Geotechnical Problems: Thesis. Computational Mechanics. Esbjerg Institute of Technology. Aalborg University Esbjerg, 2007. ISBN 978-87-7606-018-3. URL: https://books.google.de/books?id=W1sz0AEACAAJ

  6. Johan Clausen, Lars Damkilde, and Lars Vabbersgaard Andersen. Robust and efficient handling of yield surface discontinuities in elasto-plastic finite element calculations. Engineering Computations, 32(6):1722–1752, 2015-08-03. doi:10.1108/EC-01-2014-0008

  7. H. Zheng, D. F. Liu, and C. G. Li. Slope stability analysis based on elasto-plastic finite element method. International Journal for Numerical Methods in Engineering, 64(14):1871–1888, 2005. doi:10.1002/nme.1406