+++ /dev/null
-
-c---------------------------------------------------------------------
-c---------------------------------------------------------------------
-
- subroutine exchange_1( g,k,iex )
-
-c---------------------------------------------------------------------
-c---------------------------------------------------------------------
-
-
- implicit none
-
- include 'mpinpb.h'
- include 'applu.incl'
-
- double precision g(5,-1:isiz1+2,-1:isiz2+2,isiz3)
- integer k
- integer iex
- integer i, j
- double precision dum(5,isiz1+isiz2), dum1(5,isiz1+isiz2)
-
- integer STATUS(MPI_STATUS_SIZE)
- integer IERROR
-
-
-
- if( iex .eq. 0 ) then
-
- if( north .ne. -1 ) then
- call MPI_RECV( dum1(1,jst),
- > 5*(jend-jst+1),
- > dp_type,
- > north,
- > from_n,
- > MPI_COMM_WORLD,
- > status,
- > IERROR )
- do j=jst,jend
- g(1,0,j,k) = dum1(1,j)
- g(2,0,j,k) = dum1(2,j)
- g(3,0,j,k) = dum1(3,j)
- g(4,0,j,k) = dum1(4,j)
- g(5,0,j,k) = dum1(5,j)
- enddo
- endif
-
- if( west .ne. -1 ) then
- call MPI_RECV( dum1(1,ist),
- > 5*(iend-ist+1),
- > dp_type,
- > west,
- > from_w,
- > MPI_COMM_WORLD,
- > status,
- > IERROR )
- do i=ist,iend
- g(1,i,0,k) = dum1(1,i)
- g(2,i,0,k) = dum1(2,i)
- g(3,i,0,k) = dum1(3,i)
- g(4,i,0,k) = dum1(4,i)
- g(5,i,0,k) = dum1(5,i)
- enddo
- endif
-
- else if( iex .eq. 1 ) then
-
- if( south .ne. -1 ) then
- call MPI_RECV( dum1(1,jst),
- > 5*(jend-jst+1),
- > dp_type,
- > south,
- > from_s,
- > MPI_COMM_WORLD,
- > status,
- > IERROR )
- do j=jst,jend
- g(1,nx+1,j,k) = dum1(1,j)
- g(2,nx+1,j,k) = dum1(2,j)
- g(3,nx+1,j,k) = dum1(3,j)
- g(4,nx+1,j,k) = dum1(4,j)
- g(5,nx+1,j,k) = dum1(5,j)
- enddo
- endif
-
- if( east .ne. -1 ) then
- call MPI_RECV( dum1(1,ist),
- > 5*(iend-ist+1),
- > dp_type,
- > east,
- > from_e,
- > MPI_COMM_WORLD,
- > status,
- > IERROR )
- do i=ist,iend
- g(1,i,ny+1,k) = dum1(1,i)
- g(2,i,ny+1,k) = dum1(2,i)
- g(3,i,ny+1,k) = dum1(3,i)
- g(4,i,ny+1,k) = dum1(4,i)
- g(5,i,ny+1,k) = dum1(5,i)
- enddo
- endif
-
- else if( iex .eq. 2 ) then
-
- if( south .ne. -1 ) then
- do j=jst,jend
- dum(1,j) = g(1,nx,j,k)
- dum(2,j) = g(2,nx,j,k)
- dum(3,j) = g(3,nx,j,k)
- dum(4,j) = g(4,nx,j,k)
- dum(5,j) = g(5,nx,j,k)
- enddo
- call MPI_SEND( dum(1,jst),
- > 5*(jend-jst+1),
- > dp_type,
- > south,
- > from_n,
- > MPI_COMM_WORLD,
- > IERROR )
- endif
-
- if( east .ne. -1 ) then
- do i=ist,iend
- dum(1,i) = g(1,i,ny,k)
- dum(2,i) = g(2,i,ny,k)
- dum(3,i) = g(3,i,ny,k)
- dum(4,i) = g(4,i,ny,k)
- dum(5,i) = g(5,i,ny,k)
- enddo
- call MPI_SEND( dum(1,ist),
- > 5*(iend-ist+1),
- > dp_type,
- > east,
- > from_w,
- > MPI_COMM_WORLD,
- > IERROR )
- endif
-
- else
-
- if( north .ne. -1 ) then
- do j=jst,jend
- dum(1,j) = g(1,1,j,k)
- dum(2,j) = g(2,1,j,k)
- dum(3,j) = g(3,1,j,k)
- dum(4,j) = g(4,1,j,k)
- dum(5,j) = g(5,1,j,k)
- enddo
- call MPI_SEND( dum(1,jst),
- > 5*(jend-jst+1),
- > dp_type,
- > north,
- > from_s,
- > MPI_COMM_WORLD,
- > IERROR )
- endif
-
- if( west .ne. -1 ) then
- do i=ist,iend
- dum(1,i) = g(1,i,1,k)
- dum(2,i) = g(2,i,1,k)
- dum(3,i) = g(3,i,1,k)
- dum(4,i) = g(4,i,1,k)
- dum(5,i) = g(5,i,1,k)
- enddo
- call MPI_SEND( dum(1,ist),
- > 5*(iend-ist+1),
- > dp_type,
- > west,
- > from_e,
- > MPI_COMM_WORLD,
- > IERROR )
- endif
-
- endif
-
- end
-
-
-