CrystalPlasticityDeformationGradientPredictor#

Source: models/solid_mechanics/crystal_plasticity/CrystalPlasticityDeformationGradientPredictor.py

Warm-up predictor for multiplicative crystal plasticity.

Seeds the plastic deformation gradient so the local Newton starts from a low-stress state instead of the frozen-\(F_p\) elastic trial (which over-stresses for a large step and inflates the initial residual). With the trial elastic deformation \(F_e^{tr} = F F_{p,n}^{-1}\), the guess is

\[ F_e^{pred} = I + s (F_e^{tr} - I), \qquad F_p^{pred} = (F_e^{pred})^{-1} F, \]

where the scale \(s < 1\) relaxes the over-shot trial elastic strain back toward the yield surface and the remainder is absorbed into \(F_p\). The guess is applied only where the trial elastic strain norm exceeds threshold (i.e. the frozen trial over-stresses); elsewhere \(F_{p,n}\) is kept. This mirrors CrystalPlasticityStrainPredictor for the \(F_p\)-based (multiplicative) formulation. It is a one-shot warm-up: its derivative does not enter the Newton residual, so the chain rule is a trivial pass-through.

Inputs#

deformation_gradientinput · R2 · required

Deformation gradient

Outputs#

plastic_deformation_gradientoutput · R2 · required

Predicted plastic deformation gradient

Parameters#

scaleparameter · Scalar · default 0.1

Scale factor applied to the trial elastic deformation increment

thresholdparameter · Scalar · default 1e-3

Apply the predictor only where the trial elastic strain norm exceeds this value.