fix for openMP

This commit is contained in:
Martin Diehl 2021-05-23 18:44:24 +02:00
parent 7afb1d28cc
commit 78799f9794
2 changed files with 4 additions and 5 deletions

View File

@ -236,21 +236,20 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
NiterationMPstate, & NiterationMPstate, &
ip, & !< integration point number ip, & !< integration point number
el, & !< element number el, & !< element number
myNgrains, co, ce, ho, en, ph co, ce, ho, en, ph
logical :: & logical :: &
converged converged
logical, dimension(2) :: & logical, dimension(2) :: &
doneAndHappy doneAndHappy
!$OMP PARALLEL !$OMP PARALLEL
!$OMP DO PRIVATE(ce,en,ho,myNgrains,NiterationMPstate,converged,doneAndHappy) !$OMP DO PRIVATE(ce,en,ho,NiterationMPstate,converged,doneAndHappy)
do el = FEsolving_execElem(1),FEsolving_execElem(2) do el = FEsolving_execElem(1),FEsolving_execElem(2)
do ip = FEsolving_execIP(1),FEsolving_execIP(2) do ip = FEsolving_execIP(1),FEsolving_execIP(2)
ce = (el-1)*discretization_nIPs + ip ce = (el-1)*discretization_nIPs + ip
en = material_homogenizationEntry(ce) en = material_homogenizationEntry(ce)
ho = material_homogenizationID(ce) ho = material_homogenizationID(ce)
myNgrains = homogenization_Nconstituents(ho)
call phase_restore(ce,.false.) ! wrong name (is more a forward function) call phase_restore(ce,.false.) ! wrong name (is more a forward function)
@ -267,7 +266,7 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
call mechanical_partition(homogenization_F(1:3,1:3,ce),ce) call mechanical_partition(homogenization_F(1:3,1:3,ce),ce)
converged = .true. converged = .true.
do co = 1, myNgrains do co = 1, homogenization_Nconstituents(ho)
converged = converged .and. crystallite_stress(dt,co,ip,el) converged = converged .and. crystallite_stress(dt,co,ip,el)
enddo enddo

View File

@ -564,7 +564,7 @@ subroutine crystallite_init()
flush(IO_STDOUT) flush(IO_STDOUT)
!$OMP PARALLEL DO !$OMP PARALLEL DO PRIVATE(ce)
do el = 1, eMax do el = 1, eMax
do ip = 1, iMax do ip = 1, iMax
ce = (el-1)*discretization_nIPs + ip ce = (el-1)*discretization_nIPs + ip