modularizing

This commit is contained in:
Martin Diehl 2020-09-29 12:48:29 +02:00
parent b5eaf2cb50
commit c46b4d90a6
1 changed files with 17 additions and 5 deletions

View File

@ -1241,7 +1241,7 @@ subroutine integrateStateFPI(todo)
enddo; enddo; enddo enddo; enddo; enddo
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
if (nonlocalBroken) call nonlocalConvergenceCheck call nonlocalConvergenceCheck
contains contains
@ -1328,7 +1328,7 @@ subroutine integrateStateEuler(todo)
enddo; enddo; enddo enddo; enddo; enddo
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
if (nonlocalBroken) call nonlocalConvergenceCheck call nonlocalConvergenceCheck
end subroutine integrateStateEuler end subroutine integrateStateEuler
@ -1422,7 +1422,7 @@ subroutine integrateStateAdaptiveEuler(todo)
enddo; enddo; enddo enddo; enddo; enddo
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
if (nonlocalBroken) call nonlocalConvergenceCheck call nonlocalConvergenceCheck
end subroutine integrateStateAdaptiveEuler end subroutine integrateStateAdaptiveEuler
@ -1612,7 +1612,7 @@ subroutine integrateStateRK(todo,A,B,CC,DB)
enddo; enddo; enddo enddo; enddo; enddo
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
if(nonlocalBroken) call nonlocalConvergenceCheck call nonlocalConvergenceCheck
end subroutine integrateStateRK end subroutine integrateStateRK
@ -1624,7 +1624,19 @@ end subroutine integrateStateRK
subroutine nonlocalConvergenceCheck subroutine nonlocalConvergenceCheck
integer :: e,i,p integer :: e,i,p
logical :: nonlocal_broken
nonlocal_broken = .false.
!$OMP PARALLEL DO PRIVATE(p)
do e = FEsolving_execElem(1),FEsolving_execElem(2)
p = material_phaseAt(1,e)
do i = FEsolving_execIP(1),FEsolving_execIP(2)
if(plasticState(p)%nonlocal .and. .not. crystallite_converged(1,i,e)) nonlocal_broken = .true.
enddo
enddo
!$OMP END PARALLEL DO
if(.not. nonlocal_broken) return
!$OMP PARALLEL DO PRIVATE(p) !$OMP PARALLEL DO PRIVATE(p)
do e = FEsolving_execElem(1),FEsolving_execElem(2) do e = FEsolving_execElem(1),FEsolving_execElem(2)
p = material_phaseAt(1,e) p = material_phaseAt(1,e)