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), dimension(6,6) :: ddsdde
|
||||||
real(pReal) temp, timeInc
|
real(pReal) temp, timeInc
|
||||||
integer(pInt) computationMode, n, i
|
integer(pInt) computationMode, n, i
|
||||||
|
logical :: cutBack
|
||||||
|
|
||||||
do n = 1,nblock ! loop over vector of IPs
|
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
|
integer(pInt) mpie_error
|
||||||
|
|
||||||
call xit
|
call xit
|
||||||
|
flush(6)
|
||||||
end subroutine quit
|
end subroutine quit
|
||||||
|
|
|
@ -132,7 +132,6 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,&
|
||||||
pInt
|
pInt
|
||||||
use FEsolving, only: cycleCounter, &
|
use FEsolving, only: cycleCounter, &
|
||||||
theInc, &
|
theInc, &
|
||||||
cutBack, &
|
|
||||||
calcMode, &
|
calcMode, &
|
||||||
lastMode, &
|
lastMode, &
|
||||||
theTime, &
|
theTime, &
|
||||||
|
@ -171,6 +170,7 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,&
|
||||||
real(pReal), dimension(6) :: stress_h
|
real(pReal), dimension(6) :: stress_h
|
||||||
real(pReal), dimension(6,6) :: ddsdde_h
|
real(pReal), dimension(6,6) :: ddsdde_h
|
||||||
integer(pInt) computationMode, i, cp_en
|
integer(pInt) computationMode, i, cp_en
|
||||||
|
logical :: cutBack
|
||||||
|
|
||||||
if (iand(debug_level(debug_abaqus),debug_levelBasic) /= 0 .and. noel == 1 .and. npt == 1) then
|
if (iand(debug_level(debug_abaqus),debug_levelBasic) /= 0 .and. noel == 1 .and. npt == 1) then
|
||||||
!$OMP CRITICAL (write2out)
|
!$OMP CRITICAL (write2out)
|
||||||
|
@ -304,6 +304,6 @@ subroutine UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,&
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
integer(pInt) mpie_error
|
integer(pInt) mpie_error
|
||||||
|
flush(6)
|
||||||
call xit
|
call xit
|
||||||
end subroutine quit
|
end subroutine quit
|
||||||
|
|
|
@ -223,7 +223,6 @@ subroutine hypela2(&
|
||||||
pInt
|
pInt
|
||||||
use FEsolving, only: cycleCounter, &
|
use FEsolving, only: cycleCounter, &
|
||||||
theInc, &
|
theInc, &
|
||||||
cutBack, &
|
|
||||||
calcMode, &
|
calcMode, &
|
||||||
lastMode, &
|
lastMode, &
|
||||||
theTime, &
|
theTime, &
|
||||||
|
@ -248,6 +247,7 @@ subroutine hypela2(&
|
||||||
integer(pInt) ifr, ifu, itel, jtype, kcus, lclass, matus, n, ncrd, ndeg
|
integer(pInt) ifr, ifu, itel, jtype, kcus, lclass, matus, n, ncrd, ndeg
|
||||||
integer(pInt) ndi, ndm, ngens, nn, nnode, nshear
|
integer(pInt) ndi, ndm, ngens, nn, nnode, nshear
|
||||||
real(pReal) s, strechn, strechn1, t
|
real(pReal) s, strechn, strechn1, t
|
||||||
|
logical :: cutBack
|
||||||
! ** End of generated type statements **
|
! ** 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,*),&
|
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
|
lastMode = .false. ! pretend last step was collection
|
||||||
calcMode = .false. ! pretend last step was collection
|
calcMode = .false. ! pretend last step was collection
|
||||||
!$OMP CRITICAL (write2out)
|
!$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)
|
call flush(6)
|
||||||
!$OMP END CRITICAL (write2out)
|
!$OMP END CRITICAL (write2out)
|
||||||
else if (inc - theInc > 1) then ! >> restart of broken analysis <<
|
else if (inc - theInc > 1) then ! >> restart of broken analysis <<
|
||||||
|
@ -303,7 +303,7 @@ subroutine hypela2(&
|
||||||
lastMode = .true. ! pretend last step was calculation
|
lastMode = .true. ! pretend last step was calculation
|
||||||
calcMode = .true. ! pretend last step was calculation
|
calcMode = .true. ! pretend last step was calculation
|
||||||
!$OMP CRITICAL (write2out)
|
!$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)
|
call flush(6)
|
||||||
!$OMP END CRITICAL (write2out)
|
!$OMP END CRITICAL (write2out)
|
||||||
else ! >> just the next inc <<
|
else ! >> just the next inc <<
|
||||||
|
@ -312,7 +312,7 @@ subroutine hypela2(&
|
||||||
lastMode = .true. ! assure last step was calculation
|
lastMode = .true. ! assure last step was calculation
|
||||||
calcMode = .true. ! assure last step was calculation
|
calcMode = .true. ! assure last step was calculation
|
||||||
!$OMP CRITICAL (write2out)
|
!$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)
|
call flush(6)
|
||||||
!$OMP END CRITICAL (write2out)
|
!$OMP END CRITICAL (write2out)
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -48,8 +48,7 @@ module FEsolving
|
||||||
parallelExecution = .true., & !< OpenMP multicore calculation
|
parallelExecution = .true., & !< OpenMP multicore calculation
|
||||||
lastMode = .true., & !< toDo
|
lastMode = .true., & !< toDo
|
||||||
lastIncConverged = .false., & !< toDo
|
lastIncConverged = .false., & !< toDo
|
||||||
outdatedByNewInc = .false., & !< toDo
|
outdatedByNewInc = .false. !< toDo
|
||||||
cutBack = .false.
|
|
||||||
|
|
||||||
integer(pInt), dimension(:,:), allocatable, public :: &
|
integer(pInt), dimension(:,:), allocatable, public :: &
|
||||||
FEsolving_execIP
|
FEsolving_execIP
|
||||||
|
|
Loading…
Reference in New Issue