void HyperElasticPhaseFieldIsoDamage::computePK2StressAndDerivative() { computeElasticStrain(); _save_state = true; computeDamageStress(); _pk2[_qp] = _pk2_tmp; _save_state = false; if (_num_stiffness) computeNumStiffness(); if (_num_stiffness) _dpk2_dce = _dpk2_dee * _dee_dce; _dce_dfe.zero(); for (unsigned int i = 0; i < LIBMESH_DIM; ++i) for (unsigned int j = 0; j < LIBMESH_DIM; ++j) for (unsigned int k = 0; k < LIBMESH_DIM; ++k) { _dce_dfe(i, j, k, i) = _dce_dfe(i, j, k, i) + _fe(k, j); _dce_dfe(i, j, k, j) = _dce_dfe(i, j, k, j) + _fe(k, i); } _dpk2_dfe = _dpk2_dce * _dce_dfe; }
void FiniteStrainHyperElasticViscoPlastic::computePK2StressAndDerivative() { computeElasticStrain(); _pk2[_qp] = _elasticity_tensor[_qp] * _ee; _dce_dfe.zero(); for (unsigned int i = 0; i < LIBMESH_DIM; ++i) for (unsigned int j = 0; j < LIBMESH_DIM; ++j) for (unsigned int k = 0; k < LIBMESH_DIM; ++k) { _dce_dfe(i, j, k, i) = _dce_dfe(i, j, k, i) + _fe(k, j); _dce_dfe(i, j, k, j) = _dce_dfe(i, j, k, j) + _fe(k, i); } _dpk2_dfe = _dpk2_dce * _dce_dfe; }