diff --git a/dG3D/src/dG3DMaterialLaw.cpp b/dG3D/src/dG3DMaterialLaw.cpp index 277a12626e3abac6aa5b3d56110b72620713e231..bca3df91422aa1cdb7b5fb0634917d6c85a3e6a5 100644 --- a/dG3D/src/dG3DMaterialLaw.cpp +++ b/dG3D/src/dG3DMaterialLaw.cpp @@ -5753,7 +5753,8 @@ void StochTMDMNDG3DMaterialLaw::stress(IPVariable*ipv, const IPVariable*ipvprev, STensorOperation::multSTensor3InPlace2nd(R,U); STensorOperation::multSTensor3InPlace1st(U,RT); - F = U; // R_def in the rotated frame = I; + STensorOperation::multSTensor3(R_def,U,F); + // F = U; // R_def in the rotated frame = I; STensorOperation::multSTensor3SVector3InPlace2nd(R,H); } @@ -6208,8 +6209,14 @@ void StochTMDMNDG3DMaterialLaw::stress(IPVariable*ipv, const IPVariable*ipvprev, for(int s=0; s<3; s++) dUrot_dF(m,n,k,l) += I4_symm(m,n,p,q)*dUrot_dU(p,q,r,s)*dUdF(r,s,k,l); } - - dFrot_dF = dUrot_dF; // R_def_rot = I; + + for(int m=0; m<3; m++) + for(int n=0; n<3; n++) + for(int k=0; k<3; k++) + for(int l=0; l<3; l++) + for(int p=0; p<3; p++) + dFrot_dF(m,n,k,l) += R_def(m,p)*dUrot_dF(p,n,k,l); + // dFrot_dF = dUrot_dF; // R_def_rot = I; for(int m=0; m<3; m++) for(int n=0; n<3; n++)