* cpfem will now produce a warning if all components of the stiffness tensor are close to zero
This commit is contained in:
parent
54748bb6a5
commit
bca951325d
|
@ -266,7 +266,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, Temperature, dt, element, IP, cauchySt
|
||||||
materialpoint_Temperature, &
|
materialpoint_Temperature, &
|
||||||
materialpoint_stressAndItsTangent, &
|
materialpoint_stressAndItsTangent, &
|
||||||
materialpoint_postResults
|
materialpoint_postResults
|
||||||
use IO, only: IO_write_jobBinaryFile
|
use IO, only: IO_write_jobBinaryFile, &
|
||||||
|
IO_warning
|
||||||
use mpie_interface
|
use mpie_interface
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
|
@ -537,6 +538,11 @@ subroutine CPFEM_general(mode, ffn, ffn1, Temperature, dt, element, IP, cauchySt
|
||||||
pstress(:,:) = materialpoint_P(:,:,IP,cp_en)
|
pstress(:,:) = materialpoint_P(:,:,IP,cp_en)
|
||||||
dPdF(:,:,:,:) = materialpoint_dPdF(:,:,:,:,IP,cp_en)
|
dPdF(:,:,:,:) = materialpoint_dPdF(:,:,:,:,IP,cp_en)
|
||||||
|
|
||||||
|
! warning for zero stiffness
|
||||||
|
if (all(abs(jacobian) < 1e-10_pReal)) then
|
||||||
|
call IO_warning(601,cp_en,IP)
|
||||||
|
endif
|
||||||
|
|
||||||
if (selectiveDebugger .and. cp_en == debug_e .and. IP == debug_i .and. mode < 6) then
|
if (selectiveDebugger .and. cp_en == debug_e .and. IP == debug_i .and. mode < 6) then
|
||||||
!$OMP CRITICAL (write2out)
|
!$OMP CRITICAL (write2out)
|
||||||
write(6,'(a,x,i2,x,a,x,i4,/,6(f10.3,x)/)') 'stress/MPa at ip', IP, 'el', cp_en, cauchyStress/1e6
|
write(6,'(a,x,i2,x,a,x,i4,/,6(f10.3,x)/)') 'stress/MPa at ip', IP, 'el', cp_en, cauchyStress/1e6
|
||||||
|
|
12
code/IO.f90
12
code/IO.f90
|
@ -1377,6 +1377,8 @@ endfunction
|
||||||
msg = '+ crystallite debugging off... +'
|
msg = '+ crystallite debugging off... +'
|
||||||
case (600)
|
case (600)
|
||||||
msg = '+ crystallite responds elastically +'
|
msg = '+ crystallite responds elastically +'
|
||||||
|
case (601)
|
||||||
|
msg = '+ stiffness close to zero +'
|
||||||
case (650)
|
case (650)
|
||||||
msg = '+ polar decomposition failed +'
|
msg = '+ polar decomposition failed +'
|
||||||
case (700)
|
case (700)
|
||||||
|
@ -1393,10 +1395,14 @@ endfunction
|
||||||
write(6,'(a38)') msg
|
write(6,'(a38)') msg
|
||||||
if (present(ext_msg)) write(6,*) '+ ',ext_msg
|
if (present(ext_msg)) write(6,*) '+ ',ext_msg
|
||||||
if (present(e)) then
|
if (present(e)) then
|
||||||
if (present(i) .and. present(g)) then
|
if (present(i)) then
|
||||||
write(6,'(a12,x,i6,x,a2,x,i2,x,a5,x,i4,a2)') '+ at element',e,'IP',i,'grain',g,' +'
|
if (present(g)) then
|
||||||
|
write(6,'(a12,x,i6,x,a2,x,i2,x,a5,x,i4,a2)') '+ at element',e,'IP',i,'grain',g,' +'
|
||||||
|
else
|
||||||
|
write(6,'(a12,x,i6,x,a2,x,i2,a13)') '+ at element',e,'IP',i,' +'
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
write(6,'(a17,i6,a14)') '+ at ',e,' +'
|
write(6,'(a12,x,i6,a19)') '+ at element',e,' +'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
write(6,'(a38)') '+------------------------------------+'
|
write(6,'(a38)') '+------------------------------------+'
|
||||||
|
|
Loading…
Reference in New Issue