16  Homework 3

Rate-Independent Plasticity — Return Mapping and Hardening

Due date: TBD — submitted via Moodle

Notation: Following the canonical convention set in L08-appendix, we use \(H_\text{iso}\) for the isotropic hardening modulus and \(H_\text{kin}\) for the kinematic hardening modulus throughout this homework.

Goal: Implement the radial return algorithm for J2 plasticity and study hardening effects.


16.1 Task 1 — Radial Return Implementation

Write a function j2_plasticity_update(sigma_tr, ep_bar_n, E, nu, sigma_y0, H_iso) implementing the implicit radial return for J2 plasticity with linear isotropic hardening.

Inputs:

  • sigma_tr: elastic trial stress (3×3 array, MPa)
  • ep_bar_n: accumulated equivalent plastic strain at step \(n\)
  • Material parameters: \(E\), \(\nu\), \(\sigma_{y0}\), \(H_\text{iso}\)

Algorithm:

  1. Compute trial deviatoric stress \(\mathbf{s}^\text{tr}\) and \(\sigma_\text{eq}^\text{tr}\).
  2. Check yield: \(f^\text{tr} = \sigma_\text{eq}^\text{tr} - (\sigma_{y0} + H_\text{iso}\bar{\varepsilon}^p_n)\).
  3. If \(f^\text{tr} \leq 0\): elastic step.
  4. If \(f^\text{tr} > 0\): compute \(\Delta\gamma\), update stress and \(\bar{\varepsilon}^p\).

Outputs: updated stress \(\boldsymbol{\sigma}_{n+1}\), updated \(\bar{\varepsilon}^p_{n+1}\), consistent tangent \(\mathbb{C}^\text{alg}\) (recommended).


16.2 Task 2 — Verification

Apply an initial elastic state, then increment to cause yielding. Verify: \(\sigma_\text{eq}(\boldsymbol{\sigma}_{n+1}) \approx \sigma_{y0} + H_\text{iso}\bar{\varepsilon}^p_{n+1}\).


16.3 Task 3 — Uniaxial Simulation

Simulate a uniaxial tension test (successive strain increments \(\Delta\varepsilon_{11}\), \(\Delta\varepsilon_{22} = \Delta\varepsilon_{33} = -\nu\Delta\varepsilon_{11}\) in the elastic predictor).

Run:

  • Case (a): perfect plasticity (\(H_\text{iso} = 0\))
  • Case (b): linear isotropic hardening (\(H_\text{iso} > 0\))

Plot \(\sigma_{11}\) vs \(\varepsilon_{11}\) for both cases on the same graph (up to ~5% strain).

Discuss: How does \(H_\text{iso}\) affect the stress-strain response?

Note: 4th-order tensors are represented in Voigt 6×6 matrix form throughout (components: \([1,1] \to 1, [2,2] \to 2, [3,3] \to 3, [2,3] \to 4, [1,3] \to 5, [1,2] \to 6\)).