now reporting extreme values of stress and tangent, that were returned to marc, in output file
This commit is contained in:
parent
7a7ca1aab7
commit
0a30fb739a
|
@ -229,7 +229,12 @@ subroutine hypela2(&
|
||||||
real(pReal), dimension (3,3) :: pstress ! dummy argument for call of cpfem_general (used by mpie_spectral)
|
real(pReal), dimension (3,3) :: pstress ! dummy argument for call of cpfem_general (used by mpie_spectral)
|
||||||
real(pReal), dimension (3,3,3,3) :: dPdF ! dummy argument for call of cpfem_general (used by mpie_spectral)
|
real(pReal), dimension (3,3,3,3) :: dPdF ! dummy argument for call of cpfem_general (used by mpie_spectral)
|
||||||
|
|
||||||
integer(pInt) computationMode, i, cp_en
|
integer(pInt) computationMode, i, cp_en, &
|
||||||
|
s_max_e, s_max_i, s_min_e, s_min_i, &
|
||||||
|
d_max_e, d_max_i, d_min_e, d_min_i
|
||||||
|
real(pReal) s_max, s_min, &
|
||||||
|
d_max, d_min
|
||||||
|
|
||||||
! OpenMP variable
|
! OpenMP variable
|
||||||
!$ integer(pInt) defaultNumThreadsInt ! default value set by Marc
|
!$ integer(pInt) defaultNumThreadsInt ! default value set by Marc
|
||||||
|
|
||||||
|
@ -297,6 +302,10 @@ subroutine hypela2(&
|
||||||
call debug_reset() ! resets debugging
|
call debug_reset() ! resets debugging
|
||||||
outdatedFFN1 = .false.
|
outdatedFFN1 = .false.
|
||||||
cycleCounter = cycleCounter + 1_pInt
|
cycleCounter = cycleCounter + 1_pInt
|
||||||
|
s_max = - 1.0_pReal / 0.0_pReal ! reset stored max/min values
|
||||||
|
s_min = + 1.0_pReal / 0.0_pReal
|
||||||
|
d_max = - 1.0_pReal / 0.0_pReal
|
||||||
|
d_min = + 1.0_pReal / 0.0_pReal
|
||||||
endif
|
endif
|
||||||
if ( outdatedByNewInc ) then
|
if ( outdatedByNewInc ) then
|
||||||
outdatedByNewInc = .false. ! reset flag
|
outdatedByNewInc = .false. ! reset flag
|
||||||
|
@ -306,7 +315,18 @@ subroutine hypela2(&
|
||||||
endif
|
endif
|
||||||
else ! now --- COLLECT ---
|
else ! now --- COLLECT ---
|
||||||
if ( lastMode /= calcMode(nn,cp_en) .and. &
|
if ( lastMode /= calcMode(nn,cp_en) .and. &
|
||||||
.not. terminallyIll ) call debug_info() ! first after ping pong reports (meaningful) debugging
|
.not. terminallyIll ) then
|
||||||
|
call debug_info() ! first after ping pong reports (meaningful) debugging
|
||||||
|
write(6,*)
|
||||||
|
write(6,*) 'REPORT EXTREME VALUES OF RETURNED VARIABLES'
|
||||||
|
write(6,*)
|
||||||
|
write(6,'(a39)') ' value el ip'
|
||||||
|
write(6,'(a14,x,e12.3,x,i6,x,i4)') 'stress min :', s_min, s_min_e, s_min_i
|
||||||
|
write(6,'(a14,x,e12.3,x,i6,x,i4)') ' max :', s_max, s_max_e, s_max_i
|
||||||
|
write(6,'(a14,x,e12.3,x,i6,x,i4)') 'jacobian min :', d_min, d_min_e, d_min_i
|
||||||
|
write(6,'(a14,x,e12.3,x,i6,x,i4)') ' max :', d_max, d_max_e, d_max_i
|
||||||
|
write(6,*)
|
||||||
|
endif
|
||||||
if ( lastIncConverged ) then
|
if ( lastIncConverged ) then
|
||||||
lastIncConverged = .false. ! reset flag
|
lastIncConverged = .false. ! reset flag
|
||||||
computationMode = 4 ! collect and backup Jacobian after convergence
|
computationMode = 4 ! collect and backup Jacobian after convergence
|
||||||
|
@ -331,6 +351,29 @@ subroutine hypela2(&
|
||||||
s(1:ngens) = stress(1:ngens)*invnrmMandel(1:ngens)
|
s(1:ngens) = stress(1:ngens)*invnrmMandel(1:ngens)
|
||||||
if(symmetricSolver) d(1:ngens,1:ngens) = 0.5_pReal*(d(1:ngens,1:ngens)+transpose(d(1:ngens,1:ngens)))
|
if(symmetricSolver) d(1:ngens,1:ngens) = 0.5_pReal*(d(1:ngens,1:ngens)+transpose(d(1:ngens,1:ngens)))
|
||||||
|
|
||||||
|
if (calcMode(nn,cp_en)) then
|
||||||
|
if (maxval(s(1:ngens)) > s_max) then ! remember extreme values of stress and jacobian
|
||||||
|
s_max_e = cp_en
|
||||||
|
s_max_i = nn
|
||||||
|
s_max = maxval(s(1:ngens))
|
||||||
|
endif
|
||||||
|
if (minval(s(1:ngens)) < s_min) then
|
||||||
|
s_min_e = cp_en
|
||||||
|
s_min_i = nn
|
||||||
|
s_min = minval(s(1:ngens))
|
||||||
|
endif
|
||||||
|
if (maxval(d(1:ngens,1:ngens)) > d_max) then
|
||||||
|
d_max_e = cp_en
|
||||||
|
d_max_i = nn
|
||||||
|
d_max = maxval(d(1:ngens,1:ngens))
|
||||||
|
endif
|
||||||
|
if (minval(d(1:ngens,1:ngens)) < d_min) then
|
||||||
|
d_min_e = cp_en
|
||||||
|
d_min_i = nn
|
||||||
|
d_min = minval(d(1:ngens,1:ngens))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
!$ call omp_set_num_threads(defaultNumThreadsInt) ! reset number of threads to stored default value
|
!$ call omp_set_num_threads(defaultNumThreadsInt) ! reset number of threads to stored default value
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue