Models for Finite Strains

Implementations of mechanical (stress-strain) material models following the MaterialModelsBase.jl interface.

Hyperelasticity

Neo-Hookean Materials

MechanicalMaterialModels.NeoHookeType
NeoHooke(; G)

The incompressible neo-Hookean formulation with shear modulus G defined by the potential

\[\varPsi(\boldsymbol{C}) = \frac{G}{2} \left[ \frac{\mathrm{tr}(\boldsymbol{C})}{\sqrt[3]{\det(\boldsymbol{C})}} - 3\right]\]

where $\boldsymbol{C}$ is the Right Cauchy-Green deformation tensor.

Note that sometimes, the division by $\sqrt[3]{\det(\boldsymbol{C})}$ is omitted, which has no influence if C truly is incompressible, i.e. $\det(\boldsymbol{C}) = 1$.

source
MechanicalMaterialModels.CompressibleNeoHookeType
CompressibleNeoHooke(; G, K)

A compressible neo-Hookean formulation defined by the potential

\[\varPsi(\boldsymbol{C}) = \frac{G}{2} \left[ \frac{\mathrm{tr}(\boldsymbol{C})}{\sqrt[3]{\det(\boldsymbol{C})}} - 3\right] + \varPsi_\mathrm{vol}\left(\sqrt{\det(\boldsymbol{C})}\right), \quad \varPsi_\mathrm{vol}(J) = \frac{K}{2} \left[ J - 1 \right]^2\]

Note that there are many different variations of this model considering the volumetric part, $\varPsi_\mathrm{vol}$.

source

Plasticity

MechanicalMaterialModels.FiniteStrainPlasticType
FiniteStrainPlastic(;elastic, yield, isotropic, kinematic, overstress)

A finite-strain plasticity model with modular elastic laws, yield criteria, multiple isotropic and kinematic hardening contributions, and either rate-independent or viscoplastic response.

Keyword arguments

  • elastic::AbstractHyperElastic
    Hyperelastic law, see e.g. CompressibleNeoHooke
  • yield::YieldCriterion
    Yield criterion, including the initial yield limit. If yield::Real is given, VonMises(yield) is used.
  • isotropic::Union{AbstractIsotropicHardening,Tuple}
    Isotropic hardening laws, see e.g. Voce
  • kinematic::Union{AbstractKinematicHardening,Tuple}
    Kinematic hardening laws, see e.g. ArmstrongFrederick
  • overstress::Union{RateIndependent,OverstressFunction}
    Rate dependence, see e.g. NortonOverstress
    Defaults to RateIndependent()

Example

m = FiniteStrainPlastic(elastic = CompressibleNeoHooke(G=80.e3, K=160.e3),
            yield = 300.0,
            isotropic = (Voce(Hiso=-100.e3, κ∞=-100.0),Voce(Hiso=10.e3, κ∞=200.0)),
            kinematic = (ArmstrongFrederick(Hkin=200.e3, β∞=200.0),
                         OhnoWang(Hkin=1000.e3, β∞=200.0, m=3.0)),
            overstress = NortonOverstress(;tstar=1.0, nexp=2.0))
source

Theory

The overall modeling framework and general equations for FiniteStrainPlastic is described below. The exact model is specified by the provided laws as keyword arguments during construction.

The model is based on the multiplicative split of the deformation gradient, $\boldsymbol{F}$, into elastic, $\boldsymbol{F}_\mathrm{e}$, and plastic, $\boldsymbol{F}_\mathrm{p}$, parts,

\[\boldsymbol{F}=\boldsymbol{F}_\mathrm{e} \boldsymbol{F}_\mathrm{p}\]

Elastic law

The 2nd Piola-Kirchhoff stress, $\boldsymbol{S}_\mathrm{e}$, on the intermediate (elastic) configuration is then calculated from the hyperelastic potential, $\varPsi(\boldsymbol{C}_\mathrm{e})$,

\[\boldsymbol{S}_\mathrm{e} = 2\frac{\partial \varPsi}{\partial \boldsymbol{C}_\mathrm{e}}\]

where the elastic Right Cauchy-Green deformation tensor, $\boldsymbol{C}_\mathrm{e} := \boldsymbol{F}_\mathrm{e}^\mathrm{T}\boldsymbol{F}_\mathrm{e}$. We further introduce the Mandel stress as

