BOUNDARIES: Make sure MPI tags are unique and valid.

The tag for boundary flux update was overfloating producing invalid tag
for MPI Send, while using high number of processes. Make sure that all
tags in module BOUNDARIES are generated without overflow.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
Grzegorz Kowal 2014-09-11 19:48:46 -03:00
parent 39483913e9
commit 5eecf860ef

View File

@ -743,7 +743,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend) * nprocs
itag = 16 * (irecv * nprocs + isend) + 1
! allocate the buffer for variable exchange
!
@ -1516,7 +1516,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 11
itag = 16 * (irecv * nprocs + isend) + 2
! allocate data buffer for variables to exchange
!
@ -2064,7 +2064,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 12
itag = 16 * (irecv * nprocs + isend) + 3
! allocate data buffer for variables to exchange
!
@ -2625,7 +2625,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 13
itag = 16 * (irecv * nprocs + isend) + 4
! allocate data buffer for variables to exchange
!
@ -3190,7 +3190,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 21
itag = 16 * (irecv * nprocs + isend) + 5
! allocate data buffer for variables to exchange
!
@ -3767,7 +3767,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 22
itag = 16 * (irecv * nprocs + isend) + 6
! allocate data buffer for variables to exchange
!
@ -4351,7 +4351,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 23
itag = 16 * (irecv * nprocs + isend) + 7
! allocate data buffer for variables to exchange
!
@ -4890,7 +4890,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 31
itag = 16 * (irecv * nprocs + isend) + 8
! allocate data buffer for variables to exchange
!
@ -5348,7 +5348,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 32
itag = 16 * (irecv * nprocs + isend) + 9
! allocate data buffer for variables to exchange
!
@ -5806,7 +5806,7 @@ module boundaries
! prepare the tag for communication
!
itag = 100 * (irecv * nprocs + isend + 1) + 33
itag = 16 * (irecv * nprocs + isend) + 10
! allocate data buffer for variables to exchange
!