33
34
35
36
37
38
39
40
41
43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "com04_c.inc"
51#include "com01_c.inc"
52
53
54
55 INTEGER PROC, LJOINT_L, LEN_IA, NODLOCAL(*),
56 . LJOINT(*), CEP(*), CEL(*),NUMNOD_L
57
58
59
60 INTEGER N,NN,K,J,P,I,NUMBER_MAIN_NODE,IS_SMS_AVAILABLE
61 INTEGER, DIMENSION(:), ALLOCATABLE :: BUF_W
62 INTEGER, DIMENSION(NSPMD) :: NB_NODE_WEIGHT
63 INTEGER, DIMENSION(2) :: MAIN_NODE
64 INTEGER, DIMENSION(:), ALLOCATABLE :: SECONDARY_NODE
65
66 p = proc + 1
67
68
69 k = 0
70 DO n=1,njoint
73 ENDIF
74 ENDDO
75 k = k + njoint
76
77
78 ALLOCATE(buf_w(k))
79
80
81 DO n=1,njoint
83 ENDDO
85 len_ia = len_ia + njoint
86
87
88 DO n=1,njoint
89 nb_node_weight(1:nspmd) = 0
90
91
93
95
97
99
100 ALLOCATE( secondary_node(
cyl_join(n)%NB_NODE(p)) )
102 secondary_node(i) = nodlocal(
cyl_join(n)%PROC(p)%NODE(i))
103 ENDDO
104
106
108 DEALLOCATE( secondary_node )
109 ENDIF
110
111 DO i=1,nspmd
112 nb_node_weight(i) =
cyl_join(n)%PROC(i)%NB_NODE_WEIGHT
113 ENDDO
114
116 main_node(1:2) = nodlocal(
cyl_join(n)%MAIN_NODE(1:2))
117
119 ENDDO
120
121 is_sms_available = 0
124
125 len_ia = len_ia + k + 1
126 DEALLOCATE(buf_w)
127
128 RETURN
type(joint_type), dimension(:), allocatable cyl_join
void write_i_c(int *w, int *len)