34
37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "spmd.inc"
45
46
47
48#include "com04_c.inc"
49#include "param_c.inc"
50
51
52
53 INTEGER,DIMENSION(NPARI,NINTER), INTENT(inout) :: IPARI
54 INTEGER, INTENT(in) :: NB_INTER_SORTED
55 INTEGER, DIMENSION(NB_INTER_SORTED), INTENT(in) :: LIST_INTER_SORTED
56 TYPE(inter_struct_type), DIMENSION(NINTER), INTENT(inout) :: INTER_STRUCT
57
58
59
60#ifdef MPI
61 INTEGER :: I,N,N_BUFFER
62 INTEGER, DIMENSION(NB_INTER_7_INACTI) :: S_BUFFER
63 INTEGER, DIMENSION(NB_INTER_7_INACTI) :: R_BUFFER
64 CHARACTER(len=4) :: MY_OPERATION
65 INTEGER :: CODE
66 INTEGER :: STATUT(MPI_STATUS_SIZE)
67
71 ENDIF
72 DO i=1,nb_inter_sorted
73 n = list_inter_sorted(i)
75 IF(n_buffer>0) THEN
76 IF(inter_struct(n)%INACTI<0) s_buffer( n_buffer ) = 0
77 ENDIF
78 ENDDO
79
80 my_operation(1:4) =''
81 my_operation ="SUM"
82
85
87
88 IF(nb_inter_sorted>0) THEN
89 DO i=1,nb_inter_sorted
90 n = list_inter_sorted(i)
92 IF(n_buffer>0) THEN
93 IF (r_buffer(n_buffer)/=0) THEN
94 inter_struct(n)%INACTI=ipari(
95 ELSE
96 inter_struct(n)%INACTI=-abs(ipari(22,n))
97 END IF
98 ipari(22,n) = inter_struct(n)%INACTI
99 ENDIF
100 ENDDO
101 ENDIF
102
103#endif
104 RETURN
subroutine mpi_wait(ireq, status, ierr)
integer nb_inter_7_inacti
integer, dimension(:), allocatable list_inter_7_inacti
subroutine spmd_iallreduce_int_comm(value, res, my_size, my_operation, my_comm, my_request)