Thursday 31 May 2018

MATLAB coding for generation of various yield/ failure surfaces used in Soil-plasticity



MATLAB coding for generation of various yield/ failure surfaces used in Soil-plasticity
Introduction: In this blog we will give (i) formulation of yield criteria in some plasticity models (ii) a MATLAB code that uses the formulation to generate the 3D yield surface in principal stress-space (iii) the MATLAB generated figures for some selected values of the parameters involved in the respective models.
Formulation: The yield/ failure criteria are expressed in terms of stress invariants ( I1, I2, I3 )or deviatoric stress invariants ( J1, J2, J3) or combinations of them. The plotting is to be done in principal stress space (σ1- σ23). For the plotting of yield surface, the Haigh- westergaard coordinates (ξ, ρ, θ) are best means.Therefore, these principal stresses are to be expressed in terms of Haigh- westergaard coordinates (ξ, ρ, θ) using the transformation shown below




For Matsuoka-Nakai model, we need to do some extra formulations to obtain the yield surface in terms of I1, J2 and J3, as follows,


Using this J2 can be determined and on applying Haigh-Westergaard transformation, we get coordinates in principal stress space.



Original Cam Clay Model
 

Modified Cam-Clay model



Algorithm : For generating 3D yield surfaces, the following steps depict the sequence of implementation of plotting 

  1. Taking the input parameters
  2. Discretizing the axial coordinate [hydrostatic (p) pressures] and Lode Angles (th) , and forming grid of these values in Haigh-westergaard space
  3. For each set of (p,th) values, the value of the radial coordinate (r ) is calculated based on yield criteria. This step will be different for each yield criteria
  4. Applying the Haigh-westergaard transformation to get the coordinates in principal stress space (σ1, σ2, σ3).

MATLAB code for these steps is shown in tables below, for Tresca, Matsuako-Nakai, Drucker- Prager and HiSS yielding criteria.


The plots resulting from execution of above MATLAB codes are shown below.