From a24d8b86bf44255e5fc9d29879d92eac6bafab59 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Jan 2019 05:20:16 +0100 Subject: [PATCH] convergence of plastic state can be done earlier --- src/crystallite.f90 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 8ae1df5af..475d7dc2a 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -1651,6 +1651,13 @@ subroutine integrateStateFPI() plasticState(p)%dotState(:,c) = plasticState(p)%dotState(:,c) * stateDamper & + plasticState(p)%previousDotState(:,c) & * (1.0_pReal - stateDamper) + + converged = all( abs(plasticStateResiduum(1:mySizePlasticDotState)) < & + plasticState(p)%aTolState(1:mySizePlasticDotState) & + .or. abs(plasticStateResiduum(1:mySizePlasticDotState)) < & + rTol_crystalliteState * abs(tempPlasticState(1:mySizePlasticDotState))) + + plasticState(p)%state(1:mySizePlasticDotState,c) = tempPlasticState(1:mySizePlasticDotState) do s = 1_pInt, phase_Nsources(p) StateDamper = damper(sourceState(p)%p(s)%dotState (:,c), & @@ -1676,12 +1683,6 @@ subroutine integrateStateFPI() * (1.0_pReal - stateDamper) enddo - - ! --- converged ? --- - converged = all( abs(plasticStateResiduum(1:mySizePlasticDotState)) < & - plasticState(p)%aTolState(1:mySizePlasticDotState) & - .or. abs(plasticStateResiduum(1:mySizePlasticDotState)) < & - rTol_crystalliteState * abs(tempPlasticState(1:mySizePlasticDotState))) do s = 1_pInt, phase_Nsources(p) mySizeSourceDotState = sourceState(p)%p(s)%sizeDotState converged = converged .and. & @@ -1692,8 +1693,7 @@ subroutine integrateStateFPI() enddo if (converged) crystallite_converged(g,i,e) = .true. ! ... converged per definition - plasticState(p)%state(1:mySizePlasticDotState,c) = & - tempPlasticState(1:mySizePlasticDotState) + do s = 1_pInt, phase_Nsources(p) mySizeSourceDotState = sourceState(p)%p(s)%sizeDotState sourceState(p)%p(s)%state(1:mySizeSourceDotState,c) = &