31
32
33
34
35
36
37#include "implicit_f.inc"
38
39
40
41 INTEGER, INTENT(IN) :: NUMNOD_L,NSPMD,PROC
42 INTEGER, DIMENSION(*), INTENT(IN) :: NODGLOB
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 INTEGER NLOCAL
59
60
61
62 INTEGER I,N,P,G
63 INTEGER, DIMENSION(:), ALLOCATABLE :: MAIN_PROC
64 INTEGER, DIMENSION(:), ALLOCATABLE :: WEIGHT
65
66
67
68 ALLOCATE( main_proc(numnod_l) )
69 ALLOCATE( weight(numnod_l) )
70! -----------------------------------
71 main_proc(1:numnod_l) = 0
72 weight(1:numnod_l) = 0
73 DO i = 1,numnod_l
74 n = nodglob(i)
75 DO p = 1, nspmd
77 main_proc(i) = p
78 GOTO 10
79 ENDIF
80 ENDDO
81 10 CONTINUE
82 ENDDO
83
84 DO i=1,numnod_l
85 IF(main_proc(i)==proc) weight(i) = 1
86 ENDDO
87
90
91
92 DEALLOCATE(main_proc )
93 DEALLOCATE( weight )
94
95 RETURN
96
void write_i_c(int *w, int *len)