32
33
34
35
36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "com04_c.inc"
44#include "param_c.inc"
45
46
47
48 INTEGER PROC, LEN_IA, LLGRAV_L,NUMNOD_L,
49 . IGRAV(NIGRV,*), LGRAV(*), NODLOCAL(*)
50
51
52
53
54
55
56
57
58 INTEGER I, J, , IADL, NL, N, NLL, NN, IGRTMP(NIGRV,NGRAV)
59 INTEGER, DIMENSION(:), ALLOCATABLE :: LGRTMP
60
61 ALLOCATE(lgrtmp(llgrav_l))
62 iadl = 1
63 DO i = 1, ngrav
65 iad= igrav(4,i)
66 DO j = 1, nigrv
67 igrtmp(j,i) = igrav(j,i)
68 ENDDO
69 nll = 0
71 nn = lgrav(iad+j-1)
72 n = abs(nn)
73 IF (nodlocal(n)/=0.AND.nodlocal(n)<=numnod_l)THEN
74 IF(nn>0) THEN
75 lgrtmp(iadl+nll) = nodlocal(n)
76 ELSE
77 lgrtmp(iadl+nll) = -nodlocal(n)
78 ENDIF
79 nll = nll + 1
80 ENDIF
81 ENDDO
82 igrtmp(1,i) = nll
83 igrtmp(4,i) = iadl
84 iadl = iadl+nll
85 ENDDO
86
89 len_ia = len_ia + nigrv*ngrav + iadl-1
90
91 DEALLOCATE(lgrtmp)
92
93 RETURN
character *2 function nl()
void write_i_c(int *w, int *len)