59
60
61
65 USE intbufdef_mod
67 USE multi_fvm_mod
69 USE interfaces_mod
70
71
72
73 USE spmd_comm_world_mod, ONLY : spmd_comm_world
74#include "implicit_f.inc"
75
76
77
78#include "spmd.inc"
79
80
81
82#include "scr05_c.inc"
83#include "scr18_c.inc"
84#include "com01_c.inc"
85#include "com04_c.inc"
86#include "param_c.inc"
87#include "task_c.inc"
88
89
90
91 INTEGER IFLAG, NBINTC,ISLEN7, IRLEN7, ISLEN11, IRLEN11,
92 . ISLEN17, IRLEN17,IRLEN7T,ISLEN7T,
93 . IRLEN20, ISLEN20, IRLEN20T, ISLEN20T, IRLEN20E, ISLEN20E,
94 . IPARI(NPARI,*), INTLIST(*), IXS(*), IXS16(*),
95 . ICODT(*), ICONTACT(*), NSTRF(*),TAGNCONT(NLOADP_HYD_INTER,NUMNOD),
96 . KLOADPINTER(NINTER+1),LOADPINTER(NINTER*NLOADP_HYD),
97 . LOADP_HYD_INTER()
98 INTEGER, INTENT(IN) :: NODADT_THERM
100 . a(*), stifn(*), viscn(*),
101 . secfcum(7,numnod,nsect), fcont(3,*), fthe(*),condn(*)
102 my_real,
INTENT(INOUT) :: fsav(nthvki,*)
103
104 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
105 TYPE(H3D_DATABASE) :: H3D_DATA
106 TYPE(MULTI_FVM_STRUCT), INTENT(INOUT) :: MULTI_FVM
107 TYPE (INTERFACES_) ,INTENT(IN) :: INTERFACES
108
109 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
110
111
112
113#ifdef MPI
114 INTEGER P, L, ADD, LL, , LEN, SIZ, LOC_PROC, MULTIMP, II,
115 . NIN, IDEB, N, MSGTYP, IERROR, NI, NOD, INTTH,
116 . IBC, ISECIN, IBAG, NOINT, NTY, LEN11, N1, N2,LENI,INACTI,
117 . IADM,IALLOCS, IALLOCR, LEN17, IGN, IGE, NMES, NME, NAD,
118 . LEN7T,LEN20,LEN20T, LEN20E, INC, MSGOFF,LEN11T,
119 . JD(50), KD(50), STATUS(MPI_STATUS_SIZE),LEN7TH,
120 . DEBUT(NINTER), DEBUTE(NINTER),LL0,
121
122 . ADDS(PARASIZ+1), ADDR(PARASIZ+1),
123 . REQ_SI(PARASIZ),REQ_RI(PARASIZ)
124 INTEGER, PARAMETER :: LEN25E = 11
125 INTEGER :: NEDGE, INTCAREA
126 DATA msgoff/143/
127 LOGICAL ITEST
128 my_real ,
DIMENSION(:),
ALLOCATABLE :: bbufs, bbufr
130 . bid
131 SAVE adds,addr,req_si,req_ri,iallocs,iallocr,bbufs,bbufr
132
133
134
135
136 bid = zero
137 loc_proc = ispmd + 1
138
139 len = 5
140 IF(kdtint/=0) len = len+1
141 IF(nodadt_therm == 1) len = len+1
142
143
144 len11 = 2*(len-1)+1
145 len11t = 2*len+1
146
147 len7t = len + 1
148
149 len17 = 69
150
151 len20 = len + 18*(1+iresp) + 1
152
153 len20t = len20 + 1
154
155 len20e = len11 + 18*2*(1+iresp) + 2
156
157
158 IF(iflag==1)THEN
159
160
161
162
163
164 DO ii = 1, nbintc
165 nin = intlist(ii)
166 debut(nin) = 0
167 debute(nin)= 0
168 ENDDO
170 . + len11t*irlen11 + len17*irlen17
171 . + len20*irlen20 + len20t*irlen20t + len20e*irlen20e
173 ierror=0
174 IF(iallocs>0)
175 + ALLOCATE(bbufs(iallocs+nbintc*nspmd*2),stat=ierror)
176 IF(ierror/=0) THEN
177 CALL ancmsg(msgid=20,anmode=aninfo)
179 END IF
180
182 . + len11t*islen11 + len17*islen17
183 . + len20*islen20 + len20t*islen20t + len20e*islen20e
185
186
187 ierror=0
188 IF(iallocr>0)
189 + ALLOCATE(bbufr(iallocr+nbintc*nspmd*2),stat=ierror)
190 IF(ierror/=0) THEN
191 CALL ancmsg(msgid=20,anmode=aninfo)
193 END IF
194
195
196
197 l = 0
198 DO p = 1, nspmd
199 add = l+1
200 addr(p) = add
201 siz = 0
202 IF(p/=loc_proc)THEN
203
204 DO ii = 1, nbintc
205 nin = intlist(ii)
207 nty = ipari(7,nin)
208 intth = ipari(47,nin)
209
210 leni = len
211 IF(nty==11)leni=len11
212 IF(nty==17)leni=len17
213 IF(nty==20)leni=len20
214 IF(nty == 7 .AND. intth > 0) leni = len7t
215 IF(nty == 22 .AND. intth > 0) leni = len7t
216 IF(nty == 23 .AND. intth > 0) leni = len7t
217 IF(nty == 20 .AND. intth > 0) leni = len20t
218 IF(nty == 11 .AND. intth > 0) leni = len11t
219 IF(nty == 25 .AND. intth > 0) leni = len7t
220
221 IF(nb>0) THEN
222 l = l + 1 + nb*leni
223 ENDIF
224
225 IF(nty==20)THEN
227 IF(nb>0) THEN
228 l = l + 1 + nb*len20e
229 END IF
230 END IF
231 IF(nty==25 .AND. ipari(58,nin) > 0)THEN
233 IF(nb>0) THEN
234 l = l + 1 + nb*len25e
235 END IF
236 END IF
237 ENDDO
238 siz = l+1-add
239 IF(siz>0)THEN
240 msgtyp = msgoff
242 . bbufr(add),siz,real ,it_spmd(p),msgtyp,
243 . spmd_comm_world,req_ri(p),ierror )
244 ENDIF
245 ENDIF
246 ENDDO
247 addr(nspmd+1) = addr(nspmd)+siz
248
249
250
251 l = 0
252 DO p = 1, nspmd
253 add = l+1
254 adds(p) = add
255 siz = 0
256 IF(p/=loc_proc)THEN
257
258 DO ii = 1, nbintc
259 nin = intlist(ii)
260 ideb = debut(nin)
262 nty = ipari(7,nin)
263 intth =ipari(47,nin)
264 IF(nty==7.OR.nty==10.OR.nty==22.OR.nty==23
265 * .OR.nty==24.OR.nty==25 ) THEN
266 leni = len
267 IF(nb>0) THEN
268 ll = l+1
269 l = l + 1
270 ll0 = ll
271 IF(intth == 0 ) THEN
272
273 IF(kdtint==0)THEN
274 DO n = 1, nb
275 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
276
278 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
279 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
280 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
281 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
282 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
283 afi(nin)%P(1,ideb+n) = zero
284 afi(nin)%P(2,ideb+n) = zero
285 afi(nin)%P(3,ideb+n) = zero
286 stnfi(nin)%P(ideb+n) = zero
287 l = l + len
288 ENDIF
289 ENDDO
290 ELSE
291 DO n = 1, nb
292 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
293
295 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
296 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
297 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
298 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
299 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
300 bbufs(l+6) =
vscfi(nin)%P(ideb+n)
301 afi(nin)%P(1,ideb+n) = zero
302 afi(nin)%P(2,ideb+n) = zero
303 afi(nin)%P(3,ideb+n) = zero
304 stnfi(nin)%P(ideb+n) = zero
305
306 l = l + len
307 ENDIF
308 ENDDO
309 ENDIF
310
311
312
313 ELSE
314
315 IF(nodadt_therm == 1) THEN
316 leni = len7t
317 IF(kdtint==0)THEN
318 DO n = 1, nb
319 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
320
322 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
323 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
324 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
325 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
326 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
327 bbufs(l+6) =
fthefi(nin)%P(ideb+n)
328 bbufs(l+7) =
condnfi(nin)%P(ideb+n)
329 afi(nin)%P(1,ideb+n) = zero
330 afi(nin)%P(2,ideb+n) = zero
331 afi(nin)%P(3,ideb+n) = zero
332 stnfi(nin)%P(ideb+n) = zero
333 fthefi(nin)%P(ideb+n)= zero
335 l = l + len7t
336 ENDIF
337 ENDDO
338 ELSE
339 DO n = 1, nb
340 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
341
343 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
344 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
345 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
346 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
347 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
348 bbufs(l+6) =
vscfi(nin)%P(ideb+n)
349 bbufs(l+7) =
fthefi(nin)%P(ideb+n)
350 bbufs(l+8) =
condnfi(nin)%P(ideb+n)
351 afi(nin)%P(1,ideb+n) = zero
352 afi(nin)%P(2,ideb+n) = zero
353 afi(nin)%P(3,ideb+n) = zero
354 stnfi(nin)%P(ideb+n) = zero
355 vscfi(nin)%P(ideb+n) = zero
356 fthefi(nin)%P(ideb+n)= zero
358 l = l + len7t
359 ENDIF
360 ENDDO
361 ENDIF
362
363 ELSE
364
365 leni = len7t
366 IF(kdtint==0)THEN
367 DO n = 1, nb
368 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
369
371 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
372 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
373 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
374 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
375 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
376 bbufs(l+6) =
fthefi(nin)%P(ideb+n)
377 afi(nin)%P(1,ideb+n) = zero
378 afi(nin)%P(2,ideb+n) = zero
379 afi(nin)%P(3,ideb+n) = zero
380 stnfi(nin)%P(ideb+n) = zero
381 fthefi(nin)%P(ideb+n)= zero
382 l = l + len7t
383 ENDIF
384 ENDDO
385 ELSE
386 DO n = 1, nb
387 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
388
390 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
391 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
392 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
393 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
394 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
395 bbufs(l+6) =
vscfi(nin)%P(ideb+n)
396 bbufs(l+7) =
fthefi(nin)%P(ideb+n)
397 afi(nin)%P(1,ideb+n) = zero
398 afi(nin)%P(2,ideb+n) = zero
399 afi(nin)%P(3,ideb+n) = zero
400 stnfi(nin)%P(ideb+n) = zero
401 vscfi(nin)%P(ideb+n) = zero
402 fthefi(nin)%P(ideb+n)= zero
403 l = l + len7t
404 ENDIF
405 ENDDO
406 ENDIF
407
408 ENDIF
409 ENDIF
410
411 bbufs(ll) = (l-ll0)/leni
412 debut(nin) = debut(nin) + nb
413 END IF
414
415 ELSEIF(nty==11)THEN
416
417 IF(nb>0) THEN
418 ll = l+1
419 l = l + 1
420 IF(intth == 0) THEN
421 leni=len11
422
423 IF(kdtint==0)THEN
424 DO n = 1, nb
425 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
426
428 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
429 n1 = 2*(ideb+n-1)+1
430 n2 = 2*(ideb+n)
431 bbufs(l+2) =
afi(nin)%P(1,n1)
432 bbufs(l+3) =
afi(nin)%P(2,n1)
433 bbufs(l+4) =
afi(nin)%P(3,n1)
434 bbufs(l+5) =
stnfi(nin)%P(n1)
435 bbufs(l+6) =
afi(nin)%P(1,n2)
436 bbufs(l+7) =
afi(nin)%P(2,n2)
437 bbufs(l+8) =
afi(nin)%P(3,n2)
438 bbufs(l+9) =
stnfi(nin)%P(n2)
439 afi(nin)%P(1,n1) = zero
440 afi(nin)%P(2,n1) = zero
441 afi(nin)%P(3,n1) = zero
442 stnfi(nin)%P(n1) = zero
443 afi(nin)%P(1,n2) = zero
444 afi(nin)%P(2,n2) = zero
445 afi(nin)%P(3,n2) = zero
446 stnfi(nin)%P(n2) = zero
447 l = l + leni
448 ENDIF
449 ENDDO
450 ELSE
451 DO n = 1, nb
452 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
453
455 n1 = 2*(ideb+n-1)+1
456 n2 = 2*(ideb+n)
457 bbufs(l+1) =
nsvfi(nin)%P(n1)
458 bbufs(l+2) =
afi(nin)%P(1,n1)
459 bbufs(l+3) =
afi(nin)%P(2,n1)
460 bbufs(l+4) =
afi(nin)%P(3,n1)
461 bbufs(l+5) =
stnfi(nin)%P(n1)
462 bbufs(l+6) =
vscfi(nin)%P(n1)
463 bbufs(l+7) =
nsvfi(nin)%P(n2)
464 bbufs(l+8) =
afi(nin)%P(1,n2)
465 bbufs(l+9) =
afi(nin)%P(2,n2)
466 bbufs(l+10) =
afi(nin)%P(3,n2)
467 bbufs(l+11) =
stnfi(nin)%P(n2)
468 bbufs(l+12) =
vscfi(nin)%P(n2)
469 afi(nin)%P(1,n1) = zero
470 afi(nin)%P(2,n1) = zero
471 afi(nin)%P(3,n1) = zero
472 stnfi(nin)%P(n1) = zero
473 vscfi(nin)%P(n1) = zero
474 afi(nin)%P(1,n2) = zero
475 afi(nin)%P(2,n2) = zero
476 afi(nin)%P(3,n2) = zero
477 stnfi(nin)%P(n2) = zero
478 vscfi(nin)%P(n2) = zero
479 l = l + leni
480 ENDIF
481 ENDDO
482 ENDIF
483
484 ELSE
485
486
487
488 IF(nodadt_therm == 1) THEN
489 leni=len11t
490
491 IF(kdtint==0)THEN
492 DO n = 1, nb
493 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
494
496 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
497 n1 = 2*(ideb+n-1)+1
498 n2 = 2*(ideb+n)
499 bbufs(l+2) =
afi(nin)%P(1,n1)
500 bbufs(l+3) =
afi(nin)%P(2,n1)
501 bbufs(l+4) =
afi(nin)%P(3,n1)
502 bbufs(l+5) =
stnfi(nin)%P(n1)
503 bbufs(l+6) =
fthefi(nin)%P(n1)
504 bbufs(l+7) =
condnfi(nin)%P(n1)
505 bbufs(l+8) =
afi(nin)%P(1,n2)
506 bbufs(l+9) =
afi(nin)%P(2,n2)
507 bbufs(l+10) =
afi(nin)%P(3,n2)
508 bbufs(l+11) =
stnfi(nin)%P(n2)
509 bbufs(l+12) =
fthefi(nin)%P(n2)
510 bbufs(l+13) =
condnfi(nin)%P(n2)
511 afi(nin)%P(1,n1) = zero
512 afi(nin)%P(2,n1) = zero
513 afi(nin)%P(3,n1) = zero
514 stnfi(nin)%P(n1) = zero
515 afi(nin)%P(1,n2) = zero
516 afi(nin)%P(2,n2) = zero
517 afi(nin)%P(3,n2) = zero
518 stnfi(nin)%P(n2) = zero
523 l = l + leni
524 ENDIF
525 ENDDO
526 ELSE
527
528 DO n = 1, nb
529 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
530
532 n1 = 2*(ideb+n-1)+1
533 n2 = 2*(ideb+n)
534 bbufs(l+1) =
nsvfi(nin)%P(n1)
535 bbufs(l+2) =
afi(nin)%P(1,n1)
536 bbufs(l+3) =
afi(nin)%P(2,n1)
537 bbufs(l+4) =
afi(nin)%P(3,n1)
538 bbufs(l+5) =
stnfi(nin)%P(n1)
539 bbufs(l+6) =
vscfi(nin)%P(n1)
540 bbufs(l+7) =
fthefi(nin)%P(n1)
541 bbufs(l+8) =
condnfi(nin)%P(n1)
542 bbufs(l+9) =
nsvfi(nin)%P(n2)
543 bbufs(l+10) =
afi(nin)%P(1,n2)
544 bbufs(l+11) =
afi(nin)%P(2,n2)
545 bbufs(l+12) =
afi(nin)%P(3,n2)
546 bbufs(l+13) =
stnfi(nin)%P(n2)
547 bbufs(l+14) =
vscfi(nin)%P(n2)
548 bbufs(l+15) =
fthefi(nin)%P(n2)
549 bbufs(l+16) =
condnfi(nin)%P(n2)
550 afi(nin)%P(1,n1) = zero
551 afi(nin)%P(2,n1) = zero
552 afi(nin)%P(3,n1) = zero
553 stnfi(nin)%P(n1) = zero
554 vscfi(nin)%P(n1) = zero
555 afi(nin)%P(1,n2) = zero
557 afi(nin)%P(3,n2) = zero
558 stnfi(nin)%P(n2) = zero
559 vscfi(nin)%P(n2) = zero
564 l = l + leni
565 ENDIF
566 ENDDO
567 ENDIF
568
569 ELSE
570 leni=len11t
571
572 IF(kdtint==0)THEN
573 DO n = 1, nb
574 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
575
577 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
578 n1 = 2*(ideb+n-1)+1
579 n2 = 2*(ideb+n)
580 bbufs(l+2) =
afi(nin)%P(1,n1)
581 bbufs(l+3) =
afi(nin)%P(2,n1)
582 bbufs(l+4) =
afi(nin)%P(3,n1)
583 bbufs(l+5) =
stnfi(nin)%P(n1)
584 bbufs(l+6) =
fthefi(nin)%P(n1)
585 bbufs(l+7) =
afi(nin)%P(1,n2)
586 bbufs(l+8) =
afi(nin)%P(2,n2)
587 bbufs(l+9) =
afi(nin)%P(3,n2)
588 bbufs(l+10) =
stnfi(nin)%P(n2)
589 bbufs(l+11) =
fthefi(nin)%P(n2)
590 afi(nin)%P(1,n1) = zero
591 afi(nin)%P(2,n1) = zero
592 afi(nin)%P(3,n1) = zero
593 stnfi(nin)%P(n1) = zero
594 afi(nin)%P(1,n2) = zero
595 afi(nin)%P(2,n2) = zero
596 afi(nin)%P(3,n2) = zero
597 stnfi(nin)%P(n2) = zero
600 l = l + leni
601 ENDIF
602 ENDDO
603 ELSE
604
605 DO n = 1, nb
606 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
607
609 n1 = 2*(ideb+n-1)+1
610 n2 = 2*(ideb+n)
611 bbufs(l+1) =
nsvfi(nin)%P(n1)
612 bbufs(l+2) =
afi(nin)%P(1,n1)
613 bbufs(l+3) =
afi(nin)%P(2,n1)
614 bbufs(l+4) =
afi(nin)%P(3,n1)
615 bbufs(l+5) =
stnfi(nin)%P(n1)
616 bbufs(l+6) =
vscfi(nin)%P(n1)
617 bbufs(l+7) =
fthefi(nin)%P(n1)
618 bbufs(l+8) =
nsvfi(nin)%P(n2)
619 bbufs(l+9) =
afi(nin)%P(1,n2)
620 bbufs(l+10) =
afi(nin)%P(2,n2)
621 bbufs(l+11) =
afi(nin)%P(3,n2)
622 bbufs(l+12) =
stnfi(nin)%P(n2)
623 bbufs(l+13) =
vscfi(nin)%P(n2)
624 bbufs(l+14) =
fthefi(nin)%P(n2)
625 afi(nin)%P(1,n1) = zero
626 afi(nin)%P(2,n1) = zero
627 afi(nin)%P(3,n1) = zero
628 stnfi(nin)%P(n1) = zero
629 vscfi(nin)%P(n1) = zero
630 afi(nin)%P(1,n2) = zero
631 afi(nin)%P(2,n2) = zero
632 afi(nin)%P(3,n2) = zero
633 stnfi(nin)%P(n2) = zero
634 vscfi(nin)%P(n2) = zero
637 l = l + leni
638 ENDIF
639 ENDDO
640 ENDIF
641
642 ENDIF
643 ENDIF
644 bbufs(ll) = (l-ll)/leni
645 debut(nin) = debut(nin) + nb
646 END IF
647
648 ELSEIF(nty==17)THEN
649
650 leni=len17
651 IF(nb>0) THEN
652 ll = l+1
653 l = l + 1
654 DO n = 1, nb
655 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
656
658 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
659 bbufs(l+2) =
afi17(nin)%P(1,1,ideb+n)
660 bbufs(l+3) =
afi17(nin)%P(2,1,ideb+n)
661 bbufs(l+4) =
afi17(nin)%P(3,1,ideb+n)
662 bbufs(l+5) =
stnfi17(nin)%P(1,ideb+n)
663 afi17(nin)%P(1,1,ideb+n) = zero
664 afi17(nin)%P(2,1,ideb+n) = zero
665 afi17(nin)%P(3,1,ideb+n) = zero
666 stnfi17(nin)%P(1,ideb+n) = zero
667
668 bbufs(l+6) =
afi17(nin)%P(1,2,ideb+n)
669 bbufs(l+7) =
afi17(nin)%P(2,2,ideb+n)
670 bbufs(l+8) =
afi17(nin)%P(3,2,ideb+n)
671 bbufs(l+9)=
stnfi17(nin)%P(2,ideb+n)
672 afi17(nin)%P(1,2,ideb+n) = zero
673 afi17(nin)%P(2,2,ideb+n) = zero
674 afi17(nin)%P(3,2,ideb+n) = zero
675 stnfi17(nin)%P(2,ideb+n) = zero
676
677 bbufs(l+10)=
afi17(nin)%P(1,3,ideb+n)
678 bbufs(l+11)=
afi17(nin)%P(2,3,ideb+n)
679 bbufs(l+12)=
afi17(nin)%P(3,3,ideb+n)
680 bbufs(l+13)=
stnfi17(nin)%P(3,ideb+n)
681 afi17(nin)%P(1,3,ideb+n) = zero
682 afi17(nin)%P(2,3,ideb+n) = zero
683 afi17(nin)%P(3,3,ideb+n) = zero
684 stnfi17(nin)%P(3,ideb+n) = zero
685
686 bbufs(l+14)=
afi17(nin)%P(1,4,ideb+n)
687 bbufs(l+15)=
afi17(nin)%P(2,4,ideb+n)
688 bbufs(l+16)=
afi17(nin)%P(3,4,ideb+n)
690 afi17(nin)%P(1,4,ideb+n) = zero
691 afi17(nin)%P(2,4,ideb+n) = zero
692 afi17(nin)%P(3,4,ideb+n) = zero
693 stnfi17(nin)%P(4,ideb+n) = zero
694
695 bbufs(l+18)=
afi17(nin)%P(1,5,ideb+n)
696 bbufs(l+19)=
afi17(nin)%P(2,5,ideb+n)
697 bbufs(l+20)=
afi17(nin)%P(3,5,ideb+n)
698 bbufs(l+21)=
stnfi17(nin)%P(5,ideb+n)
699 afi17(nin)%P(1,5,ideb+n) = zero
700 afi17(nin)%P(2,5,ideb+n) = zero
701 afi17(nin)%P(3,5,ideb+n) = zero
702 stnfi17(nin)%P(5,ideb+n) = zero
703
704 bbufs(l+22)=
afi17(nin)%P(1,6,ideb+n)
705 bbufs(l+23)=
afi17(nin)%P(2,6,ideb+n)
706 bbufs(l+24)=
afi17(nin)%P(3,6,ideb+n)
707 bbufs(l+25)=
stnfi17(nin)%P(6,ideb+n)
708 afi17(nin)%P(1,6,ideb+n) = zero
709 afi17(nin)%P(2,6,ideb+n) = zero
710 afi17(nin)%P(3,6,ideb+n) = zero
711 stnfi17(nin)%P(6,ideb+n) = zero
712
713 bbufs(l+26)=
afi17(nin)%P(1,7,ideb+n)
714 bbufs(l+27)=
afi17(nin)%P(2,7,ideb+n)
715 bbufs(l+28)=
afi17(nin)%P(3,7,ideb+n)
716 bbufs(l+29)=
stnfi17(nin)%P(7,ideb+n)
717 afi17(nin)%P(1,7,ideb+n) = zero
718 afi17(nin)%P(2,7,ideb+n) = zero
719 afi17(nin)%P(3,7,ideb+n) = zero
720 stnfi17(nin)%P(7,ideb+n) = zero
721
722 bbufs(l+30)=
afi17(nin)%P(1,8,ideb+n)
723 bbufs(l+31)=
afi17(nin)%P(2,8,ideb+n)
724 bbufs(l+32)=
afi17(nin)%P(3,8,ideb+n)
725 bbufs(l+33)=
stnfi17(nin)%P(8,ideb+n)
726 afi17(nin)%P(1,8,ideb+n) = zero
727 afi17(nin)%P(2,8,ideb+n) = zero
728 afi17(nin)%P(3,8,ideb+n) = zero
729 stnfi17(nin)%P(8,ideb+n) = zero
730
731 bbufs(l+34)=
afi17(nin)%P(1,9,ideb+n)
732 bbufs(l+35)=
afi17(nin)%P(2,9,ideb+n)
733 bbufs(l+36)=
afi17(nin)%P(3,9,ideb+n)
734 bbufs(l+37)=
stnfi17(nin)%P(9,ideb+n)
735 afi17(nin)%P(1,9,ideb+n) = zero
736 afi17(nin)%P(2,9,ideb+n) = zero
737 afi17(nin)%P(3,9,ideb+n) = zero
738 stnfi17(nin)%P(9,ideb+n) = zero
739
740 bbufs(l+38)=
afi17(nin)%P(1,10,ideb+n)
741 bbufs(l+39)=
afi17(nin)%P(2,10,ideb+n)
742 bbufs(l+40)=
afi17(nin)%P(3,10,ideb+n)
743 bbufs(l+41)=
stnfi17(nin)%P(10,ideb+n)
744 afi17(nin)%P(1,10,ideb+n) = zero
745 afi17(nin)%P(2,10,ideb+n) = zero
746 afi17(nin)%P(3,10,ideb+n) = zero
747 stnfi17(nin)%P(10,ideb+n) = zero
748
749 bbufs(l+42)=
afi17(nin)%P(1,11,ideb+n)
750 bbufs(l+43)=
afi17(nin)%P(2,11,ideb+n)
751 bbufs(l+44)=
afi17(nin)%P(3,11,ideb+n)
752 bbufs(l+45)=
stnfi17(nin)%P(11,ideb+n)
753 afi17(nin)%P(1,11,ideb+n) = zero
754 afi17(nin)%P(2,11,ideb+n) = zero
755 afi17(nin)%P(3,11,ideb+n) = zero
756 stnfi17(nin)%P(11,ideb+n) = zero
757
758 bbufs
759 bbufs(l+47)=
afi17(nin)%P(2,12,ideb+n)
760 bbufs(l+48)=
afi17(nin)%P(3,12,ideb+n)
761 bbufs(l+49)=
stnfi17(nin)%P(12,ideb+n)
762 afi17(nin)%P(1,12,ideb+n) = zero
763 afi17(nin)%P(2,12,ideb+n) = zero
764 afi17(nin)%P(3,12,ideb+n) = zero
765 stnfi17(nin)%P(12,ideb+n) = zero
766
767 bbufs(l+50)=
afi17(nin)%P(1,13,ideb+n)
768 bbufs(l+51)=
afi17(nin)%P(2,13,ideb+n)
769 bbufs(l+52)=
afi17(nin)%P(3,13,ideb+n)
770 bbufs(l+53)=
stnfi17(nin)%P(13,ideb+n)
771 afi17(nin)%P(1,13,ideb+n) = zero
772 afi17(nin)%P(2,13,ideb+n) = zero
773 afi17(nin)%P(3,13,ideb+n) = zero
774 stnfi17(nin)%P(13,ideb+n) = zero
775
776 bbufs(l+54)=
afi17(nin)%P(1,14,ideb+n)
777 bbufs(l+55)=
afi17(nin)%P(2,14,ideb+n)
778 bbufs(l+56)=
afi17(nin)%P(3,14,ideb+n)
779 bbufs(l+57)=
stnfi17(nin)%P(14,ideb+n)
780 afi17(nin)%P(1,14,ideb+n) = zero
781 afi17(nin)%P(2,14,ideb+n) = zero
782 afi17(nin)%P(3,14,ideb+n) = zero
783 stnfi17(nin)%P(14,ideb+n) = zero
784
785 bbufs(l+58)=
afi17(nin)%P(1,15,ideb+n)
786 bbufs(l+59)=
afi17(nin)%P(2,15,ideb+n)
787 bbufs(l+60)=
afi17(nin)%P(3,15,ideb+n)
788 bbufs(l+61)=
stnfi17(nin)%P(15,ideb+n)
789 afi17(nin)%P(1,15,ideb+n) = zero
790 afi17(nin)%P(2,15,ideb+n) = zero
791 afi17(nin)%P(3,15,ideb+n) = zero
792 stnfi17(nin)%P(15,ideb+n) = zero
793
794 bbufs(l+62)=
afi17(nin)%P(1,16,ideb+n)
795 bbufs(l+63)=
afi17(nin)%P(2,16,ideb+n)
796 bbufs(l+64)=
afi17(nin)%P(3,16,ideb+n)
797 bbufs(l+65)=
stnfi17(nin)%P(16,ideb+n)
798 afi17(nin)%P(1,16,ideb+n) = zero
799 afi17(nin)%P(2,16,ideb+n) = zero
800 afi17(nin)%P(3,16,ideb+n) = zero
801 stnfi17(nin)%P(16,ideb+n) = zero
802
803 bbufs(l+66)=
frotsfi(nin)%P(1,ideb+n)
804 bbufs(l+67)=
frotsfi(nin)%P(2,ideb+n)
805 bbufs(l+68)=
frotsfi(nin)%P(3,ideb+n)
806 bbufs(l+69)=
frotsfi(nin)%P(4,ideb+n)
807 frotsfi(nin)%P(1,ideb+n) = zero
808 frotsfi(nin)%P(2,ideb+n) = zero
809 frotsfi(nin)%P(3,ideb+n) = zero
810 frotsfi(nin)%P(4,ideb+n) = zero
811
812 l = l + len17
813 ENDIF
814 ENDDO
815 bbufs(ll) = (l-ll)/len17
816 debut(nin) = debut(nin) + nb
817 END IF
818
819 ELSEIF(nty==20) THEN
820
821 leni = len20
822 IF(nb>0) THEN
823 ll = l+1
824 l = l + 1
825 IF(intth == 0 ) THEN
826 IF(kdtint==0)THEN
827 DO n = 1, nb
828 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
829
831 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
832 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
833 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
834 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
835 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
836 bbufs(l+6) =
alphakfi(nin)%P(ideb+n)
837
839 .
daanc6fi(nin)%P(1,1,ideb+n),bbufs(l+7),iresp,inc)
840
841
842 afi(nin)%P(1,ideb+n) = zero
843 afi(nin)%P(2,ideb+n) = zero
844 afi(nin)%P(3,ideb+n) = zero
845 stnfi(nin)%P(ideb+n) = zero
846
847
848 l = l + len20
849 ENDIF
850 ENDDO
851 ELSE
852 DO n = 1, nb
853 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
854
856 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
857 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
858 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
859 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
860 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
861 bbufs(l+6) =
vscfi(nin)%P(ideb+n)
862 bbufs(l+7) =
alphakfi(nin)%P(ideb+n)
863
865 .
daanc6fi(nin)%P(1,1,ideb+n),bbufs(l+8),iresp,inc)
866
867
868 afi(nin)%P(1,ideb+n) = zero
869 afi(nin)%P(2,ideb+n) = zero
870 afi(nin)%P(3,ideb+n) = zero
871 stnfi(nin)%P(ideb+n) = zero
872 vscfi(nin)%P(ideb+n) = zero
873
874 l = l + len20
875 ENDIF
876 ENDDO
877 ENDIF
878
879
880
881 ELSE
882 leni = len20t
883 IF(kdtint==0)THEN
884 DO n = 1, nb
885 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
886
888 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
889 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
890 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
891 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
892 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
893 bbufs(l+6) =
fthefi(nin)%P(ideb+n)
894 bbufs(l+7) =
alphakfi(nin)%P(ideb+n)
895
897 .
daanc6fi(nin)%P(1,1,ideb+n),bbufs(l+8),iresp,inc)
898
899
900 afi(nin)%P(1,ideb+n) = zero
901 afi(nin)%P(2,ideb+n) = zero
902 afi(nin)%P(3,ideb+n) = zero
903 stnfi(nin)%P(ideb+n) = zero
904 fthefi(nin)%P(ideb+n)= zero
905
906 l = l + len20t
907 ENDIF
908 ENDDO
909 ELSE
910 DO n = 1, nb
911 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
912
914 bbufs(l+1) =
nsvfi(nin)%P(ideb+n)
915 bbufs(l+2) =
afi(nin)%P(1,ideb+n)
916 bbufs(l+3) =
afi(nin)%P(2,ideb+n)
917 bbufs(l+4) =
afi(nin)%P(3,ideb+n)
918 bbufs(l+5) =
stnfi(nin)%P(ideb+n)
919 bbufs(l+6) =
vscfi(nin)%P(ideb+n)
920 bbufs(l+7) =
fthefi(nin)%P(ideb+n)
921 bbufs(l+8) =
alphakfi(nin)%P(ideb+n)
922
924 .
daanc6fi(nin)%P(1,1,ideb+n),bbufs(l+9),iresp,inc)
925
926
927 afi(nin)%P(1,ideb+n) = zero
928 afi(nin)%P(2,ideb+n) = zero
929 afi(nin)%P(3,ideb+n) = zero
930 stnfi(nin)%P(ideb+n) = zero
931 vscfi(nin)%P(ideb+n) = zero
932
933
934 l = l + len20t
935 ENDIF
936 ENDDO
937 ENDIF
938 ENDIF
939
940 bbufs(ll) = (l-ll)/leni
941 debut(nin) = debut(nin) + nb
942 END IF
943
944 END IF
945
946
947
948 IF(nty==20) THEN
950 ideb = debute(nin)
951 leni = len20e
952 IF(nb>0) THEN
953 ll = l+1
954 l = l + 1
955 IF(kdtint==0)THEN
956 DO n = 1, nb
957 IF(
nsvfie(nin)%P(ideb+n)<0)
THEN
958
960 n1 = 2*(n+ideb-1)+1
961 n2 = 2*(n+ideb)
962 bbufs(l+1) =
nsvfie(nin)%P(ideb+n)
963
964 bbufs(l+2) =
afie(nin)%P(1,n1)
965 bbufs(l+3) =
afie(nin)%P(2,n1)
966 bbufs(l+4) =
afie(nin)%P(3,n1)
967 bbufs(l+5) =
stnfie(nin)%P(n1)
968 bbufs(l+6) =
afie(nin)%P(1,n2)
969 bbufs(l+7) =
afie(nin)%P(2,n2)
970 bbufs(l+8) =
afie(nin)%P(3,n2)
971 bbufs(l+9) =
stnfie(nin)%P(n2)
974
976 .
daanc6fie(nin)%P(1,1,n1),bbufs(l+12),iresp,inc)
977
979 .
daanc6fie(nin)%P(1,1,n2),bbufs(l+12+inc),iresp,
980 . inc)
981
982
983 afie(nin)%P(1,n1) = zero
984 afie(nin)%P(2,n1) = zero
985 afie(nin)%P(3,n1) = zero
987 afie(nin)%P(1,n2) = zero
988 afie(nin)%P(2,n2) = zero
989 afie(nin)%P(3,n2) = zero
991
992 l = l + len20e
993 END IF
994 END DO
995 ELSE
996 DO n = 1, nb
997 IF(
nsvfie(nin)%P(ideb+n)<0)
THEN
998
1000 n1 = 2*(n+ideb-1)+1
1001 n2 = 2*(n+ideb)
1002 bbufs(l+1) =
nsvfie(nin)%P(ideb+n)
1003
1004 bbufs(l+2) =
afie(nin)%P(1,n1)
1005 bbufs(l+3) =
afie(nin)%P(2,n1)
1006 bbufs(l+4) =
afie(nin)%P(3,n1)
1007 bbufs(l+5) =
stnfie(nin)%P(n1)
1008 bbufs(l+6) =
vscfie(nin)%P(n1)
1009 bbufs(l+7) =
afie(nin)%P(1,n2)
1010 bbufs(l+8) =
afie(nin)%P(2,n2)
1011 bbufs(l+9) =
afie(nin)%P(3,n2)
1012 bbufs(l+10)=
stnfie(nin)%P(n2)
1013 bbufs(l+11)=
vscfie(nin)%P(n2)
1016
1018 .
daanc6fie(nin)%P(1,1,n1),bbufs(l+14),iresp,inc)
1019
1021 .
daanc6fie(nin)%P(1,1,n2),bbufs(l+14+inc),iresp,
1022 . inc)
1023
1024
1025 afie(nin)%P(1,n1) = zero
1026 afie(nin)%P(2,n1) = zero
1027 afie(nin)%P(3,n1) = zero
1030 afie(nin)%P(1,n2) = zero
1031 afie(nin)%P(2,n2) = zero
1032 afie(nin)%P(3,n2) = zero
1035
1036 l = l + len20e
1037 END IF
1038 END DO
1039 END IF
1040 bbufs(ll) = (l-ll)/len20e
1041 debute(nin) = debute(nin) + nb
1042 END IF
1043 END IF
1044
1045
1046
1047
1048 IF(nty==25 .AND. ipari(58,nin) > 0) THEN
1050 ideb = debute(nin)
1051 leni = len25e
1052 IF(nb>0) THEN
1053 ll = l+1
1054 l = l + 1
1055 DO n = 1, nb
1056 IF(
nsvfie(nin)%P(ideb+n)<0)
THEN
1057
1059 n1 = 2*(n+ideb-1)+1
1060 n2 = 2*(n+ideb)
1061 bbufs(l+1) =
nsvfie(nin)%P(ideb+n)
1062 bbufs(l+2) =
afie(nin)%P(1,n1)
1063 bbufs(l+3) =
afie(nin)%P(2,n1)
1064 bbufs(l+4) =
afie(nin)%P(3,n1)
1065 bbufs(l+5) =
stnfie(nin)%P(n1)
1066 bbufs(l+7 ) =
afie(nin)%P(1,n2)
1067 bbufs(l+8 ) =
afie(nin)%P(2,n2)
1068 bbufs(l+9 ) =
afie(nin)%P(3,n2)
1069 bbufs(l+10) =
stnfie(nin)%P(n2)
1070 IF(kdtint /= 0) THEN
1071 bbufs(l+6) =
vscfie(nin)%P(n1)
1073 bbufs(l+11)=
vscfie(nin)%P(n2)
1075 ELSE
1076 bbufs(l+6) = zero
1077 bbufs(l+11) = zero
1078 ENDIF
1079
1080 IF(intth /= 0) THEN
1081
1082
1083 IF(nodadt_therm == 1) THEN
1084
1085
1086 ENDIF
1087 ENDIF
1088
1089 afie(nin)%P(1,n1) = zero
1090 afie(nin)%P(2,n1) = zero
1091 afie(nin)%P(3,n1) = zero
1093 afie(nin)%P(1,n2) = zero
1094 afie(nin)%P(2,n2) = zero
1095 afie(nin)%P(3,n2) = zero
1097 l = l + len25e
1098 ENDIF
1099 ENDDO
1100 bbufs(ll) = (l-ll)/len25e
1101 debute(nin) = debute(nin) + nb
1102 END IF
1103 END IF
1104
1105 ENDDO
1106 siz = l+1-add
1107 IF(siz>0)THEN
1108 msgtyp = msgoff
1110 . bbufs(add),siz,real ,it_spmd(p),msgtyp,
1111 . spmd_comm_world,req_si(p),ierror )
1112 ENDIF
1113 ENDIF
1114 ENDDO
1115 adds(nspmd+1)=adds(nspmd)+siz
1116
1117
1118
1119 ELSEIF(iflag==2)THEN
1120
1121
1122
1123 DO p = 1, nspmd
1124 IF(addr(p+1)-addr(p)>0) THEN
1125 CALL mpi_wait(req_ri(p),status,ierror)
1126 l = addr(p)
1127 DO ii = 1, nbintc
1128 nin = intlist(ii)
1129 nty =ipari(7,nin)
1130 IF(
nsnsi(nin)%P(p)>0)
THEN
1131 nb = nint(bbufr(l))
1132 l = l + 1
1133 ibc =ipari(11,nin)
1134 noint =ipari(15,nin)
1135 inacti=ipari(22,nin)
1136 isecin=ipari(28,nin)
1137 ibag =ipari(32,nin)
1138 iadm =ipari(44,nin)
1139 intcarea=ipari(99,nin)
1140
1141 IF(nty==7.OR.nty==10.OR.nty==22.OR.nty==23
1142 * .OR.nty==24.OR.nty==25 )THEN
1143 intth = ipari(47,nin)
1144 IF(intth == 0 ) THEN
1146 1 nb ,len ,bbufr(l),intbuf_tab(nin)%NSV,a ,
1147 2 stifn ,viscn ,ibc ,isecin ,noint ,
1148 3 ibag ,icodt ,secfcum , nstrf ,icontact,
1149 4 fcont ,inacti ,iadm ,intth , fthe ,condn ,
1150 5 h3d_data, multi_fvm,nin ,tagncont,kloadpinter ,
1151 6 loadpinter,loadp_hyd_inter,intcarea,fsav(1,nin) ,
1152 7 interfaces%PARAMETERS,nodadt_therm)
1153 l = l + nb*len
1154 ELSE
1156 1 nb ,len7t ,bbufr(l),intbuf_tab(nin)%NSV,a ,
1157 2 stifn ,viscn ,ibc ,isecin ,noint ,
1158 3 ibag ,icodt ,secfcum , nstrf ,icontact,
1159 4 fcont ,inacti ,iadm ,intth , fthe ,condn ,
1160 5 h3d_data, multi_fvm,nin ,tagncont,kloadpinter ,
1161 6 loadpinter,loadp_hyd_inter,intcarea,fsav(1,nin) ,
1162 7 interfaces%PARAMETERS,nodadt_therm)
1163 l = l + nb*len7t
1164 ENDIF
1165 ELSEIF(nty==11)THEN
1166 intth = ipari(47,nin)
1167 IF(intth==0) THEN
1169 1 nb ,len11 ,bbufr(l),intbuf_tab(nin)%IRECTS,a,
1170 2 stifn ,viscn ,ibc ,isecin ,noint ,
1171 3 ibag ,icodt ,secfcum ,nstrf ,icontact,
1172 4 fcont ,intth ,fthe ,condn ,h3d_data,
1173 5 tagncont,kloadpinter,loadpinter,loadp_hyd_inter,nodadt_therm)
1174 l = l + nb*len11
1175 ELSE
1177 1 nb ,len11t ,bbufr(l),intbuf_tab(nin)%IRECTS,a,
1178 2 stifn ,viscn ,ibc ,isecin ,noint ,
1179 3 ibag ,icodt ,secfcum ,nstrf ,icontact,
1180 4 fcont ,intth ,fthe ,condn ,h3d_data,
1181 5 tagncont,kloadpinter,loadpinter,loadp_hyd_inter,nodadt_therm)
1182 l = l + nb*len11t
1183 ENDIF
1184 ELSEIF(nty==17)THEN
1185 ige = ipari(34,nin)
1186 ign = ipari(36,nin)
1187 nme =igrbric(ige)%NENTITY
1188 nmes=igrbric(ign)%NENTITY
1189
1191 1 nb ,len17 ,bbufr(l),igrbric(ign)%ENTITY,a ,
1192 2 stifn ,fcont ,ixs ,ixs16 ,intbuf_tab(nin)%FROTS,
1193 3 h3d_data)
1194 l = l + nb*len17
1195 ELSEIF(nty==20)THEN
1196 intth = ipari(47,nin)
1197 IF(intth == 0 ) THEN
1199 1 nb ,len20 ,bbufr(l),intbuf_tab(nin)%NSV,a ,
1200 2 stifn ,viscn ,ibc ,isecin ,noint ,
1201 3 ibag ,icodt ,secfcum ,nstrf ,icontact ,
1202 4 fcont ,inacti,iadm ,intth ,intbuf_tab(nin)%DAANC6,
1203 5 bid ,intbuf_tab(nin)%NLG ,intbuf_tab(nin)%ALPHAK,h3d_data )
1204 l = l + nb*len20
1205 ELSE
1207 1 nb ,len20t,bbufr(l),intbuf_tab(nin)%NSV,a ,
1208 2 stifn ,viscn ,ibc ,isecin ,noint ,
1209 3 ibag ,icodt ,secfcum ,nstrf ,icontact ,
1210 4 fcont ,inacti,iadm ,intth ,intbuf_tab(nin)%DAANC6,
1211 5 fthe ,intbuf_tab(nin)%NLG ,intbuf_tab(nin)%ALPHAK,h3d_data)
1212 l = l + nb*len20t
1213 ENDIF
1214 END IF
1215 END IF
1216
1217
1218
1219 IF(nty==20)THEN
1220 IF(
nsnsie(nin)%P(p)>0)
THEN
1221 nb = nint(bbufr(l))
1222 l = l + 1
1223 ibc =ipari(11,nin)
1224 noint =ipari(15,nin)
1225 inacti=ipari(22,nin)
1226 isecin=ipari(28,nin)
1227 ibag =ipari(32,nin)
1228 iadm =ipari(44,nin)
1230 1 nb ,len20e ,bbufr(l),intbuf_tab(nin)%IXLINS,a ,
1231 2 stifn ,viscn ,ibc ,isecin ,noint ,
1232 3 ibag ,icodt ,secfcum ,nstrf ,icontact ,
1233 4 fcont ,intbuf_tab(nin)%DAANC6,intbuf_tab(nin)%NLG,intbuf_tab(nin)%ALPHAK,h3d_data)
1234 l = l + nb*len20e
1235 ENDIF
1236 ENDIF
1237
1238
1239
1240 IF(nty==25 .AND. ipari(58,nin) > 0)THEN
1241 IF(
nsnsie(nin)%P(p)>0)
THEN
1242 nb = nint(bbufr(l))
1243 l = l + 1
1244 ibc =ipari(11,nin)
1245 noint =ipari(15,nin)
1246 inacti=ipari(22,nin)
1247 isecin=ipari(28,nin)
1248 ibag =ipari(32,nin)
1249 iadm =ipari(44,nin)
1250 intth = ipari(47,nin)
1251 nedge =ipari(68,nin)
1252
1254 1 nb ,len25e ,bbufr(l),intbuf_tab(nin)%NSV,a ,
1255 2 stifn ,viscn ,ibc ,isecin ,noint ,
1256 3 ibag ,icodt ,secfcum , nstrf ,icontact,
1257 4 fcont ,inacti ,iadm ,intth , fthe ,condn ,
1258 5 h3d_data, multi_fvm,intbuf_tab(nin)%LEDGE,nedge ,
1259 6 nin ,tagncont,kloadpinter,loadpinter,loadp_hyd_inter,
1260 7 nodadt_therm)
1261 l = l + nb*len25e
1262 ENDIF
1263 ENDIF
1264 ENDDO
1265 ENDIF
1266 ENDDO
1267
1268
1269 IF(iallocr>0) THEN
1270 DEALLOCATE(bbufr)
1271 iallocr=0
1272 END IF
1273
1274
1275
1276 DO p = 1, nspmd
1277 IF(adds(p+1)-adds(p)>0) THEN
1278 CALL mpi_wait(req_si(p),status,ierror)
1279 ENDIF
1280 ENDDO
1281
1282 IF(iallocs>0) THEN
1283 DEALLOCATE(bbufs)
1284 iallocs=0
1285 END IF
1286 END IF
1287
1288#endif
1289 RETURN
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(real_pointer2), dimension(:), allocatable stnfi17
type(real_pointer), dimension(:), allocatable condnfi
type(real_pointer3), dimension(:), allocatable afi17
type(real_pointer2), dimension(:), allocatable frotsfi
type(int_pointer), dimension(:), allocatable nsnfie
type(r8_pointer3), dimension(:), allocatable daanc6fi
type(int_pointer), dimension(:), allocatable nsnsie
type(real_pointer), dimension(:), allocatable alphakfi
type(real_pointer), dimension(:), allocatable stnfi
type(real_pointer2), dimension(:), allocatable afi
type(int_pointer), dimension(:), allocatable nsnsi
type(real_pointer), dimension(:), allocatable stnfie
type(int_pointer), dimension(:), allocatable nsvfi
type(real_pointer2), dimension(:), allocatable afie
type(real_pointer), dimension(:), allocatable vscfi
type(int_pointer), dimension(:), allocatable nsvfie
type(r8_pointer3), dimension(:), allocatable daanc6fie
type(real_pointer), dimension(:), allocatable vscfie
type(real_pointer), dimension(:), allocatable alphakfie
type(real_pointer), dimension(:), allocatable fthefi
type(int_pointer), dimension(:), allocatable nsnfi
subroutine spmd_fiadd25e_poff(nb, len, bufr, nsv, a, stifn, viscn, ibc, isecin, noint, ibag, icodt, secfcum, nstrf, icontact, fcont, inacti, iadm, intth, fthe, condn, h3d_data, multi_fvm, ledge, nedge, nin, tagncont, kloadpinter, loadpinter, loadp_hyd_inter, nodadt_therm)
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)