1 | include(dom.inc)
2 | SUBROUTINE slave_receive
3 |
4 | ! ================================================================!
5 | ! !
6 | ! slave_receive.F : Receives information sent by master processor !
7 | ! like input parameters and vectors. !
8 | ! !
9 | ! author : J. AMAYA (september 2007) !
10 | ! !
11 | ! ================================================================!
12 |
13 | USE mod_pmm
14 | #ifdef USEPALM
15 | USE palmlib
16 | #endif
17 | ! USE mod_slave
18 | ! USE mod_inout
19 |
20 | IMPLICIT NONE
21 |
22 | INCLUDE 'pmm_constants.h'
23 | INCLUDE 'dom_constants.h'
24 |
25 | DOM_INT :: ierr
26 | DOM_INT, PARAMETER :: buffersize = 17
27 | DOM_INT :: buffer(buffersize)
28 | DOM_INT :: status(MPI_STATUS_SIZE)
29 |
30 | ! --------------------!
31 | ! Recive partitioning !
32 | ! --------------------!
33 |
34 | ! print*, " (",pmm_rank,") MPI RECV partition for ", pmm_rank
35 |
36 | #ifdef USEPALM
37 | CALL MPI_RECV(buffer, buffersize, MPI_INTEGER, PMM_HOST, &
38 | & PMM_PARTITION, PL_COMM_EXEC , status, ierr)
39 | #else
40 | CALL MPI_RECV(buffer, buffersize, MPI_INTEGER, PMM_HOST, &
41 | & PMM_PARTITION, MPI_COMM_WORLD, status, ierr)
42 | #endif
43 |
44 | ! print*, " (",pmm_rank,") MPI RECV: buffer: ", buffer
45 |
46 | CALL slave_partition(buffer, buffersize)
47 |
48 | ! ----------------!
49 | ! Allocate vetors !
50 | ! ----------------!
51 |
52 | CALL slave_receive_vectors
53 |
54 | END SUBROUTINE slave_receive
slave_receive.F could be called by: