slave_receive_vectors.F [SRC] [CPP] [JOB] [SCAN]
SOURCES / MAIN / SLAVE



   1 | include(dom.inc)
   2 | 
   3 |       SUBROUTINE slave_receive_vectors
   4 | 
   5 | !       ================================================================!
   6 | !                                                                       !
   7 | !       slave_receive.F : Receives I/O vectors from master proces.      !
   8 | !                                                                       !
   9 | !       out             : Global vectors.                               !
  10 | !                                                                       !
  11 | !       author          : J. AMAYA (october 2007)                       !
  12 | !                                                                       !
  13 | !       ================================================================!
  14 | 
  15 |         USE mod_pmm
  16 |         USE mod_inout
  17 |         USE mod_slave
  18 | 
  19 |         IMPLICIT NONE
  20 | 
  21 |         INCLUDE 'pmm_constants.h'
  22 |         INCLUDE 'dom_constants.h'
  23 | 
  24 | !       LOCAL
  25 |         DOM_INT          :: iproc, ibeg, iend, ierr
  26 |         DOM_INT          :: i, j, k, n
  27 |         DOM_INT          :: d_buffersize
  28 |         DOM_INT          :: status(MPI_STATUS_SIZE)
  29 |         DOM_REAL, ALLOCATABLE, DIMENSION(:) :: d_buffer
  30 | 
  31 | !       -------------------!
  32 | !       Allocating buffers !
  33 | !       -------------------!
  34 | 
  35 |         d_buffersize = 4*is_ndir
  36 |         IF (spascheme.eq.EXPON) then
  37 |           d_buffersize = d_buffersize + (is_ndir*is_nnodes) +           &
  38 |      &                     (is_ndir*is_nnodes*is_nfacesmax)
  39 |         ENDIF
  40 |         ALLOCATE(d_buffer(d_buffersize))
  41 | 
  42 | !       ------------------------------!
  43 | !       Receiving buffers from master !
  44 | !       ------------------------------!
  45 | 
  46 | !       print*, pmm_rank," >> SLAVE: receiving vectors"
  47 |         CALL MPI_RECV(d_buffer, d_buffersize, MPI_DOUBLE_PRECISION,     &
  48 |      &       PMM_HOST, PMM_INVECTORS, MPI_COMM_WORLD, status, ierr)
  49 | 
  50 | !       ----------------------!
  51 | !       Writing slave vectors !
  52 | !       ----------------------!
  53 | 
  54 | !       print*, pmm_rank," >> SLAVE: filling vectors with buffer data"
  55 |         CALL slave_vectors(d_buffer,d_buffersize)
  56 | 
  57 |       END SUBROUTINE slave_receive_vectors


slave_receive_vectors.F could be called by:
Makefile [SOURCES] - 157 - 207
slave_receive.F [SOURCES/MAIN/SLAVE] - 43