41#include "implicit_f.inc"
49 INTEGER NGR,LEN_IA,LENIGR,CEP(*),CEL(*),PROC,ESHIFT
51 TYPE (GROUP_) ,
DIMENSION(NGR) :: IGR
55 INTEGER I,J,ID,,NENTITY,GRTYPE,TRI,GRPGRP,LEVEL,R2R_ALL,
56 . r2r_share,l_group,err,ititle1(ltitr),entity,
58 CHARACTER(LEN=NCHARTITLE) :: TITR
59 INTEGER,
ALLOCATABLE,
DIMENSION (:) :: IGROUP_L
63 CALL fretitl(titr,ititle1,ltitr)
69 ALLOCATE (igroup_l(lenigr), stat=err)
70 igroup_l(1:lenigr) = 0
73 nentity = igr(igu)%NENTITY
76 entity = igr(igu)%ENTITY(j)
78 entity = entity + eshift
79 IF (cep(entity) == proc) nentity_l(igu) = nentity_l(igu) + 1
88 nentity = igr(igu)%NENTITY
89 grtype = igr(igu)%GRTYPE
91 grpgrp = igr(igu)%GRPGRP
92 level = igr(igu)%LEVEL
94 r2r_all = igr(igu)%R2R_ALL
95 r2r_share= igr(igu)%R2R_SHARE
96 igroup_l(l_group+1) = id
98 igroup_l(l_group+1) = nentity_l(igu)
100 igroup_l(l_group+1) = grtype
102 igroup_l(l_group+1) = tri
104 igroup_l(l_group+1) = grpgrp
106 igroup_l(l_group+1) = level
110 igroup_l(l_group+1) = r2r_all
112 igroup_l(l_group+1) = r2r_share
118 entity = igr(igu)%ENTITY(j)
120 entity = entity + eshift
121 IF (cep(entity) == proc)
THEN
131 DEALLOCATE (igroup_l)
133 len_ia = len_ia + l_group
154#include "implicit_f.inc"
158#include "scr17_c.inc"
162 INTEGER NGR,LEN_IA,LENIGR,CEP(*),CEL(*),PROC
164 TYPE (GROUP_) ,
DIMENSION(NGR) :: IGR
168 INTEGER I,J,ID,IGU,NENTITY,GRTYPE,TRI,GRPGRP,LEVEL,R2R_ALL,
169 . R2R_SHARE,L_GROUP,ERR,ITITLE2(LTITR),ENTITY,NENTITY_L
170 CHARACTER(LEN=nchartitle) :: TITR
172 INTEGER,
ALLOCATABLE,
DIMENSION (:) :: IGROUP_L
175 titr = igr(igu)%TITLE
176 CALL fretitl(titr,ititle2,ltitr)
179 len_ia = len_ia + ngr
182 ALLOCATE (igroup_l(lenigr), stat=err)
183 igroup_l(1:lenigr) = 0
189 nentity = igr(igu)%NENTITY
190 grtype = igr(igu)%GRTYPE
191 tri = igr(igu)%SORTED
192 grpgrp = igr(igu)%GRPGRP
193 level = igr(igu)%LEVEL
194 titr = igr(igu)%TITLE
195 r2r_all = igr(igu)%R2R_ALL
196 r2r_share= igr(igu)%R2R_SHARE
201 igroup_l(l_group+1) = id
203 igroup_l(l_group+1) = nentity
205 igroup_l(l_group+1) = grtype
207 igroup_l(l_group+1) = tri
209 igroup_l(l_group+1) = grpgrp
211 igroup_l(l_group+1) = level
215 igroup_l(l_group+1) = r2r_all
217 igroup_l(l_group+1) = r2r_share
223 entity = igr(igu)%ENTITY(j)
225 igroup_l(l_group+1) = entity
233 DEALLOCATE (igroup_l)
235 len_ia = len_ia + l_group
248 . PROC ,FRONTB_R2R,NUMNOD_L)
257#include "implicit_f.inc"
261#include "scr17_c.inc"
262#include "com04_c.inc"
267 INTEGER NGR,LEN_IA,LENIGR,PROC,
268 . FRONTB_R2R(SFRONTB_R2R,*),NUMNOD_L
269 INTEGER,
DIMENSION(*),
INTENT(IN) :: NODLOCAL
271 TYPE (GROUP_) ,
DIMENSION(NGR) :: IGR
287 INTEGER I,J,ID,IGU,NOD,NNOD,GRTYPE,TRI,GRPGRP,LEVEL,R2R_ALL,
288 . R2R_SHARE,L_GROUP,ERR,ITITLE3(LTITR),NNOD_LOC(),
291 CHARACTER(LEN=NCHARTITLE) :: TITR
292 INTEGER,
ALLOCATABLE,
DIMENSION (:) :: IGROUP_L
295 titr = igr(igu)%TITLE
296 CALL fretitl(titr,ititle3,ltitr)
299 len_ia = len_ia + ngr
302 ALLOCATE (igroup_l(lenigr), stat
303 igroup_l(1:lenigr) = 0
306 nnod = igr(igu)%NENTITY
309 nod = igr(igu)%ENTITY(j)
312 IF ((nsubdom>0).AND.(iddom==0))
THEN
313 IF (frontb_r2r(nod,proc+1)==igu)
THEN
315 ELSEIF (frontb_r2r(nod,proc+1) > ngrnod)
THEN
316 code = frontb_r2r(nod,proc+1)/ngrnod
318 igu2 = frontb_r2r(nod,proc+1) - igu1*ngrnod
319 IF ((igu==igu1).OR.(igu==igu2)) cycle
323 IF( nodlocal(nod)/=0.AND.nodlocal(nod)<=numnod_l ) nnod_loc(igu) = nnod_loc(igu) + 1
332 nnod = igr(igu)%NENTITY
333 grtype = igr(igu)%GRTYPE
334 tri = igr(igu)%SORTED
335 grpgrp = igr(igu)%GRPGRP
336 level = igr(igu)%LEVEL
337 titr = igr(igu)%TITLE
338 r2r_all = igr(igu)%R2R_ALL
339 r2r_share= igr(igu)%R2R_SHARE
340 igroup_l(l_group+1) = id
342 igroup_l(l_group+1) = nnod_loc(igu)
344 igroup_l(l_group+1) = grtype
346 igroup_l(l_group+1) = tri
348 igroup_l(l_group+1) = grpgrp
350 igroup_l(l_group+1) = level
354 igroup_l(l_group+1) = r2r_all
356 igroup_l(l_group+1) = r2r_share
362 nod = igr(igu)%ENTITY(j)
364!---------multidomaines -> modif domdec
365 IF ((nsubdom>0).AND.(iddom==0))
THEN
366 IF (frontb_r2r(nod,proc+1)==igu)
THEN
368 ELSEIF (frontb_r2r(nod,proc+1) > ngrnod)
THEN
369 code = frontb_r2r(nod,proc+1)/ngrnod
371 igu2 = frontb_r2r(nod,proc+1) - igu1*ngrnod
372 IF ((igu==igu1).OR.(igu==igu2)) cycle
376 IF( nodlocal(nod)/=0.AND.nodlocal(nod)<=numnod_l )
THEN
377 igroup_l(l_group+1) = nodlocal(nod)
386 DEALLOCATE (igroup_l)
388 len_ia = len_ia + l_group
subroutine w_gr_entity_n(igr, ngr, len_ia, lenigr, nodlocal, proc, frontb_r2r, numnod_l)