only one process gets the signal: use OR, not AND
This commit is contained in:
parent
d83e8dac59
commit
0a3d43e0fc
|
@ -444,20 +444,23 @@ program DAMASK_grid
|
||||||
print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged'
|
print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged'
|
||||||
endif; flush(IO_STDOUT)
|
endif; flush(IO_STDOUT)
|
||||||
|
|
||||||
call MPI_ALLREDUCE(interface_SIGUSR1,signal,1,MPI_LOGICAL,MPI_LAND,PETSC_COMM_WORLD,ierr)
|
call MPI_Allreduce(interface_SIGUSR1,signal,1,MPI_LOGICAL,MPI_LOR,PETSC_COMM_WORLD,ierr)
|
||||||
|
if (ierr /= 0) error stop 'MPI error'
|
||||||
call interface_setSIGUSR1(.false.)
|
call interface_setSIGUSR1(.false.)
|
||||||
if (mod(inc,loadCases(l)%f_out) == 0 .or. signal) then
|
if (mod(inc,loadCases(l)%f_out) == 0 .or. signal) then
|
||||||
print'(1/,a)', ' ... writing results to file ......................................'
|
print'(1/,a)', ' ... writing results to file ......................................'
|
||||||
flush(IO_STDOUT)
|
flush(IO_STDOUT)
|
||||||
call CPFEM_results(totalIncsCounter,time)
|
call CPFEM_results(totalIncsCounter,time)
|
||||||
endif
|
endif
|
||||||
call MPI_ALLREDUCE(interface_SIGUSR2,signal,1,MPI_LOGICAL,MPI_LAND,PETSC_COMM_WORLD,ierr)
|
call MPI_Allreduce(interface_SIGUSR2,signal,1,MPI_LOGICAL,MPI_LOR,PETSC_COMM_WORLD,ierr)
|
||||||
|
if (ierr /= 0) error stop 'MPI error'
|
||||||
call interface_setSIGUSR2(.false.)
|
call interface_setSIGUSR2(.false.)
|
||||||
if (mod(inc,loadCases(l)%f_restart) == 0 .or. signal) then
|
if (mod(inc,loadCases(l)%f_restart) == 0 .or. signal) then
|
||||||
call mech_restartWrite
|
call mech_restartWrite
|
||||||
call CPFEM_restartWrite
|
call CPFEM_restartWrite
|
||||||
endif
|
endif
|
||||||
call MPI_ALLREDUCE(interface_SIGTERM,signal,1,MPI_LOGICAL,MPI_LAND,PETSC_COMM_WORLD,ierr)
|
call MPI_Allreduce(interface_SIGTERM,signal,1,MPI_LOGICAL,MPI_LOR,PETSC_COMM_WORLD,ierr)
|
||||||
|
if (ierr /= 0) error stop 'MPI error'
|
||||||
if (signal) exit loadCaseLooping
|
if (signal) exit loadCaseLooping
|
||||||
endif skipping
|
endif skipping
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue