further simplifications

This commit is contained in:
Martin Diehl 2019-01-29 00:54:02 +01:00
parent 9892da717a
commit 3fdf8e19bb
1 changed files with 12 additions and 22 deletions

View File

@ -1861,18 +1861,13 @@ real(pReal), dimension(constitutive_plasticity_maxSizeDotState, &
! contribution to state and relative residui and from Euler integration ! contribution to state and relative residui and from Euler integration
call update_dotState(1.0_pReal) call update_dotState(1.0_pReal)
!$OMP PARALLEL !$OMP PARALLEL DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,c)
! --- STATE UPDATE (EULER INTEGRATION) ---
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,c)
do e = FEsolving_execElem(1),FEsolving_execElem(2) do e = FEsolving_execElem(1),FEsolving_execElem(2)
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e) do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e)
do g = 1,homogenization_Ngrains(mesh_element(3,e)) do g = 1,homogenization_Ngrains(mesh_element(3,e))
if (crystallite_todo(g,i,e)) then if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then
p = phaseAt(g,i,e) p = phaseAt(g,i,e); c = phasememberAt(g,i,e)
c = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState mySizePlasticDotState = plasticState(p)%sizeDotState
plasticStateResiduum(1:mySizePlasticDotState,g,i,e) = & plasticStateResiduum(1:mySizePlasticDotState,g,i,e) = &
- 0.5_pReal & - 0.5_pReal &
@ -1895,28 +1890,24 @@ real(pReal), dimension(constitutive_plasticity_maxSizeDotState, &
enddo enddo
endif endif
enddo; enddo; enddo enddo; enddo; enddo
!$OMP ENDDO !$OMP END PARALLEL DO
!$OMP END PARALLEL
call update_deltaState call update_deltaState
call update_dependentState call update_dependentState
call update_stress(1.0_pReal) call update_stress(1.0_pReal)
call update_dotState(1.0_pReal) call update_dotState(1.0_pReal)
!$OMP PARALLEL
! --- ERROR ESTIMATE FOR STATE (HEUN METHOD) ---
!$OMP SINGLE
relPlasticStateResiduum = 0.0_pReal relPlasticStateResiduum = 0.0_pReal
relSourceStateResiduum = 0.0_pReal relSourceStateResiduum = 0.0_pReal
!$OMP END SINGLE
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,converged,p,c,s)
!$OMP PARALLEL DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,converged,p,c,s)
do e = FEsolving_execElem(1),FEsolving_execElem(2) do e = FEsolving_execElem(1),FEsolving_execElem(2)
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e) do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e)
do g = 1,homogenization_Ngrains(mesh_element(3,e)) do g = 1,homogenization_Ngrains(mesh_element(3,e))
if (crystallite_todo(g,i,e)) then if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then
p = phaseAt(g,i,e) p = phaseAt(g,i,e); c = phasememberAt(g,i,e)
c = phasememberAt(g,i,e)
! --- contribution of heun step to absolute residui --- ! --- contribution of heun step to absolute residui ---
mySizePlasticDotState = plasticState(p)%sizeDotState mySizePlasticDotState = plasticState(p)%sizeDotState
plasticStateResiduum(1:mySizePlasticDotState,g,i,e) = & plasticStateResiduum(1:mySizePlasticDotState,g,i,e) = &
@ -1958,8 +1949,7 @@ real(pReal), dimension(constitutive_plasticity_maxSizeDotState, &
if (converged) crystallite_converged(g,i,e) = .true. ! ... converged per definitionem if (converged) crystallite_converged(g,i,e) = .true. ! ... converged per definitionem
endif endif
enddo; enddo; enddo enddo; enddo; enddo
!$OMP ENDDO !$OMP END PARALLEL DO
!$OMP END PARALLEL
! --- NONLOCAL CONVERGENCE CHECK --- ! --- NONLOCAL CONVERGENCE CHECK ---