From 0740c9f339cc445b2c08f33cd8a8bc9017078df0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 24 Mar 2020 20:33:26 +0100 Subject: [PATCH] dot state in loop --- src/crystallite.f90 | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 09c782deb..2b60224b8 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -1505,15 +1505,26 @@ subroutine integrateStateRKCK45 nonlocalBroken = .true. if(.not. crystallite_todo(g,i,e)) cycle + call constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e)*CC(stage), g,i,e) + crystallite_todo(g,i,e) = all(.not. IEEE_is_NaN(plasticState(p)%dotState(:,c))) + do s = 1, phase_Nsources(p) + crystallite_todo(g,i,e) = crystallite_todo(g,i,e) .and. all(.not. IEEE_is_NaN(sourceState(p)%p(s)%dotState(:,c))) + enddo + if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) & + nonlocalBroken = .true. + if(.not. crystallite_todo(g,i,e)) cycle + endif enddo; enddo; enddo !$OMP END PARALLEL DO - if(nonlocalBroken) where(.not. crystallite_localPlasticity) crystallite_todo = .false. - call update_dotState(CC(stage)) - enddo + if(nonlocalBroken) where(.not. crystallite_localPlasticity) crystallite_todo = .false. !-------------------------------------------------------------------------------------------------- ! --- STATE UPDATE WITH ERROR ESTIMATE FOR STATE ---