Elastoplastic Damage Calculator — J2 Plasticity & Damage
Simulate 1D J2 plasticity with isotropic hardening and scalar damage. See the stress-strain curve, yield onset, damage growth and the von Mises yield surface.
- Nominal σ
- Effective σ̄
- Yield σy
- Damage D (%)
- |Plastic strain| (%)
- Tangent modulus
- Cumulative plastic work
A clear path from inputs to results.
Trace how a metal-like material point behaves past its elastic limit: when it yields, how it hardens, and how microscopic damage gradually erodes the stress it can carry. This is a reduced 1D core built from the standard small-strain J2 plasticity and scalar-damage equations, letting you see the stress-strain curve, damage growth, and the von Mises yield cylinder in principal-stress space.
How to use
- Choose a loading protocol: Monotonic Tension (a single ramp), Cyclic Tension–Compression, or fully Reversed loading to expose hysteresis and damage accumulation.
- Enter the elastic modulus E and the initial yield stress σy0, which set the elastic slope and where plasticity begins.
- Set the isotropic hardening modulus H, which controls how much the yield stress grows with accumulated plastic strain.
- Set the tension and compression damage rates d_t and d_c, and the recovery factor s that controls how tension damage is reactivated under the combined damage law.
- Set the maximum strain εmax of the prescribed history and the number of integration samples.
- Read the peak stress, maximum and final damage, residual plastic strain, equivalent plastic strain, and dissipated energy, and inspect the stress-strain, damage, and 3D yield-surface views.
The formula
Reference: Small-strain J2 (von Mises) plasticity with linear isotropic hardening and scalar (Lemaitre-type) damage; Simo & Hughes, Computational Inelasticity (radial return); Lemaitre, A Course on Damage Mechanics; ZSoil CPDM manual (combined damage D = 1−(1−D_c)(1−sD_t)); GetFEM small-strain plasticity notes.
Worked example
Monotonic tension of a hardening, damaging steel-like material
- Monotonic Tension; E = 210,000 MPa; σy0 = 320 MPa; H = 1,200 MPa; tension damage d_t = 18; recovery s = 0.35; strain ramped to εmax = 0.03 (3%).
- 1
The material stays elastic until σ̄ = Eε reaches σy0, i.e. εy = σy0/E = 320/210000 = 0.001524. Beyond that, 1D radial return with linear hardening gives the plastic strain in closed form: εp = (Eε − σy0)/(E + H) = (210000×0.03 − 320)/(210000 + 1200) = 5980/211200 = 0.028314, and the equivalent plastic strain α equals εp. The effective (undamaged) stress is σ̄ = σy0 + Hα = 320 + 1200×0.028314 = 353.98 MPa. Tension damage grows as D_t = 1 − e^(−d_t·κ_t) with κ_t = εp, giving D_t = 1 − e^(−18×0.028314) = 0.3993; with no compression excursion the combined damage is D = s·D_t = 0.35×0.3993 = 0.1398. The nominal (measured) stress is σ = (1 − D)σ̄ = 0.8603×353.98 = 304.51 MPa.
At 3% strain the effective stress is 353.98 MPa but scalar damage of about 14.0% drops the nominal stress to 304.51 MPa, with residual plastic strain εp = 0.0283. The nominal stress-strain curve actually peaks near σy0 ≈ 320 MPa just after yield and then softens as damage outpaces hardening.
Interpreting the result
The effective stress σ̄ is what the undamaged material skeleton carries and keeps rising because of hardening; the nominal stress σ = (1−D)σ̄ is what you would measure, and it falls once damage grows faster than hardening — the signature of damage-induced softening. The gap between the two curves is the damage fraction D. Yield begins at εy = σy0/E; after that the tangent stiffness drops from E toward the hardening-plus-damage slope. On cyclic or reversed paths the same machinery produces hysteresis loops whose area is the dissipated energy, and damage accumulates on every plastic excursion rather than recovering.
Assumptions & limitations
- This is a reduced one-dimensional (uniaxial) material-point model, not a full 3D finite-element solve; the 3D view only renders the von Mises yield cylinder for the current state.
- Small-strain kinematics with an additive split ε = εᵉ + εᵖ; large-deformation and rate (viscoplastic) effects are not modeled.
- Hardening is linear and isotropic (the yield stress grows as σy0 + Hα); kinematic hardening and the Bauschinger effect are only approximated by the reversed-path geometry.
- Damage is a scalar that degrades stiffness and stress uniformly through (1−D); it is monotonic non-decreasing and does not heal.
- The prescribed strain history is a fixed, non-physical benchmark path chosen to exercise plasticity and damage, not a specific material test record.
- For linear hardening the 1D radial-return update is exact regardless of step count, so results are insensitive to the sample count once plasticity is captured.
Frequently asked questions
What is the difference between effective and nominal stress?
Effective (or true-skeleton) stress σ̄ = E(ε − εp) is the stress carried by the undamaged part of the material and drives the yield check. Nominal stress σ = (1−D)σ̄ is the apparent stress over the full cross-section, reduced by the damage fraction D. In the worked example σ̄ = 353.98 MPa but σ = 304.51 MPa because D ≈ 14%.
Why does the stress-strain curve go down after a point?
Two effects compete past yield: isotropic hardening raises the effective stress (slope H), while damage multiplies the stress by (1−D). Once damage grows quickly enough, the (1−D) factor wins and the nominal stress softens even though the material is still hardening internally. Here the nominal stress peaks near 320 MPa just after yield and then declines.
How do the damage rates d_t and d_c and recovery s work?
Tension and compression damage follow exponential laws D_t = 1−e^(−d_tκ_t) and D_c = 1−e^(−d_cκ_c), where larger d values make damage saturate faster with accumulated plastic strain. They combine as D = 1−(1−D_c)(1−s·D_t); the recovery factor s scales how much tension damage is active in the combined measure, approximating partial crack-closure recovery under reversal.
When does the material start to yield?
Yielding begins when the effective stress reaches the current yield stress, i.e. at εy = σy0/E for the first loading. With σy0 = 320 MPa and E = 210,000 MPa that is εy = 0.001524, or about 0.15% strain. Below that the response is linear elastic with slope E.
What does the von Mises yield cylinder represent?
In principal-stress space the J2/von Mises yield condition is a cylinder whose axis is the hydrostatic line (σ₁ = σ₂ = σ₃) and whose radius is √(2/3)·σy. It is a cylinder because yielding depends only on the deviatoric (shape-changing) stress, not on hydrostatic pressure. As the material hardens, the cylinder radius grows with the current yield stress σy0 + Hα.
Methodology last reviewed 2026-10-06. Results are informational and not financial or engineering advice — see our disclaimer.