Exemple #1
0
void
IsotropicPlasticity::iterationFinalize(unsigned qp, Real scalar)
{
  if (_yield_condition > 0)
    _hardening_variable[qp] = computeHardeningValue(qp, scalar);

  if (_scalar_plastic_strain)
    (*_scalar_plastic_strain)[qp] = (*_scalar_plastic_strain_old)[qp] + scalar;
}
Exemple #2
0
Real
IsotropicPlasticity::computeResidual(unsigned qp, Real effectiveTrialStress, Real scalar)
{
  Real residual(0);
  _hardening_slope = 0;
  if (_yield_condition > 0)
  {
    _hardening_slope = computeHardeningDerivative(qp, scalar);
    _hardening_variable[qp] = computeHardeningValue(qp, scalar);

    // The order here is important.  The final term can be small, and we don't want it lost to roundoff.
    residual = (effectiveTrialStress - _hardening_variable[qp] - _yield_stress) - (3 * _shear_modulus * scalar);
  }
  return residual;
}
Real
IsotropicPlasticity::computeResidual(const Real effectiveTrialStress, const Real scalar)
{
  Real residual = 0.0;
  _hardening_slope = 0.0;
  if (_yield_condition > 0.0)
  {
    _hardening_slope = computeHardeningDerivative(scalar);
    _hardening_variable[_qp] = computeHardeningValue(scalar);

    // The order here is important.  The final term can be small, and we don't want it lost to
    // roundoff.
    residual =
        (effectiveTrialStress - _hardening_variable[_qp] - _yield_stress) / (3.0 * _shear_modulus) -
        scalar;
  }

  return residual;
}
Real
IsotropicPlasticityStressUpdate::computeResidual(const Real effective_trial_stress,
                                                 const Real scalar)
{
  Real residual = 0.0;

  mooseAssert(_yield_condition != -1.0,
              "the yield stress was not updated by computeStressInitialize");

  if (_yield_condition > 0.0)
  {
    _hardening_slope = computeHardeningDerivative(scalar);
    _hardening_variable[_qp] = computeHardeningValue(scalar);

    residual =
        (effective_trial_stress - _hardening_variable[_qp] - _yield_stress) / _three_shear_modulus -
        scalar;
  }
  return residual;
}
void
IsotropicPlasticity::iterationFinalize(Real scalar)
{
  if (_yield_condition > 0)
    _hardening_variable[_qp] = computeHardeningValue(scalar);
}