The TELEMAC-MASCARET system  trunk
p_ireadi.F
Go to the documentation of this file.
1 ! *******************
2  SUBROUTINE p_ireadi
3 ! *******************
4 !
5  &(buffer,nval,source,itag,ireq)
6 !
7 !***********************************************************************
8 ! PARALLEL V8P0
9 !***********************************************************************
10 !
11 !brief
12 !
13 !history J-M HERVOUET (EDF R&D, LNHE)
14 !+ 19/11/2013
15 !+ V7P0
16 !+ A mere copy of P_IREAD by Pascal Vezolles for integers. However
17 !+ NBYTES changed into NVAL to avoid *4 in the calls.
18 !
19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 !| BUFFER |-->| BUFFER / PUFFERFELD
21 !| IREQ |<->| NUMERO DE REQUEST POUR MPI_IRECV
22 !| ITAG |-->| MESSAGE TAG
23 !| NVAL |-->| NUMBER OF VALUES TO BE TRANSMITTED
24 !| SOURCE |-->| ORIGINE DES DONNEES
25 !| | | TID OF THE SENDER / KNOTEN-ID DES SENDER
26 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27 !
30  IMPLICIT NONE
31 !
32 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33 !
34  INTEGER, INTENT(IN) :: NVAL,SOURCE,ITAG
35  INTEGER, INTENT(INOUT) :: IREQ
36  INTEGER, INTENT(OUT) :: BUFFER(nval)
37 !
38 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
39 !
40 #if defined HAVE_MPI
41  INTEGER IER
42 !
43 !-----------------------------------------------------------------------
44 !
45 ! RECEIVES DATA
46 !
47 !-----------------------------------------------------------------------
48 !
49 ! 4: TO BE PARAMETERISED ????
50  CALL mpi_irecv(buffer,nval*4,mpi_byte,source,itag,
51  & comm,ireq,ier)
52 !
53  IF(ier.NE.0) THEN
54  WRITE(lu,*) 'P_IREADI: ERROR IN MPI_IRECV'
55  WRITE(lu,*) 'MPI ERROR ',ier
56  CALL plante(1)
57  stop
58  ENDIF
59 #else
60  buffer(1) = 0
61  WRITE(lu,*) 'CALL OF P_IREADI IN ITS VOID VERSION'
62 #endif
63 !
64 !-----------------------------------------------------------------------
65 !
66  RETURN
67  END
subroutine source(S0U, S0V, S0W, S1U, S1V, S1W, UN3, VN3, WSN3, WN3, VOLU, VOLUN, T3, NPOIN3, NTRAC, LT, AT, DT, PRIVE, NONHYD, NPOIN2, NSCE, ISCE, KSCE, QSCE, USCE, VSCE, MAXSCE)
Definition: source.f:10
subroutine p_ireadi(BUFFER, NVAL, SOURCE, ITAG, IREQ)
Definition: p_ireadi.F:7