\[\boldsymbol{M} = 2 \boldsymbol{C}_\mathrm{e} \frac{\partial \varPsi}{\partial \boldsymbol{C}_\mathrm{e}}\]

where $\boldsymbol{M} = \boldsymbol{F}_\mathrm{e}^\mathrm{T} \boldsymbol{\tau} \boldsymbol{F}_\mathrm{e}^\mathrm{-T}$ and $\boldsymbol{\tau}$ is the Kirchhoff stress and $\boldsymbol{P} = \boldsymbol{F}_\mathrm{e} \boldsymbol{S}_\mathrm{e} \boldsymbol{F}_\mathrm{p}^{-T}$ is the 1st Piola-Kirchhoff stress.

In summary, the elastic response is determined by the potential, $\varPsi(\boldsymbol{C}_\mathrm{e})$, specified by the elastic law.

Yield Criterion

A yield criterion of the type

\[\varPhi = f\left( \boldsymbol{M} - \boldsymbol{M}_\mathrm{k} \right) - \left[Y_0 + \kappa\right]\]

is formulated in terms of Mandel stresses, where $\boldsymbol{M}_\mathrm{k}$ is the total back-stress, and $\kappa$ the total isotropic hardening stress.

\[\boldsymbol{M}_\mathrm{k} = \sum_{i=1}^{N_\mathrm{kin}} \boldsymbol{M}_{\mathrm{k},i}, \quad \kappa = \sum_{i=1}^{N_\mathrm{iso}} \kappa_i\]

How the back-stresses, $\boldsymbol{M}_{\mathrm{k},i}$, and isotropic hardening stresses, $\kappa_i$, are calculated is further described below.

The initial yield limit, $Y_0$, is passed to the yield criterion along with potentially other parameters affecting the function $f$.

In this framework, an associative plastic flow is used to obtain the plastic deformations, specifically

\[\boldsymbol{L}_\mathrm{p} := \dot{\boldsymbol{F}}_\mathrm{p} \boldsymbol{F}_\mathrm{p}^{-1} = \dot{\lambda} \mathrm{\nu}, \quad \mathrm{\nu} := \frac{\partial \varPhi}{\partial \boldsymbol{M}}\]

Isotropic Hardening

The isotropic hardening is formulated as $\kappa_i = g_{\mathrm{iso},i}(\lambda)$, determined by the specific isotropic hardening laws, see Isotropic hardening.

Kinematic Hardening

The back-stresses, $\boldsymbol{M}_{\mathrm{k},i}$, are calculated as

\[\boldsymbol{M}_{\mathrm{k},i} = 2\boldsymbol{c}_{\mathrm{k},i} \frac{\partial\varPsi_{\mathrm{k},i}}{\partial \boldsymbol{c}_{\mathrm{k},i}}\]

where the deformation tensor associated with kinematic hardening, $\boldsymbol{c}_{\mathrm{k},i} := \boldsymbol{F}_{\mathrm{k},i}^{-\mathrm{T}}\boldsymbol{F}_{\mathrm{k},i}^{-1}$. The free energy for the kinematic hardening stress, $\varPsi_{\mathrm{k},i}$, is always given by the incompressible NeoHooke formulation, with modulus $G=H/3$, where $H$ is the hardening modulus given to the kinematic hardening law. The factor $1/3$ gives the same initial plastic stiffness for both isotropic and kinematic hardening.

The evolution of the kinematic hardening deformation gradient, $\boldsymbol{F}_{\mathrm{k},i}$, is then given by the specific kinematic hardening law,

\[\boldsymbol{L}_\mathrm{p} := \dot{\boldsymbol{F}}_\mathrm{p} \boldsymbol{F}_\mathrm{p}^{-1} = \dot{\lambda} \boldsymbol{g}_{\mathrm{k},i}(\boldsymbol{\nu}, \boldsymbol{M}_{\mathrm{k},i})\]

where $\boldsymbol{g}_{\mathrm{k},i}$ are determined by the specific hardening laws, see Kinematic hardening.

Rate Dependence

If overstress=RateIndependent(), the plastic multiplier, $\lambda$, is obtained via the KKT-conditions,

\[\dot{\lambda} \geq 0, \quad \varPhi \leq 0, \quad \dot{\lambda}\varPhi = 0\]

Otherwise, the overstress function, $\eta(\varPhi)$, determines the evolution of $\lambda$ as

\[\dot{\lambda} = \eta(\varPhi, Y_0 + \kappa)\]