void RecomputeRadialReturnHyperbolicViscoplasticity::computeStressInitialize(Real effectiveTrialStress) { _shear_modulus = getIsotropicShearModulus(); _yield_condition = effectiveTrialStress - _hardening_variable_old[_qp] - _yield_stress; _hardening_variable[_qp] = _hardening_variable_old[_qp]; _plastic_strain[_qp] = _plastic_strain_old[_qp]; }
void TemperatureDependentHardeningStressUpdate::computeStressInitialize(Real effectiveTrialStress) { _shear_modulus = getIsotropicShearModulus(); initializeHardeningFunctions(); computeYieldStress(); _yield_condition = effectiveTrialStress - _hardening_variable_old[_qp] - _yield_stress; _hardening_variable[_qp] = _hardening_variable_old[_qp]; _plastic_strain[_qp] = _plastic_strain_old[_qp]; }
Real getIsotropicBulkModulus(const RankFourTensor & elasticity_tensor) { const Real shear_modulus = getIsotropicShearModulus(elasticity_tensor); // dilatational modulus is defined as lambda plus two mu const Real dilatational_modulus = elasticity_tensor(0, 0, 0, 0); const Real lambda = dilatational_modulus - 2.0 * shear_modulus; const Real bulk_modulus = lambda + 2.0 * shear_modulus / 3.0; return bulk_modulus; }
Real getIsotropicYoungsModulus(const RankFourTensor & elasticity_tensor) { const Real shear_modulus = getIsotropicShearModulus(elasticity_tensor); // dilatational modulus is defined as lambda plus two mu const Real dilatational_modulus = elasticity_tensor(0, 0, 0, 0); const Real lambda = dilatational_modulus - 2.0 * shear_modulus; const Real youngs_modulus = shear_modulus * (3.0 * lambda + 2.0 * shear_modulus) / (lambda + shear_modulus); return youngs_modulus; }
Real RecomputeRadialReturn::getIsotropicBulkModulus() { const Real shear_modulus = getIsotropicShearModulus(); // dilatational modulus is defined as lambda plus two mu const Real dilatational_modulus = _elasticity_tensor[_qp](0,0,0,0); if (_mesh.dimension() == 3 && dilatational_modulus != _elasticity_tensor[_qp](2,2,2,2)) mooseError("Check to ensure that your Elasticity Tensor is truly Isotropic"); const Real lambda = dilatational_modulus - 2.0 * shear_modulus; const Real bulk_modulus = lambda + 2.0 * shear_modulus / 3.0; return bulk_modulus; }
void PowerLawCreepStressUpdate::computeStressInitialize(Real /*effectiveTrialStress*/) { _shear_modulus = getIsotropicShearModulus(); if (_has_temp) _exponential = std::exp(-_activation_energy / (_gas_constant * _temperature[_qp])); else _exponential = 1; _exp_time = std::pow(_t - _start_time, _m_exponent); _creep_strain[_qp] = _creep_strain_old[_qp]; }