73
74
75
79 USE intbufdef_mod
83 USE multi_fvm_mod
84 USE interfaces_mod
85 USE glob_therm_mod
86 use output_mod
87 USE spmd_comm_world_mod, ONLY : spmd_comm_world
88
89
90
91#include "implicit_f.inc"
92#include "macro.inc"
93#include "assert.inc"
94
95
96
97#include "spmd.inc"
98
99
100
101#include "scr05_c.inc"
102#include "scr18_c.inc"
103#include "com01_c.inc"
104#include "com04_c.inc"
105#include "param_c.inc"
106#include "task_c.inc"
107#include "parit_c.inc"
108
109
110
111 type(), intent(inout) :: output
112 INTEGER IFLAG, NBINTC, NBINT20,
113 . IPARI(NPARI,*), INTLIST(*), NISKYFI(*),
114 . ICODT(*), ICONTACT(*), NSTRF(*),
115 . IXS(*), IXS16(*), NISKYFIE(*),
116 . TAGNCONT(NLOADP_HYD_INTER,*),KLOADPINTER(*),
117 . LOADPINTER(*),LOADP_HYD_INTER(*),
118 . SFSKYI , SISKY
120 . secfcum(7,numnod,nsect), fcont(3,*)
121 my_real,
INTENT(INOUT) :: fsav(nthvki,*)
122
123 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
124 TYPE(H3D_DATABASE) :: H3D_DATA
125 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
126 TYPE (INTERFACES_) ,INTENT(IN) ::
127 TYPE (GLOB_THERM_) ,INTENT(IN) :: GLOB_THERM
128
129 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
130
131
132
133#ifdef MPI
134 INTEGER P, L, ADD, LL, NB, LEN, SIZ, , II,
135 . NIN, IDEB, N, MSGTYP, IERROR, IDEBI, NI, NOD, NIE,
136 . IBC, ISECIN, IBAG, NOINT, NTY, LEN11, N1, N2,LENI,INACTI,
137 . IALLOCS, IALLOCR, LEN17, JJ, IGN, IGE, NMES, NME,
138 . IADM, IES,INTTH,LEN7T,LEN20, LEN20E, INC,LEN11T,
139 . MSGOFF, MSGOFF2,J,K,INTCAREA,
140 . STATUS(MPI_STATUS_SIZE),
141 . DEBUT(NINTER), DEBUTI(),
142 . DEBUTE(NINTER), DEBUTIE(NINTER),
143
144 . REQ_SI(PARASIZ),REQ_S(PARASIZ),REQ_R(PARASIZ),
145 . ISIZRCV(2,PARASIZ),ISIZENV(2,PARASIZ),
146 . (PARASIZ),NSNSITOT(PARASIZ)
147 INTEGER :: LEN25E
148 INTEGER LSKYI_CT
149 INTEGER, DIMENSION(:), ALLOCATABLE :: INDEX
150 my_real,
DIMENSION(:,:),
ALLOCATABLE :: tempo
151
152 INTEGER TEMP_SIZ
153 INTEGER ::
154 INTEGER :: NB_TOT_EDGES
155 LOGICAL :: CONDITION
156 DATA msgoff/144/
157 DATA msgoff2/145/
158
159 LOGICAL ITEST
160 my_real ,
DIMENSION(:),
ALLOCATABLE :: bbufs, bbufr
162 . bid,rbid(1)
163 double precision
164 . zerodp
165 SAVE req_si,req_s,req_r,isizrcv,isizenv,
166 . nsnfitot,nsnsitot,bbufs,iallocs
167
168
169
170 zerodp = 0.0
171 bid = zero
172 rbid = zero
173 loc_proc = ispmd + 1
174
175
176 len = 5
177 IF(kdtint/=0) len = len+1
178 IF(glob_therm%NODADT_THERM == 1) len = len+1
179 len7t = len + 1
180
181 len11 = 2*(len-1)+1
182 len11t = 2*len+1
183
184 len17 = 41
185
186 len20 = 18*(1+iresp) + 1
187
188 len20e = 36*(1+iresp) + 2
189 len25e = 10
190
191 IF(iflag==1)THEN
192
193
194
195 DO p = 1, nspmd
196 isizrcv(1,p)=0
197 isizrcv(2,p)=0
198 isizenv(1,p) = 0
199 isizenv(2,p) = 0
200 nsnfitot(p) = 0
201 nsnsitot(p) = 0
202 IF(p/=loc_proc)THEN
203 siz = 0
204 DO ii = 1, nbintc
205 nin = intlist(ii)
206 IF(multi_fvm%INT18_GLOBAL_LIST(nin)) cycle
207 siz = siz +
nsnsi(nin)%P(p)
208
209 IF(ipari(7,nin)==20)THEN
210 siz = siz +
nsnsie(nin)%P(p)
211 END IF
212 IF(ipari(7,nin)==25)THEN
213 siz = siz + 2*
nsnsie(nin)%P(p)
214 END IF
215 ENDDO
216 IF(siz>0)THEN
217 nsnsitot(p) = siz
218 msgtyp = msgoff
220 . isizrcv(1,p),2,mpi_integer,it_spmd(p),msgtyp,
221 . spmd_comm_world,req_r(p),ierror )
222 ENDIF
223 ENDIF
224 ENDDO
225
226
227
228 DO ii = 1, nbintc
229 nin = intlist(ii)
230 ni = niskyfi(nin)
231 nty = ipari(7,nin)
232 IF(multi_fvm%INT18_GLOBAL_LIST(nin)) cycle
233 IF(ni>0) THEN
234 intth = ipari(47,nin)
235 IF(nty==7.OR.nty==10.OR.nty==22.OR.nty==23.OR.
236 . nty==24.OR.nty==25) THEN
237
238 ALLOCATE(index(ni),stat=ierror)
239 IF(ierror/=0) THEN
240 CALL ancmsg(msgid=20,anmode=aninfo)
242 END IF
243
244 IF(intth > 0)THEN
245 ALLOCATE( tempo(len7t,ni),stat=ierror)
246 ELSE
247 ALLOCATE( tempo(len,ni),stat=ierror)
248 ENDIF
249
250 IF(ierror/=0) THEN
251 CALL ancmsg(msgid=20,anmode=aninfo)
253 END IF
254
255 DO j=1,ni
256 index(j)=j
257 tempo(1,j)=
fskyfi(nin)%P(1,j)
258 tempo(2,j)=
fskyfi(nin)%P(2,j)
259 tempo(3,j)=
fskyfi(nin)%P(3,j)
260 tempo(4,j)=
fskyfi(nin)%P(4,j)
261 ENDDO
262
263 temp_siz=5
264
265 IF(nfskyi==5)THEN
266 DO j=1,ni
267 tempo(temp_siz,j)=
fskyfi(nin)%P(temp_siz,j)
268 ENDDO
269 temp_siz=temp_siz+1
270 ENDIF
271
272 IF(intth >0)THEN
273 DO j=1,ni
275 ENDDO
276 temp_siz=temp_siz+1
277
278 IF (glob_therm%NODADT_THERM == 1)THEN
279 DO j=1,ni
281 ENDDO
282 temp_siz=temp_siz+1
283 ENDIF
284 ENDIF
286
287 DO j=1,ni
288 k=index(j)
289 fskyfi(nin)%P(1,j)=tempo(1,k)
290 fskyfi(nin)%P(2,j)=tempo(2,k)
291 fskyfi(nin)%P(3,j)=tempo(3,k)
292 fskyfi(nin)%P(4,j)=tempo(4,k)
293 ENDDO
294 temp_siz=5
295
296
297 IF(nfskyi==5)THEN
298 DO j=1,ni
299 k=index(j)
300 fskyfi(nin)%P(temp_siz,j)=tempo(temp_siz,k)
301 ENDDO
302 temp_siz=temp_siz+1
303 ENDIF
304
305 IF(intth >0)THEN
306 DO j=1,ni
307 k=index(j)
309 ENDDO
310 temp_siz=temp_siz+1
311
312 IF (glob_therm%NODADT_THERM == 1)THEN
313 DO j=1,ni
314 k=index(j)
316 ENDDO
317 temp_siz=temp_siz+1
318 ENDIF
319 ENDIF
320 leni = len
321 IF((nty == 7 .AND. intth > 0 ).OR.(nty == 25 .AND. intth > 0 ).OR.
322 + (nty == 22 .AND. intth > 0 )) leni = len7t
323 ELSEIF(nty==11) THEN
324 IF(intth > 0) THEN
325 IF(glob_therm%NODADT_THERM == 1)THEN
328 ELSE
331 ENDIF
332 ELSE
334 + nfskyi)
335 ENDIF
336
337 leni = len11
338 IF(intth >0 ) leni = len11t
339 ELSEIF(nty==17) THEN
341 leni = len17
342 ELSEIF(nty==20) THEN
344 + nfskyi)
345 leni = len
346 IF(intth > 0 ) leni=len7t
347
349 +
nsnfi(nin)%P(1),
nsvfi(nin)%P(1),isizenv,len20)
350 END IF
351 ELSEIF(ipari(7,nin)==20)THEN
353 +
nsnfi(nin)%P(1),
nsvfi(nin)%P(1),isizenv,len20)
354 END IF
355
356 IF(ni > 0) THEN
358 ELSE
359 DO j = 1, nspmd
360 nsnfitot(j) = nsnfitot(j) +
nsnfi(nin)%P(j)
361 END DO
362 ENDIF
363
364 IF(nty==20)THEN
365 ni = niskyfie(nin)
367 + nfskyi)
368 leni = len11
369
372
375 2 leni)
376 ELSEIF (nty == 25) THEN
377 IF(ipari(macro_nedge,nin) > 0) THEN
378 nie = niskyfie(nin)
380 + 4)
381
382 leni = len25e
385 2 leni)
386 ENDIF
387 END IF
388
389 IF(nty==7.OR.nty==10.OR.nty==22.OR.nty==23.OR.
390 . nty==24.OR.nty==25) THEN
391 IF (ni > 0 ) THEN
392 DEALLOCATE(tempo,index)
393 ENDIF
394 ENDIF
395
396 ENDDO
397
398 iallocs = 0
399 DO p = 1, nspmd
400 IF(p/=loc_proc.AND.nsnfitot(p)>0) THEN
401 msgtyp = msgoff
403 . isizenv(1,p),2,mpi_integer,it_spmd(p),msgtyp,
404 . spmd_comm_world,req_s(p),ierror )
405 iallocs = iallocs + isizenv(1,p)
406 ENDIF
407 END DO
408 ierror=0
409 IF(iallocs>0)
410 + ALLOCATE(bbufs(iallocs+nbintc*nspmd*2),stat=ierror)
411 IF(ierror/=0) THEN
412 CALL ancmsg(msgid=20,anmode=aninfo)
414 END IF
415
416 DO ii = 1, nbintc
417 nin = intlist(ii)
418 debut(nin) = 0
419 debuti(nin) = 1
420 debute(nin) = 0
421 debutie(nin)= 1
422 END DO
423
424
425
426 l = 0
427 DO p = 1, nspmd
428 IF(p/=loc_proc.AND.isizenv(1,p)>0)THEN
429 add = l+1
430 DO ii = 1, nbintc
431 nin = intlist(ii)
432 ideb = debut(nin)
433 idebi= debuti(nin)
435 nty = ipari(7,nin)
436 intth = ipari(47,nin)
437 IF(multi_fvm%INT18_GLOBAL_LIST(nin)) cycle
438 IF(nty==7.OR.nty==10.OR.nty==20.OR.
439 * nty==22.OR.nty==23.OR.nty==24.OR.
440 * nty==25) THEN
441 leni = len
442 IF(nb>0) THEN
443
444
445
446 IF(nty == 20) THEN
447 DO n = 1, nb
448 bbufs(l+1) =
alphakfi(nin)%P(ideb+n)
449 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
450
452 .
daanc6fi(nin)%P(1,1,ideb+n),bbufs(l+2),iresp,inc)
453
454 ELSE
455 CALL putdpzero(zerodp,bbufs(l+2),iresp,inc)
456 ENDIF
457 l = l + len20
458 ENDDO
459 END IF
460
461 ll = l+1
462 l = l + 1
463
464 IF(intth == 0 ) THEN
465 IF(kdtint==0)THEN
466 DO n = 1, nb
467 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
468
469 nod = -
nsvfi(nin)%P(ideb+n)
470 nsvfi(nin)%P(ideb+n)=nod
471 IF(idebi<=niskyfi(nin)) THEN
472 itest =
iskyfi(nin)%P(idebi)==ideb+n
473 ELSE
474 itest = .false.
475 ENDIF
476 DO WHILE(itest)
477 bbufs(l+1) = nod
478 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
479 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
480 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
481
482 idebi = idebi + 1
483 l = l + len
484 IF(idebi<=niskyfi(nin)) THEN
485 itest =
iskyfi(nin)%P(idebi)==ideb+n
486 ELSE
487 itest = .false.
488 ENDIF
489 ENDDO
490 ENDIF
491 ENDDO
492 ELSE
493 DO n = 1, nb
494 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
495
496 nod = -
nsvfi(nin)%P(ideb+n)
497 nsvfi(nin)%P(ideb+n)=nod
498 IF(idebi<=niskyfi(nin)) THEN
499 itest =
iskyfi(nin)%P(idebi)==ideb+n
500 ELSE
501 itest = .false.
502 ENDIF
503 DO WHILE(itest)
504 bbufs(l+1) = nod
505 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
506 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
507 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
508 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
509 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
510 idebi = idebi + 1
511 l = l + len
512 IF(idebi<=niskyfi(nin)) THEN
513 itest =
iskyfi(nin)%P(idebi)==ideb+n
514 ELSE
515 itest = .false.
516 ENDIF
517 ENDDO
518 ENDIF
519 ENDDO
520 ENDIF
521
522
523
524 ELSE
525 IF(glob_therm%NODADT_THERM ==1) THEN
526 leni = len7t
527 IF(kdtint==0)THEN
528 DO n = 1, nb
529 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
530
531 nod = -
nsvfi(nin)%P(ideb+n)
532 nsvfi(nin)%P(ideb+n)=nod
533 IF(idebi<=niskyfi(nin)) THEN
534 itest =
iskyfi(nin)%P(idebi)==ideb+n
535 ELSE
536 itest = .false.
537 ENDIF
538 DO WHILE(itest)
539 bbufs(l+1) = nod
540 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
541 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
542 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
543 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
546 idebi = idebi + 1
547 l = l + len7t
548 IF(idebi<=niskyfi(nin)) THEN
549 itest =
iskyfi(nin)%P(idebi)==ideb+n
550 ELSE
551 itest = .false.
552 ENDIF
553 ENDDO
554 ENDIF
555 ENDDO
556 ELSE
557 DO n = 1, nb
558 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
559
560 nod = -
nsvfi(nin)%P(ideb+n)
561 nsvfi(nin)%P(ideb+n)=nod
562 IF(idebi<=niskyfi(nin)) THEN
563 itest =
iskyfi(nin)%P(idebi)==ideb+n
564 ELSE
565 itest = .false.
566 ENDIF
567 DO WHILE(itest)
568 bbufs(l+1) = nod
569 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
570 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
571 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
572 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
573 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
576 idebi = idebi + 1
577 l = l + len7t
578 IF(idebi<=niskyfi(nin)) THEN
579 itest =
iskyfi(nin)%P(idebi)==ideb+n
580 ELSE
581 itest = .false.
582 ENDIF
583 ENDDO
584 ENDIF
585 ENDDO
586 ENDIF
587
588 ELSE
589
590 leni = len7t
591 IF(kdtint==0)THEN
592 DO n = 1, nb
593 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
594
595 nod = -
nsvfi(nin)%P(ideb+n)
596 nsvfi(nin)%P(ideb+n)=nod
597 IF(idebi<=niskyfi(nin)) THEN
598 itest =
iskyfi(nin)%P(idebi)==ideb+n
599 ELSE
600 itest = .false.
601 ENDIF
602 DO WHILE(itest)
603 bbufs(l+1) = nod
604 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
605 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
606 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
607 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
609 idebi = idebi + 1
610 l = l + len7t
611 IF(idebi<=niskyfi(nin)) THEN
612 itest =
iskyfi(nin)%P(idebi)==ideb+n
613 ELSE
614 itest = .false.
615 ENDIF
616 ENDDO
617 ENDIF
618 ENDDO
619 ELSE
620 DO n = 1, nb
621 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
622
623 nod = -
nsvfi(nin)%P(ideb+n)
624 nsvfi(nin)%P(ideb+n)=nod
625 IF(idebi<=niskyfi(nin)) THEN
626 itest =
iskyfi(nin)%P(idebi)==ideb+n
627 ELSE
628 itest = .false.
629 ENDIF
630 DO WHILE(itest)
631 bbufs(l+1) = nod
632 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
633 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
634 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
635 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
636 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
638 idebi = idebi + 1
639 l = l + len7t
640 IF(idebi<=niskyfi(nin)) THEN
641 itest =
iskyfi(nin)%P(idebi)==ideb+n
642 ELSE
643 itest = .false.
644 ENDIF
645 ENDDO
646 ENDIF
647 ENDDO
648 ENDIF
649 ENDIF
650 ENDIF
651
652 bbufs(ll) = (l-ll)/leni
653 debut(nin) = debut(nin) + nb
654 debuti(nin)= idebi
655 END IF
656 ELSEIF(nty==11) THEN
657
658 IF(intth == 0 ) THEN
659 leni=len11
660 IF(nb>0) THEN
661 ll = l+1
662 l = l + 1
663 IF(kdtint==0)THEN
664 DO n = 1, nb
665 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
666
667 nod = -
nsvfi(nin)%P(ideb+n)
668 nsvfi(nin)%P(ideb+n)=nod
669 IF(idebi<=niskyfi(nin)) THEN
670 itest =
iskyfi(nin)%P(idebi)==ideb+n
671 ELSE
672 itest = .false.
673 ENDIF
674 DO WHILE(itest)
675 bbufs(l+1) = nod
676 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
677 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
678 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
679 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
680 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
681 bbufs(l+7) =
fskyfi(nin)%P(6,idebi)
682 bbufs(l+8) =
fskyfi(nin)%P(7,idebi)
683 bbufs(l+9) =
fskyfi(nin)%P(8,idebi)
684 idebi = idebi + 1
685 l = l + len11
686 IF(idebi<=niskyfi(nin)) THEN
687 itest =
iskyfi(nin)%P(idebi)==ideb+n
688 ELSE
689 itest = .false.
690 ENDIF
691 ENDDO
692 ENDIF
693 ENDDO
694 ELSE
695 DO n = 1, nb
696 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
697
698 nod = -
nsvfi(nin)%P(ideb+n)
699 nsvfi(nin)%P(ideb+n)=nod
700 IF(idebi<=niskyfi(nin)) THEN
701 itest =
iskyfi(nin)%P(idebi)==ideb+n
702 ELSE
703 itest = .false.
704 ENDIF
705 DO WHILE(itest)
706 bbufs(l+1) = nod
707 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
708 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
709 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
710 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
711 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
712 bbufs(l+7) =
fskyfi(nin)%P(6,idebi)
713 bbufs(l+8) =
fskyfi(nin)%P(7,idebi)
714 bbufs(l+9) =
fskyfi(nin)%P(8,idebi)
715 bbufs(l+10)=
fskyfi(nin)%P(9,idebi)
716 bbufs(l+11)=
fskyfi(nin)%P(10,idebi)
717 idebi = idebi + 1
718 l = l + len11
719 IF(idebi<=niskyfi(nin)) THEN
720 itest =
iskyfi(nin)%P(idebi)==ideb+n
721 ELSE
722 itest = .false.
723 ENDIF
724 ENDDO
725 ENDIF
726 ENDDO
727 ENDIF
728 bbufs(ll) = (l-ll)/len11
729 debut(nin) = debut(nin) + nb
730 debuti(nin)= idebi
731 END IF
732
733 ELSE
734 leni=len11t
735 IF(glob_therm%NODADT_THERM == 1)THEN
736 IF(nb>0) THEN
737 ll = l+1
738 l = l + 1
739 IF(kdtint==0)THEN
740 DO n = 1, nb
741 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
742
743 nod = -
nsvfi(nin)%P(ideb+n)
744 nsvfi(nin)%P(ideb+n)=nod
745 IF(idebi<=niskyfi(nin)) THEN
746 itest =
iskyfi(nin)%P(idebi)==ideb+n
747 ELSE
748 itest = .false.
749 ENDIF
750 DO WHILE(itest)
751 bbufs(l+1) = nod
752 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
753 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
754 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
755 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
756 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
757 bbufs(l+7) =
fskyfi(nin)%P(6,idebi)
758 bbufs(l+8) =
fskyfi(nin)%P(7,idebi)
759 bbufs(l+9) =
fskyfi(nin)%P(8,idebi)
760 bbufs(l+10)=
ftheskyfi(nin)%P(2*(idebi-1)+1)
761 bbufs(l+11)=
ftheskyfi(nin)%P(2*(idebi-1)+2)
764 idebi = idebi + 1
765 l = l + len11t
766 IF(idebi<=niskyfi(nin)) THEN
767 itest =
iskyfi(nin)%P(idebi)==ideb+n
768 ELSE
769 itest = .false.
770 ENDIF
771 ENDDO
772 ENDIF
773 ENDDO
774 ELSE
775 DO n = 1, nb
776 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
777
778 nod = -
nsvfi(nin)%P(ideb+n)
779 nsvfi(nin)%P(ideb+n)=nod
780 IF(idebi<=niskyfi(nin)) THEN
781 itest =
iskyfi(nin)%P(idebi)==ideb+n
782 ELSE
783 itest = .false.
784 ENDIF
785 DO WHILE(itest)
786 bbufs(l+1) = nod
787 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
788 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
789 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
790 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
791 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
792 bbufs(l+7) =
fskyfi(nin)%P(6,idebi)
793 bbufs(l+8) =
fskyfi(nin)%P(7,idebi)
794 bbufs(l+9) =
fskyfi(nin)%P(8,idebi)
795 bbufs(l+10)=
fskyfi(nin)%P(9,idebi)
796 bbufs(l+11)=
fskyfi(nin)%P(10,idebi)
797 bbufs(l+12)=
ftheskyfi(nin)%P(2*(idebi-1)+1)
798 bbufs(l+13)=
ftheskyfi(nin)%P(2*(idebi-1)+2)
801 idebi = idebi + 1
802 l = l + len11t
803 IF(idebi<=niskyfi(nin)) THEN
804 itest =
iskyfi(nin)%P(idebi)==ideb+n
805 ELSE
806 itest = .false.
807 ENDIF
808 ENDDO
809 ENDIF
810 ENDDO
811 ENDIF
812 bbufs(ll) = (l-ll)/len11t
813 debut(nin) = debut(nin) + nb
814 debuti(nin)= idebi
815 END IF
816 ELSE
817 IF(nb>0) THEN
818 ll = l+1
819 l = l + 1
820 IF(kdtint==0)THEN
821 DO n = 1, nb
822 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
823
824 nod = -
nsvfi(nin)%P(ideb+n)
825 nsvfi(nin)%P(ideb+n)=nod
826 IF(idebi<=niskyfi(nin)) THEN
827 itest =
iskyfi(nin)%P(idebi)==ideb+n
828 ELSE
829 itest = .false.
830 ENDIF
831 DO WHILE(itest)
832 bbufs(l+1) = nod
833 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
834 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
835 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
836 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
837 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
838 bbufs(l+7) =
fskyfi(nin)%P(6,idebi)
839 bbufs(l+8) =
fskyfi(nin)%P(7,idebi)
840 bbufs(l+9) =
fskyfi(nin)%P(8,idebi)
841 bbufs(l+10)=
ftheskyfi(nin)%P(2*(idebi-1)+1)
842 bbufs(l+11)=
ftheskyfi(nin)%P(2*(idebi-1)+2)
843 idebi = idebi + 1
844 l = l + len11t
845 IF(idebi<=niskyfi(nin)) THEN
846 itest =
iskyfi(nin)%P(idebi)==ideb+n
847 ELSE
848 itest = .false.
849 ENDIF
850 ENDDO
851 ENDIF
852 ENDDO
853 ELSE
854 DO n = 1, nb
855 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
856
857 nod = -
nsvfi(nin)%P(ideb+n)
858 nsvfi(nin)%P(ideb+n)=nod
859 IF(idebi<=niskyfi(nin)) THEN
860 itest =
iskyfi(nin)%P(idebi)==ideb+n
861 ELSE
862 itest = .false.
863 ENDIF
864 DO WHILE(itest)
865 bbufs(l+1) = nod
866 bbufs(l+2) =
fskyfi(nin)%P(1,idebi)
867 bbufs(l+3) =
fskyfi(nin)%P(2,idebi)
868 bbufs(l+4) =
fskyfi(nin)%P(3,idebi)
869 bbufs(l+5) =
fskyfi(nin)%P(4,idebi)
870 bbufs(l+6) =
fskyfi(nin)%P(5,idebi)
871 bbufs(l+7) =
fskyfi(nin)%P(6,idebi)
872 bbufs(l+8) =
fskyfi(nin)%P(7,idebi)
873 bbufs(l+9) =
fskyfi(nin)%P(8,idebi)
874 bbufs(l+10)=
fskyfi(nin)%P(9,idebi)
875 bbufs(l+11)=
fskyfi(nin)%P(10,idebi)
876 bbufs(l+12)=
ftheskyfi(nin)%P(2*(idebi-1)+1)
877 bbufs(l+13)=
ftheskyfi(nin)%P(2*(idebi-1)+2)
878 idebi = idebi + 1
879 l = l + len11t
880 IF(idebi<=niskyfi(nin)) THEN
881 itest =
iskyfi(nin)%P(idebi)==ideb+n
882 ELSE
883 itest = .false.
884 ENDIF
885 ENDDO
886 ENDIF
887 ENDDO
888 ENDIF
889 bbufs(ll) = (l-ll)/len11t
890 debut(nin) = debut(nin) + nb
891 debuti(nin)= idebi
892 END IF
893 ENDIF
894 ENDIF
895
896 ELSEIF(nty==17) THEN
897
898 leni=len17
899 IF(nb>0) THEN
900 ll = l+1
901 l = l + 1
902 DO n = 1, nb
903 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
904
905 ies = -
nsvfi(nin)%P(ideb+n)
906 nsvfi(nin)%P(ideb+n)=ies
907 IF(idebi<=niskyfi(nin)) THEN
908 itest =
iskyfi(nin)%P(idebi)==ideb+n
909 ELSE
910 itest = .false.
911 ENDIF
912 DO WHILE(itest)
913 bbufs(l+1) = ies
914 DO jj=1,40
915 bbufs(l+jj+1)=
fskyfi(nin)%P(jj,idebi)
916 END DO
917 idebi = idebi + 1
918 l = l + len17
919 IF(idebi<=niskyfi(nin)) THEN
920 itest =
iskyfi(nin)%P(idebi)==ideb+n
921 ELSE
922 itest = .false.
923 ENDIF
924 ENDDO
925 ENDIF
926 ENDDO
927 bbufs(ll) = (l-ll)/len17
928 debut(nin) = debut(nin) + nb
929 debuti(nin)= idebi
930 END IF
931 END IF
932
933
934
935 IF(nty==20) THEN
937 ideb = debute(nin)
938 idebi= debutie(nin)
939 IF(nb>0) THEN
940 DO n = 1, nb
941 n1 = 2*(n+ideb-1)+1
942 n2 = 2*(n+ideb)
945 IF(
nsvfie(nin)%P(ideb+n)<0)
THEN
946
948 .
daanc6fie(nin)%P(1,1,n1),bbufs(l+3),iresp,inc)
949
951 .
daanc6fie(nin)%P(1,1,n2),bbufs(l+3+inc),iresp,
952 . inc)
953
954 ELSE
955 CALL putdpzero(zerodp,bbufs(l+3),iresp,inc)
956 CALL putdpzero(zerodp,bbufs(l+3+inc),iresp,inc)
957 END IF
958 l = l + len20e
959 END DO
960
961 ll = l+1
962 l = l + 1
963 IF(kdtint==0)THEN
964 DO n = 1, nb
965 IF(
nsvfie(nin)%P(ideb+n)<0)
THEN
966
967 nod = -
nsvfie(nin)%P(ideb+n)
969 IF(idebi<=niskyfie(nin)) THEN
970 itest =
iskyfie(nin)%P(idebi)==ideb+n
971 ELSE
972 itest = .false.
973 END IF
974 DO WHILE(itest)
975 bbufs(l+1) = nod
976 bbufs(l+2) =
fskyfie(nin)%P(1,idebi)
977 bbufs(l+3) =
fskyfie(nin)%P(2,idebi)
978 bbufs(l+4) =
fskyfie(nin)%P(3,idebi
979 bbufs(l+5) =
fskyfie(nin)%P(4,idebi)
980 bbufs(l+6) =
fskyfie(nin)%P(5,idebi)
981 bbufs(l+7) =
fskyfie(nin)%P(6,idebi)
982 bbufs(l+8) =
fskyfie(nin)%P(7,idebi)
983 bbufs(l+9) =
fskyfie(nin)%P(8,idebi)
984 idebi = idebi + 1
985 l = l + len11
986 IF(idebi<=niskyfie(nin)) THEN
987 itest =
iskyfie(nin)%P(idebi)==ideb+n
988 ELSE
989 itest = .false.
990 END IF
991 END DO
992 END IF
993 END DO
994 ELSE
995 DO n = 1, nb
996 IF(
nsvfie(nin)%P(ideb+n)<0)
THEN
997
998 nod = -
nsvfie(nin)%P(ideb+n)
1000 IF(idebi<=niskyfie(nin)) THEN
1001 itest =
iskyfie(nin)%P(idebi)==ideb+n
1002 ELSE
1003 itest = .false.
1004 END IF
1005 DO WHILE(itest)
1006 bbufs(l+1) = nod
1007 bbufs(l+2) =
fskyfie(nin)%P(1,idebi)
1008 bbufs(l+3) =
fskyfie(nin)%P(2,idebi)
1009 bbufs(l+4) =
fskyfie(nin)%P(3,idebi)
1010 bbufs(l+5) =
fskyfie(nin)%P(4,idebi)
1011 bbufs(l+6) =
fskyfie(nin)%P(5,idebi)
1012 bbufs(l+7) =
fskyfie(nin)%P(6,idebi)
1013 bbufs(l+8) =
fskyfie(nin)%P(7,idebi)
1014 bbufs(l+9) =
fskyfie(nin)%P(8,idebi)
1015 bbufs(l+10)=
fskyfie(nin)%P(9,idebi)
1016 bbufs(l+11)=
fskyfie(nin)%P(10,idebi)
1017 idebi = idebi + 1
1018 l = l + len11
1019 IF(idebi<=niskyfie(nin)) THEN
1020 itest =
iskyfie(nin)%P(idebi)==ideb+n
1021 ELSE
1022 itest = .false.
1023 END IF
1024 END DO
1025 END IF
1026 END DO
1027 END IF
1028 bbufs(ll) = (l-ll)/len11
1029 debute(nin) = debute(nin) + nb
1030 debutie(nin)= idebi
1031 END IF
1032 END IF
1033
1034
1035
1036
1037 IF(nty == 25) THEN
1038 IF(
nsnfie(nin)%P(p) > 0)
THEN
1040 ideb = debute(nin)
1041 idebi= debutie(nin)
1042
1043 ll = l + 1
1044 l = l + 1
1045 nb_tot_edges = 0
1046 IF(nb>0) THEN
1047 DO n = 1, nb
1048 debug_e2e(
ledge_fie(nin)%P(e_global_id,ideb+n) == d_es,ideb)
1049 IF(
nsvfie(nin)%P(ideb+n)<0)
THEN
1050
1051 nod = -
nsvfie(nin)%P(ideb+n)
1052 nsvfie(nin)%P(ideb+n)=nod
1053 IF(idebi<=niskyfie(nin)) THEN
1054 itest =
iskyfie(nin)%P(idebi)==ideb+n
1055 ELSE
1056 itest = .false.
1057 END IF
1058 thoffset = 0
1059 IF(intth > 0) THEN
1060 thoffset = 1
1061
1062 assert(.false.)
1063 ENDIF
1064 DO WHILE(itest)
1065 bbufs(l+1) = nod
1066 bbufs(l+2) =
fskyfie(nin)%P(1,idebi)
1067 bbufs(l+3) =
fskyfie(nin)%P(2,idebi)
1068 bbufs(l+4) =
fskyfie(nin)%P(3,idebi)
1069 bbufs(l+5) =
fskyfie(nin)%P(4,idebi)
1070 bbufs(l+6+thoffset) = nod
1071 bbufs(l+7+thoffset) =
fskyfie(nin)%P(5+thoffset,idebi)
1072 bbufs(l+8+thoffset) =
fskyfie(nin)%P(6+thoffset,idebi)
1073 bbufs(l+9+thoffset) =
fskyfie(nin)%P(7+thoffset,idebi)
1074 bbufs(l+10+thoffset) =
fskyfie(nin)%P(8+thoffset,idebi)
1075 idebi = idebi + 1
1076 nb_tot_edges = nb_tot_edges + 1
1077 l = l + len25e
1078 IF(idebi<=niskyfie(nin)) THEN
1079 itest =
iskyfie(nin)%P(idebi)==ideb+n
1080 ELSE
1081 itest = .false.
1082 END IF
1083 END DO
1084 END IF
1085 END DO
1086 END IF
1087
1088
1089
1090
1091 bbufs(ll) = nb_tot_edges
1092 assert( (l-ll)/len25e == nb_tot_edges)
1093 debute(nin) = debute(nin) + nb
1094 debutie(nin)= idebi
1095 END IF
1096 ENDIF
1097 END DO
1098 siz = l+1-add
1099 msgtyp = msgoff2
1101 . bbufs(add),siz,real ,it_spmd(p),msgtyp,
1102 . spmd_comm_world,req_si(p),ierror )
1103 ELSEIF(p/=loc_proc)THEN
1104 DO ii = 1, nbintc
1105 nin = intlist(ii)
1106 debut(nin) = debut(nin) +
nsnfi(nin)%P(p)
1107 IF(ipari(7,nin)==20)
1108 . debute(nin) = debute(nin) +
nsnfie(nin)%P(p)
1109 IF(ipari(7,nin)==25)
1110 . debute(nin) = debute(nin) +
nsnfie(nin)%P(p)
1111 ENDDO
1112 ENDIF
1113 ENDDO
1114
1115
1116
1117 DO ii = 1, nbintc
1118 nin = intlist(ii)
1119 niskyfi(nin) = 0
1120 niskyfie(nin) = 0
1121 ENDDO
1122
1123 ELSEIF(iflag==2)THEN
1124
1125
1126
1127 IF(nbint20>0)THEN
1128 DO ii = 1, nbintc
1129 nin = intlist(ii)
1130 debut(nin) = 0
1131 debute(nin) = 0
1132 END DO
1133 END IF
1134
1135
1136
1137 iallocr = 0
1138 DO p = 1, nspmd
1139 IF(nsnsitot(p)>0)THEN
1140 CALL mpi_wait(req_r(p),status,ierror)
1141 iallocr =
max(iallocr,isizrcv(1,p))
1142
1143 END IF
1144 END DO
1145
1146 ierror=0
1147 IF(iallocr>0)
1148 . ALLOCATE(bbufr(iallocr+nbintc*2),stat=ierror)
1149
1150
1151 IF(ierror/=0) THEN
1152 CALL ancmsg(msgid=20,anmode=aninfo)
1154 ENDIF
1155
1156
1157
1158
1159 lskyi_ct=0
1160 DO p=1,nspmd
1161 lskyi_ct=lskyi_ct+isizrcv(2,p)
1162 ENDDO
1163
1164 IF ( nisky+lskyi_ct > sisky) THEN
1165 CALL reallocate_i_skyline(lskyi_ct,3,glob_therm%INTHEAT,glob_therm%NODADT_THERM, interfaces%PON)
1166 ENDIF
1167
1168
1169
1170
1171 DO p = 1, nspmd
1172 IF(isizrcv(1,p)>0) THEN
1173 msgtyp = msgoff2
1174 l = 1
1176 . bbufr(l),isizrcv(1,p)+nbintc*2,real ,it_spmd(p),msgtyp,
1177 . spmd_comm_world ,status,ierror )
1178
1179
1180 DO ii = 1, nbintc
1181 nin = intlist(ii)
1182 nty =ipari(7,nin)
1183
1184 IF(multi_fvm%INT18_GLOBAL_LIST(nin)) cycle
1185 condition = (
nsnsi(nin)%P(p) > 0)
1186 IF((nty == 25) .AND. (.NOT. condition) ) THEN
1187 IF(ipari(58,nin) /= 0) THEN
1188 condition = (
nsnsie(nin)%P(p) > 0)
1189 ENDIF
1190 ENDIF
1191
1192 IF(condition) THEN
1193 ibc =ipari(11,nin)
1194 noint =ipari(15,nin)
1195 inacti=ipari(22,nin)
1196 isecin=ipari(28,nin)
1197 ibag =ipari(32,nin)
1198 iadm =ipari(44,nin)
1199 intth = ipari(47,nin)
1200 intcarea=ipari(99,nin)
1201
1202 IF(nty == 20) THEN
1203 nb =
nsnsi(nin)%P(p)
1204 ideb = debut(nin)
1206 1 nb,len20,
nsvsi(nin)%P(ideb+1),bbufr(l),
1207 2 intbuf_tab(nin)%DAANC6,intbuf_tab(nin)%NSV,intbuf_tab(nin)%ALPHAK)
1208 l = l + nb*len20
1209 debut(nin) = debut(nin) + nb
1210
1211 nb = nint(bbufr(l))
1212 l = l + 1
1213 IF(intth == 0) THEN
1215 1 nb ,len ,bbufr(l),intbuf_tab(nin)%NSV,interfaces%PON%FSKYI ,
1216 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag ,
1217 3 icodt ,secfcum,nstrf ,icontact ,fcont ,
1218 4 inacti ,iadm ,intth ,ftheskyi,intbuf_tab(nin)%NLG,
1219 5 h3d_data)
1220 l = l + nb*len
1221 ELSE
1223 1 nb ,len7t ,bbufr(l),intbuf_tab(nin)%NSV,interfaces%PON%FSKYI ,
1224 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag ,
1225 3 icodt ,secfcum,nstrf ,icontact ,fcont ,
1226 4 inacti ,iadm ,intth ,ftheskyi ,intbuf_tab(nin)%NLG,
1227 5 h3d_data)
1228 l = l + nb*len7t
1229 ENDIF
1230 ELSE IF(nty==7.OR.nty==10.OR.nty==22.OR.
1231 * nty==23.OR.nty==24.OR.nty==25)THEN
1232
1233
1234 IF(
nsnsi(nin)%P(p) > 0)
THEN
1235 nb = nint(bbufr(l))
1236
1237
1238 l = l + 1
1239 IF(intth == 0) THEN
1241 1 nb ,len ,bbufr(l),intbuf_tab(nin)%NSV, interfaces%PON%FSKYI,
1242 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag ,
1243 3 icodt ,secfcum,nstrf ,icontact ,fcont ,
1244 4 inacti ,iadm ,intth , ftheskyi ,condnskyi,
1245 5 h3d_data,nin ,tagncont,kloadpinter ,loadpinter,
1246 6 loadp_hyd_inter ,intcarea,fsav(1,nin) ,interfaces%PARAMETERS,
1247 7 glob_therm%NODADT_THERM)
1248 l = l + nb*len
1249 ELSE
1251 1 nb ,len7t ,bbufr(l),intbuf_tab(nin)%NSV, interfaces%PON%FSKYI,
1252 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag ,
1253 3 icodt ,secfcum,nstrf ,icontact ,fcont ,
1254 4 inacti ,iadm ,intth , ftheskyi ,condnskyi,
1255 5 h3d_data,nin ,tagncont, kloadpinter ,loadpinter,
1256 6 loadp_hyd_inter ,intcarea,fsav(1,nin) ,interfaces%PARAMETERS,
1257 7 glob_therm%NODADT_THERM)
1258 l = l + nb*len7t
1259 ENDIF
1260 ENDIF
1261
1262 IF(nty == 25 ) THEN
1263 IF(
nsnsie(nin)%P(p) > 0 )
THEN
1264 nb = nint(bbufr(l))
1265 l = l + 1
1266 leni = len25e
1267 IF(nb > 0) THEN
1269 1 nb ,leni ,bbufr(l),
nsvsie(nin)%P, interfaces%PON%FSKYI,
1270 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag ,
1271 3 icodt ,secfcum,nstrf ,icontact ,fcont ,
1272 4 inacti ,iadm ,intth , ftheskyi ,condnskyi,
1273 5 h3d_data,intbuf_tab(nin)%LEDGE,nledge,ipari(68,nin),
1274 6 nin ,tagncont,kloadpinter,loadpinter,loadp_hyd_inter)
1275 l = l + nb*leni
1276 ENDIF
1277 ENDIF
1278 ENDIF
1279
1280
1281 ELSEIF(nty==11)THEN
1282 nb = nint(bbufr(l))
1283 l = l + 1
1284 IF(intth == 0) THEN
1286 1 nb ,len11 ,bbufr(l),intbuf_tab(nin)%IRECTS,interfaces%PON%FSKYI ,
1287 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag
1288 3 icodt ,secfcum ,nstrf ,icontact ,fcont ,
1289 4 intth ,ftheskyi,condnskyi,h3d_data ,nin ,tagncont ,
1290 5 kloadpinter,loadpinter,loadp_hyd_inter,glob_therm%NODADT_THERM)
1291 l = l + nb*len11
1292 ELSE
1294 1 nb ,len11t ,bbufr(l),intbuf_tab(nin)%IRECTS,interfaces%PON%FSKYI ,
1295 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag ,
1296 3 icodt ,secfcum ,nstrf ,icontact ,fcont ,
1297 4 intth ,ftheskyi,condnskyi,h3d_data ,nin ,tagncont,
1298 5 kloadpinter,loadpinter,loadp_hyd_inter,glob_therm%NODADT_THERM)
1299 l = l + nb*len11t
1300 ENDIF
1301 ELSEIF(nty==17)THEN
1302 nb = nint(bbufr(l))
1303 l = l + 1
1304 ige = ipari(34,nin)
1305 ign = ipari(36,nin)
1306 nme = igrbric(ige)%NENTITY
1307 nmes= igrbric(ign)%NENTITY
1308
1310 1 nb ,len17 ,bbufr(l),igrbric(ign)%ENTITY,interfaces%PON%FSKYI ,
1311 2 interfaces%PON%ISKY ,fcont ,ixs ,ixs16 ,h3d_data)
1312 l = l + nb*len17
1313 END IF
1314 ENDIF
1315
1316
1317
1318 IF(nty == 20) THEN
1320 IF(nb>0)THEN
1321 ibc =ipari(11,nin)
1322 noint =ipari(15,nin)
1323 isecin=ipari(28,nin)
1324
1325
1326 ibag=0
1327 ideb = debute(nin)
1329 1 nb,len20e,
nsvsie(nin)%P(ideb+1),bbufr(l),
1330 2 intbuf_tab(nin)%DAANC6,intbuf_tab(nin)%IXLINS,intbuf_tab(nin)%ALPHAK)
1331 l = l + nb*len20e
1332 debute(nin) = debute(nin) + nb
1333
1334 nb = nint(bbufr(l))
1335 l = l + 1
1336 IF(nb > 0) THEN
1338 1 nb ,len11 ,bbufr(l),intbuf_tab(nin)%IXLINS,interfaces%PON%FSKYI ,
1339 2 interfaces%PON%ISKY ,ibc ,isecin ,noint ,ibag ,
1340 3 icodt ,secfcum ,nstrf ,icontact ,fcont ,
1341 4 intbuf_tab(nin)%NLG,h3d_data)
1342 ENDIF
1343 l = l + nb*len11
1344 END IF
1345
1346 END IF
1347 ENDDO
1348 ENDIF
1349 ENDDO
1350 IF(iallocr>0) DEALLOCATE(bbufr)
1351
1352
1353
1354 DO p = 1, nspmd
1355 IF(p/=loc_proc)THEN
1356 IF(nsnfitot(p)>0) THEN
1357 CALL mpi_wait(req_s(p),status,ierror)
1358 END IF
1359 IF(isizenv(1,p)>0)THEN
1360 CALL mpi_wait(req_si(p),status,ierror)
1361 END IF
1362 END IF
1363 END DO
1364 IF(iallocs>0) DEALLOCATE(bbufs)
1365 ENDIF
1366
1367#endif
1368 RETURN
subroutine intcontp25e(n, isky, nsnfi, isizenv, nsnfitot, len)
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
subroutine mpi_isend(buf, cnt, datatype, dest, tag, comm, ireq, ierr)
subroutine mpi_wait(ireq, status, ierr)
subroutine mpi_irecv(buf, cnt, datatype, source, tag, comm, ireq, ierr)
type(int_pointer2), dimension(:), allocatable ledge_fie
type(real_pointer), dimension(:), allocatable ftheskyfi
type(real_pointer2), dimension(:), allocatable fskyfie
type(int_pointer), dimension(:), allocatable nsvsi
type(int_pointer), dimension(:), allocatable iskyfie
type(int_pointer), dimension(:), allocatable nsnfie
type(r8_pointer3), dimension(:), allocatable daanc6fi
type(real_pointer), dimension(:), allocatable condnskyfi
type(int_pointer), dimension(:), allocatable nsnsie
type(real_pointer), dimension(:), allocatable alphakfi
type(int_pointer), dimension(:), allocatable nsvsie
type(int_pointer), dimension(:), allocatable nsnsi
type(real_pointer2), dimension(:), allocatable fskyfi
type(int_pointer), dimension(:), allocatable nsvfi
type(int_pointer), dimension(:), allocatable iskyfi
type(int_pointer), dimension(:), allocatable nsvfie
type(r8_pointer3), dimension(:), allocatable daanc6fie
type(real_pointer), dimension(:), allocatable alphakfie
type(int_pointer), dimension(:), allocatable nsnfi
subroutine reallocate_i_skyline(new_count, call_id, intheat, nodadt_therm, pon)
subroutine sorti25(n, isky, fskyi, nfskyi)
subroutine spmd_fiadd25e_pon(output, nb, len, bufr, nsv, fskyi, isky, ibc, isecin, noint, ibag, icodt, secfcum, nstrf, icontact, fcont, inacti, iadm, intth, ftheskyi, condnskyi, h3d_data, ledge, sedge, nedge, nin, tagncont, kloadpinter, loadpinter, loadp_hyd_inter)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)