17  Homework 4

Viscoplasticity & Parameter Identification via FEM

Due date: TBD — submitted via Moodle

This homework has two independent parts.


17.1 Part A — Rate-Dependent Plasticity (Viscoplasticity)

Goal: Extend the J2 plasticity code from HW3 to include rate effects.

17.1.1 A.1 — Perzyna-type Implementation

Modify j2_plasticity_update to implement a Perzyna viscoplastic model: \[ \Delta\gamma = \frac{\Delta t}{\eta}\left\langle \frac{f}{\sigma_{y0}} \right\rangle, \qquad \langle x \rangle = \max(0, x). \]

Additional inputs: viscosity parameter \(\eta\), time step \(\Delta t\).

17.1.2 A.2 — Rate Sensitivity Comparison

Simulate uniaxial tension at two strain rates:

  • \(\dot{\varepsilon} = 10^{-3}\ \text{s}^{-1}\)
  • \(\dot{\varepsilon} = 1.0\ \text{s}^{-1}\)

Plot \(\sigma_{11}\) vs \(\varepsilon_{11}\) for both rates and the rate-independent result (HW3) on the same graph.

Discuss: Effect of \(\dot{\varepsilon}\) and \(\eta\) on apparent yield stress and flow stress.


17.2 Part B — Parameter Identification via FEM

Goal: Calibrate J2 plasticity parameters by fitting a FEM simulation to provided experimental data.

17.2.1 B.1 — Provided Resources

  • exp_data.csv: stress-strain data from a simulated uniaxial test (unknown parameters).
  • fem_template.py: FEniCSx template script for a quasi-static nonlinear simulation.

17.2.2 B.2 — FEM Integration

Adapt your j2_plasticity_update to the FEniCSx interface. Run a forward simulation with a known parameter set to verify correct integration and convergence.

17.2.3 B.3 — Inverse Analysis

Write an objective function residual(params, eps_exp, sig_exp) that:

  1. Takes params = [sigma_y0_trial, H_trial] (assume \(E\), \(\nu\) known).
  2. Runs the FEM simulation.
  3. Returns the vector of residuals \(\sigma^\text{sim}(\varepsilon_k) - \sigma^\text{obs}_k\).

Use scipy.optimize.least_squares to minimise.

17.2.4 B.4 — Results

  • Report identified parameters \(\sigma_{y0}^*\), \(H_\text{iso}^*\).
  • Plot experimental data vs. simulated curve with identified parameters.
  • Discuss quality of fit, convergence challenges, sensitivity to initial guess.

Note: \(H_\text{iso}^*\) denotes the identified value of \(H_\text{iso}\) from inverse modelling (L10).