33
34
35
36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "com04_c.inc"
44
45
46
47 INTEGER PROC, LEN_IA, NSLARB_L, NODLOCAL(*),
48 . NPBY(NIRBYM,*), LPBY(*),
49 . FRONT_RM(NRBYM,*)
50
51
52
53 INTEGER NLOCAL
55
56
57
58 INTEGER NSL, K, KK, N, NN, NSL_L, J, M, ILP,
59 . NPBY_L(NIRBYM,NRBYM), LPBY_L(NSLARB_L)
60 INTEGER, DIMENSION(:), ALLOCATABLE :: SECNDNG,INDEX,IWORK
61
62 ilp = 0
63 k = 0
64 DO n = 1, nrbym
65 nsl=npby(2,n)
66 nsl_l = 0
67 DO kk = 1, nsl
68 nn = lpby(k+kk)
69 IF(
nlocal(nn,proc+1)==1)
THEN
70 nsl_l = nsl_l + 1
71 lpby_l(nsl_l+ilp) = nodlocal(nn)
72 ENDIF
73 ENDDO
74 npby_l(2,n) = nsl_l
75 m = npby(1,n)
76
77 IF(nsl_l==0.AND.mod(front_rm(m,proc+1),10)==0)THEN
78 npby_l(1,n) = -m
79 ELSE
80 npby_l(1,n) = m
81 ENDIF
82 k = k + nsl
83 ilp = ilp + nsl_l
84 ENDDO
85
88 len_ia = len_ia + nirbym*nrbym + nslarb_l
89
90 RETURN
void write_i_c(int *w, int *len)