Merge branch 'non-nonlocalConvergenceCheck' into 'development'
nonlocal convergence check not needed See merge request damask/DAMASK!249
This commit is contained in:
commit
e44a1dd2ea
|
@ -441,8 +441,6 @@ function crystallite_stress()
|
||||||
enddo elementLooping3
|
enddo elementLooping3
|
||||||
!$OMP END PARALLEL DO
|
!$OMP END PARALLEL DO
|
||||||
|
|
||||||
call nonlocalConvergenceCheck
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! integrate --- requires fully defined state array (basic + dependent state)
|
! integrate --- requires fully defined state array (basic + dependent state)
|
||||||
where(.not. crystallite_converged .and. crystallite_subStep > num%subStepMinCryst) & ! do not try non-converged but fully cutbacked any further
|
where(.not. crystallite_converged .and. crystallite_subStep > num%subStepMinCryst) & ! do not try non-converged but fully cutbacked any further
|
||||||
|
@ -1526,38 +1524,6 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB)
|
||||||
end subroutine integrateStateRK
|
end subroutine integrateStateRK
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
!> @brief sets convergence flag for nonlocal calculations
|
|
||||||
!> @details one non-converged nonlocal sets all other nonlocals to non-converged to trigger cut back
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
subroutine nonlocalConvergenceCheck
|
|
||||||
|
|
||||||
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)
|
|
||||||
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) crystallite_converged(1,i,e) = .false.
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
!$OMP END PARALLEL DO
|
|
||||||
|
|
||||||
end subroutine nonlocalConvergenceCheck
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief determines whether a point is converged
|
!> @brief determines whether a point is converged
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue