The TELEMAC-MASCARET system
trunk
sources
utils
parallel
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
!
28
USE
declarations_parallel
29
USE
declarations_special
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
declarations_special
Definition:
declarations_special.F:3
source
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
declarations_parallel::comm
integer comm
Definition:
declarations_parallel.F:53
declarations_special::lu
integer lu
Definition:
declarations_special.F:45
p_ireadi
subroutine p_ireadi(BUFFER, NVAL, SOURCE, ITAG, IREQ)
Definition:
p_ireadi.F:7
declarations_parallel
Definition:
declarations_parallel.F:3