diff --git a/src/phase_mechanical_plastic.f90 b/src/phase_mechanical_plastic.f90 index fc69a57da..671af5009 100644 --- a/src/phase_mechanical_plastic.f90 +++ b/src/phase_mechanical_plastic.f90 @@ -261,6 +261,7 @@ module subroutine plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & integer :: & i, j + if (phase_plasticity(ph) == PLASTICITY_NONE_ID) then Lp = 0.0_pReal dLp_dFi = 0.0_pReal @@ -295,7 +296,7 @@ module subroutine plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & dLp_dFi(i,j,1:3,1:3) = matmul(matmul(Fi,S),transpose(dLp_dMp(i,j,1:3,1:3))) + & matmul(matmul(Fi,dLp_dMp(i,j,1:3,1:3)),S) dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) - enddo; enddo + end do; end do end if @@ -319,6 +320,7 @@ module function plastic_dotState(subdt,co,ip,el,ph,en) result(broken) Mp logical :: broken + if (phase_plasticity(ph) /= PLASTICITY_NONE_ID) then Mp = matmul(matmul(transpose(phase_mechanical_Fi(ph)%data(1:3,1:3,en)),& phase_mechanical_Fi(ph)%data(1:3,1:3,en)),phase_mechanical_S(ph)%data(1:3,1:3,en))