no need for extra loop

This commit is contained in:
Martin Diehl 2020-03-25 11:16:26 +01:00
parent 67f64cf7e1
commit 652846cdc9
1 changed files with 8 additions and 17 deletions

View File

@ -1548,21 +1548,6 @@ subroutine integrateStateRKCK45
* crystallite_subdt(g,i,e) * crystallite_subdt(g,i,e)
enddo enddo
endif
enddo; enddo; enddo
!$OMP END PARALLEL DO
if(nonlocalBroken) where(.not. crystallite_localPlasticity) crystallite_todo = .false.
! --- relative residui and state convergence ---
!$OMP PARALLEL DO PRIVATE(sizeDotState,p,c)
do e = FEsolving_execElem(1),FEsolving_execElem(2)
do i = FEsolving_execIP(1),FEsolving_execIP(2)
do g = 1,homogenization_Ngrains(material_homogenizationAt(e))
if (crystallite_todo(g,i,e)) then
p = material_phaseAt(g,e); c = material_phaseMemberAt(g,i,e)
sizeDotState = plasticState(p)%sizeDotState sizeDotState = plasticState(p)%sizeDotState
crystallite_todo(g,i,e) = converged(residuum_plastic(1:sizeDotState,g,i,e), & crystallite_todo(g,i,e) = converged(residuum_plastic(1:sizeDotState,g,i,e), &
@ -1577,10 +1562,16 @@ subroutine integrateStateRKCK45
sourceState(p)%p(s)%state(1:sizeDotState,c), & sourceState(p)%p(s)%state(1:sizeDotState,c), &
sourceState(p)%p(s)%atol(1:sizeDotState)) sourceState(p)%p(s)%atol(1:sizeDotState))
enddo enddo
endif if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
enddo; enddo; enddo nonlocalBroken = .true.
if(.not. crystallite_todo(g,i,e)) cycle
endif
enddo; enddo; enddo
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
if(nonlocalBroken) where(.not. crystallite_localPlasticity) crystallite_todo = .false.
call update_deltaState call update_deltaState
call update_dependentState call update_dependentState
call update_stress(1.0_pReal) call update_stress(1.0_pReal)