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:
parent
b9f97ba5da
commit
36676029e1
|
@ -2045,9 +2045,10 @@ relTemperatureResiduum = 0.0_pReal
|
||||||
!$OMP ENDDO
|
!$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
|
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...
|
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
|
crystallite_todo(g,i,e) = .false. ! ... integration done
|
||||||
|
@ -2061,7 +2062,8 @@ relTemperatureResiduum = 0.0_pReal
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
enddo; enddo; enddo
|
enddo; enddo; enddo
|
||||||
!$OMP ENDDO
|
!$OMP ENDDO
|
||||||
|
endif
|
||||||
|
|
||||||
!$OMP END PARALLEL
|
!$OMP END PARALLEL
|
||||||
|
|
||||||
|
@ -2236,9 +2238,10 @@ endif
|
||||||
!$OMP ENDDO
|
!$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
|
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
|
if (crystallite_todo(g,i,e)) then
|
||||||
crystallite_todo(g,i,e) = crystallite_stateJump(g,i,e)
|
crystallite_todo(g,i,e) = crystallite_stateJump(g,i,e)
|
||||||
|
@ -2249,7 +2252,8 @@ endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
enddo; enddo; enddo
|
enddo; enddo; enddo
|
||||||
!$OMP ENDDO
|
!$OMP ENDDO
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
! --- SET CONVERGENCE FLAG ---
|
! --- SET CONVERGENCE FLAG ---
|
||||||
|
|
Loading…
Reference in New Issue