Skip to content

Mohr-Coulomb:

*Mechanical = Mohr-Coulomb   
E [F/A], nu [-], c [F/A], phi_c [rad],  psi [rad], theta_t [deg]

A Mohr-Coulomb model in the version proposed by \cite{abbo2011c2} has been implemented in numgeo. 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. The material parameters of the Mohr-Coulomb elasto-plasticity model 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 \cite{abbo2011c2}, the transition angle is restricted to \(25.0^\circ \le \theta_t \le 29.5^\circ\).

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\)

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