38 use element_mod , only : nixq,nixc,nixtg
39
40
41
42#include "implicit_f.inc"
43
44
45#include "com01_c.inc"
46#include "com04_c.inc"
47#include "param_c.inc"
48#include "task_c.inc"
49#include "spmd_c.inc"
50
51
52
53 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),IPARG(NPARG,*),
54 . IXQ(NIXQ,*),EL2FA(*),INUM(*),
55 . INVERT(*), NBF,NELCUT,NBPART,IADG(,*)
56 INTEGER DD_IAD(NSPMD+1,*), IADD(*), NBF_L
57
58
59 INTEGER NG, ITY, LFT, LLT, N, I,
60 . NEL, IAD, NFT,
61 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,BUF,NODGLOB(*),
62 . IDCMAX, IDCMAXL
63
64
65 nn1 = 1
66 nn2 = 1
67 nn3 = 1
68 nn4 = nn3 + numelq
69 nn5 = nn4 + numelc
70 nn6 = nn5 + numeltg
71 nn7 = nn6
72 nn8 = nn7
73 nn9 = nn8
74 nn10= nn9
75
76 DO 490 ng=1,ngroup
77 nel =iparg(2,ng)
78 nft =iparg(3,ng)
79 iad =iparg(4,ng)
80 ity =iparg(5,ng)
81 lft=1
82 llt=nel
83
84
85
86 IF(ity==2)THEN
87 DO i=lft,llt
88 n = i + nft
89 inum(el2fa(nn3+n)) = ixq(nixq,n)
90 ENDDO
91
92
93
94 ELSEIF(ity==3)THEN
95 DO i=lft,llt
96 n = i + nft
97 inum(el2fa(nn4+n)) = ixc(nixc,n)
98 ENDDO
99
100
101
102 ELSEIF(ity==7)THEN
103 DO i=lft,llt
104 n = i + nft
105 inum(el2fa(nn5+n)) = ixtg(nixtg,n)
106 ENDDO
107 ELSE
108 ENDIF
109 490 CONTINUE
110
111 IF (nspmd == 1) THEN
112 idcmax=0
113 DO i=1,nbf
114 idcmax=
max(idcmax,inum(i))
115 ENDDO
117 DO i=1,nelcut
119 ENDDO
120 ELSE
121 idcmax=0
122 idcmaxl=0
123 DO i=1,nbf_l
124 idcmaxl=
max(idcmaxl,inum(i))
125 ENDDO
127 IF (ispmd==0) THEN
128 buf = numelqg+numelcg+numeltgg
129 ELSE
130 buf = 1
131 ENDIF
133 ENDIF
134
135
136 RETURN
subroutine spmd_fvb_amax(idcmax, idcmaxl)
subroutine spmd_iget_partn(size, nbf_l, np, nbpart, iadg, srbuf, iflag)
void write_i_c(int *w, int *len)