From 0b10c52b77a56a5c144dd57e7d07d6430ed5ea3d Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Fri, 15 Mar 2013 06:27:04 +0000 Subject: [PATCH] restore Jacoby after cutback, was lost during restructering --- code/DAMASK_abaqus_std.f | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/DAMASK_abaqus_std.f b/code/DAMASK_abaqus_std.f index 5b2a26472..1ecbeab05 100644 --- a/code/DAMASK_abaqus_std.f +++ b/code/DAMASK_abaqus_std.f @@ -182,6 +182,7 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,& real(pReal), dimension(6) :: stress_h real(pReal), dimension(6,6) :: ddsdde_h integer(pInt) computationMode, i, cp_en + logical :: cutBack if (iand(debug_level(debug_abaqus),debug_levelBasic) /= 0 .and. noel == 1 .and. npt == 1) then !$OMP CRITICAL (write2out) @@ -225,6 +226,7 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,& endif else if ( dtime < theDelta ) then ! >> cutBack << + cutBack = .true. terminallyIll = .false. cycleCounter = -1 ! first calc step increments this to cycle = 0 calcMode = .true. ! pretend last step was calculation @@ -255,6 +257,9 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,& if (lastIncConverged) then lastIncConverged = .false. computationMode = ior(computationMode,CPFEM_BACKUPJACOBIAN) ! backup Jacobian after convergence + elseif ( cutBack ) then + cutBack = .false. + computationMode = ior(computationMode,CPFEM_RESTOREJACOBIAN) ! restore Jacobian after cutback endif mesh_ipCoordinates(1:3,npt,cp_en) = numerics_unitlength * COORDS endif