Plastic
MaterialModels.Plastic
— TypePlastic(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 limitH:
hardening modulusr:
coupling parameter between isotropic and kinematic hardeningκ_∞:
saturation stress for isotropic hardeningα_∞:
saturation stress for kinematic hardening
MaterialModels.material_response
— Methodmaterial_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 tomaterial_response
. Seeget_cache
.options::Dict{Symbol, Any}
: Solver options for the non-linear solver. Under the key:nlsolve_params
keyword arguments fornlsolve
can be handed over.
See NLsolve documentation. By default the Newton solver will be used.