moved the the variable cutBack from FEsolving.f90 (where it was not used at all) to the interface routines to make responsibility of cut back control clear
PLEASE RUN setup_code.py IF YOU DO MARC SIMULATIONS, THE INTERFACE HAS CHANGED
This commit is contained in:
parent
c8b7da432c
commit
6301787df4
|
@ -212,6 +212,7 @@ subroutine vumat (jblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal, &
|
|||
real(pReal), dimension(6,6) :: ddsdde
|
||||
real(pReal) temp, timeInc
|
||||
integer(pInt) computationMode, n, i
|
||||
logical :: cutBack
|
||||
|
||||
do n = 1,nblock ! loop over vector of IPs
|
||||
|
||||
|
@ -317,4 +318,5 @@ subroutine vumat (jblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal, &
|
|||
integer(pInt) mpie_error
|
||||
|
||||
call xit
|
||||
flush(6)
|
||||
end subroutine quit
|
||||
|
|
|
@ -132,7 +132,6 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,&
|
|||
pInt
|
||||
use FEsolving, only: cycleCounter, &
|
||||
theInc, &
|
||||
cutBack, &
|
||||
calcMode, &
|
||||
lastMode, &
|
||||
theTime, &
|
||||
|
@ -171,6 +170,7 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,&
|
|||
real(pReal), dimension(6) :: stress_h
|
||||
real(pReal), dimension(6,6) :: ddsdde_h
|
||||
integer(pInt) computationMode, i, cp_en
|
||||
logical :: cutBack
|
||||
|
||||
if (iand(debug_level(debug_abaqus),debug_levelBasic) /= 0 .and. noel == 1 .and. npt == 1) then
|
||||
!$OMP CRITICAL (write2out)
|
||||
|
@ -304,6 +304,6 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,&
|
|||
|
||||
implicit none
|
||||
integer(pInt) mpie_error
|
||||
|
||||
flush(6)
|
||||
call xit
|
||||
end subroutine quit
|
||||
|
|
|
@ -223,7 +223,6 @@ subroutine hypela2(&
|
|||
pInt
|
||||
use FEsolving, only: cycleCounter, &
|
||||
theInc, &
|
||||
cutBack, &
|
||||
calcMode, &
|
||||
lastMode, &
|
||||
theTime, &
|
||||
|
@ -248,6 +247,7 @@ subroutine hypela2(&
|
|||
integer(pInt) ifr, ifu, itel, jtype, kcus, lclass, matus, n, ncrd, ndeg
|
||||
integer(pInt) ndi, ndm, ngens, nn, nnode, nshear
|
||||
real(pReal) s, strechn, strechn1, t
|
||||
logical :: cutBack
|
||||
! ** End of generated type statements **
|
||||
|
||||
dimension e(*),de(*),t(*),dt(*),g(*),d(ngens,*),s(*), n(2),coord(ncrd,*),disp(ndeg,*),matus(2),dispt(ndeg,*),ffn(itel,*),&
|
||||
|
@ -294,7 +294,7 @@ subroutine hypela2(&
|
|||
lastMode = .false. ! pretend last step was collection
|
||||
calcMode = .false. ! pretend last step was collection
|
||||
!$OMP CRITICAL (write2out)
|
||||
write (6,'(a,i6,1x,i2)') '<< HYPELA2 >> start of analysis..! ',n(1),nn
|
||||
write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> start of analysis..! ',n(1),nn
|
||||
call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
else if (inc - theInc > 1) then ! >> restart of broken analysis <<
|
||||
|
@ -303,7 +303,7 @@ subroutine hypela2(&
|
|||
lastMode = .true. ! pretend last step was calculation
|
||||
calcMode = .true. ! pretend last step was calculation
|
||||
!$OMP CRITICAL (write2out)
|
||||
write (6,'(a,i6,1x,i2)') '<< HYPELA2 >> restart of analysis..! ',n(1),nn
|
||||
write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> restart of analysis..! ',n(1),nn
|
||||
call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
else ! >> just the next inc <<
|
||||
|
@ -312,7 +312,7 @@ subroutine hypela2(&
|
|||
lastMode = .true. ! assure last step was calculation
|
||||
calcMode = .true. ! assure last step was calculation
|
||||
!$OMP CRITICAL (write2out)
|
||||
write (6,'(a,i6,1x,i2)') '<< HYPELA2 >> new increment..! ',n(1),nn
|
||||
write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> new increment..! ',n(1),nn
|
||||
call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
endif
|
||||
|
|
|
@ -48,8 +48,7 @@ module FEsolving
|
|||
parallelExecution = .true., & !< OpenMP multicore calculation
|
||||
lastMode = .true., & !< toDo
|
||||
lastIncConverged = .false., & !< toDo
|
||||
outdatedByNewInc = .false., & !< toDo
|
||||
cutBack = .false.
|
||||
outdatedByNewInc = .false. !< toDo
|
||||
|
||||
integer(pInt), dimension(:,:), allocatable, public :: &
|
||||
FEsolving_execIP
|
||||
|
|
Loading…
Reference in New Issue