Plastic

MaterialModels.PlasticType
Plastic(E, ν, σ_y, H, r, κ_∞, α_∞)

Plasticity with von Mises yield surface and mixed non-linear kinematic + non-linear isotropic hardening. Both hardening laws are of saturation type.

Arguments

  • E::Float64: Young's modulus
  • ν::Float64: Poisson's ratio
  • σ_y: yield limit
  • H: hardening modulus
  • r: coupling parameter between isotropic and kinematic hardening
  • κ_∞: saturation stress for isotropic hardening
  • α_∞: saturation stress for kinematic hardening
source
MaterialModels.material_responseMethod
material_response(m::Plastic, ε::SymmetricTensor{2,3,T,6}, state::PlasticState{3}; <keyword arguments>)

Return the stress tensor, stress tangent and the new MaterialState for the given strain ε and previous material state state.

Plastic free energy:

\[\Psi^\text{p} = \frac{1}{2} \, r \, H \, k^2 + \frac{1}{2}\left( 1-r \right) \, H \, \left[ \sqrt{\frac{2}{3}} \left| \text{dev} \left(\mathbf{a} \right) \right| \right]^2\]

Von Mises yield function:

\[\Phi = \sqrt{\frac{3}{2}} \left| \text{dev} \left( \boldsymbol{\sigma} - \boldsymbol{\alpha} \right) \right| - \sigma_y - \kappa\]

An associative flow rule and non-associative hardening rules are used. The evolution equations for the hardening variables are:

\[\begin{aligned} \dot{k} &= -\lambda \left( 1 - \frac{\kappa}{\kappa_{\infty}} \right) \\ \dot{\mathbf{a}} &= -\lambda \left( \frac{\partial\Phi}{\partial\boldsymbol{\sigma}} + \frac{3}{2\alpha_{\infty}} \, \text{dev} \left( \boldsymbol{\alpha} \right) \right) \,. \end{aligned}\]

Keyword arguments

  • cache: Cache for the iterative solver, used by NLsolve.jl. It is strongly recommended to pre-allocate the cache for repeated calls to material_response. See get_cache.
  • options::Dict{Symbol, Any}: Solver options for the non-linear solver. Under the key :nlsolve_params keyword arguments for nlsolve can be handed over.

See NLsolve documentation. By default the Newton solver will be used.

source