for state integrator 2 (explicit euler) and 3 (adaptive 2nd order euler): don't do any state evolution during stiffness perturbation, but only stress integration, since for those cases the state is not restored after every perturbation step

This commit is contained in:
Christoph Kords 2012-10-19 11:20:31 +00:00
parent b9f97ba5da
commit 36676029e1
1 changed files with 32 additions and 28 deletions

View File

@ -2045,9 +2045,10 @@ relTemperatureResiduum = 0.0_pReal
!$OMP ENDDO
! --- STATE JUMP ---
if (numerics_integrationMode < 2) then ! in stiffness calculation mode we do not need to do the state integration again, since this is not influenced by a small perturbation in F
! --- STATE JUMP ---
!$OMP DO
!$OMP DO
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e) .and. crystallite_converged(g,i,e)) then ! converged and still alive...
crystallite_todo(g,i,e) = .false. ! ... integration done
@ -2061,7 +2062,8 @@ relTemperatureResiduum = 0.0_pReal
endif
endif
enddo; enddo; enddo
!$OMP ENDDO
!$OMP ENDDO
endif
!$OMP END PARALLEL
@ -2236,9 +2238,10 @@ endif
!$OMP ENDDO
! --- STATE JUMP ---
if (numerics_integrationMode < 2) then ! in stiffness calculation mode we do not need to do the state integration again, since this is not influenced by a small perturbation in F
! --- STATE JUMP ---
!$OMP DO
!$OMP DO
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
crystallite_todo(g,i,e) = crystallite_stateJump(g,i,e)
@ -2249,7 +2252,8 @@ endif
endif
endif
enddo; enddo; enddo
!$OMP ENDDO
!$OMP ENDDO
endif
! --- SET CONVERGENCE FLAG ---