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'
|
||||
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.)
|
||||
if (mod(inc,loadCases(l)%f_out) == 0 .or. signal) then
|
||||
print'(1/,a)', ' ... writing results to file ......................................'
|
||||
flush(IO_STDOUT)
|
||||
call CPFEM_results(totalIncsCounter,time)
|
||||
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.)
|
||||
if (mod(inc,loadCases(l)%f_restart) == 0 .or. signal) then
|
||||
call mech_restartWrite
|
||||
call CPFEM_restartWrite
|
||||
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
|
||||
endif skipping
|
||||
|
||||
|
|
Loading…
Reference in New Issue