38 2 BMINMAL ,WEIGHT ,STIFS ,NIN ,ISENDTO,
39 3 IRCVFROM,IAD_ELEM,FR_ELEM,NRTSR,INACTI,
40 4 GAP_S ,PENIS ,ITAB ,IGAP ,TZINF ,
41 5 NLG ,PENIA ,DIAG_SMS,NODNX_SMS )
50 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
51#include "implicit_f.inc"
67 INTEGER NIN, , IGAP, INACTI,
69 . ISENDTO(NINTER+1,*), IRCVFROM(NINTER+1,*),
70 . IAD_ELEM(2,*), FR_ELEM(*), ITAB(*), NLG(*), NODNX_SMS(*)
73 . xa(3,*), va(3,*), ms(*), bminmal(*), stifs(*),gap_s(*),
74 . penis(2,*), penia(5,*), diag_sms(*)
79 INTEGER MSGTYP,INFO,I,NOD, LOC_PROC,P,IDEB, IERROR1, IAD,
80 . SIZ,J, L, BUFSIZ, LEN, NB, N1, N2, N1L, N2L,
81 . STATUS(MPI_STATUS_SIZE),IERROR,REQ_SB(NSPMD),
82 . REQ_RB(NSPMD),KK,NBIRECV,IRINDEXI(NSPMD),
83 . req_rd(nspmd),req_sd(nspmd),req_sd2(nspmd),
84 . indexi,isindexi(nspmd),index(nrts),nbox(nspmd),
85 . msgoff, msgoff2, msgoff3
91 . bminma(6,nspmd), ratio,
92 . xmins, ymins, zmins, xmaxs, ymaxs, zmaxs
93 TYPE(r8_pointer),
DIMENSION(NSPMD) :: BUF
101 IF(ircvfrom(nin,loc_proc)==0.AND.
102 . isendto(nin,loc_proc)==0)
RETURN
103 bminma(1,loc_proc) = bminmal(1)
104 bminma(2,loc_proc) = bminmal(2)
105 bminma(3,loc_proc) = bminmal(3)
106 bminma(4,loc_proc) = bminmal(4)
107 bminma(5,loc_proc) = bminmal(5)
108 bminma(6,loc_proc) = bminmal(6)
112 IF(ircvfrom(nin,loc_proc)/=0)
THEN
114 IF(isendto(nin,p)/=0)
THEN
118 . bminma(1,loc_proc),6 ,real ,it_spmd(p),msgtyp,
119 . spmd_comm_world ,req_sb(p),ierror)
127 IF(isendto(nin,loc_proc)/=0)
THEN
130 IF(ircvfrom(nin,p)/=0)
THEN
136 . bminma(1,p) ,6 ,real ,it_spmd(p),msgtyp,
137 . spmd_comm_world,req_rb(nbirecv),ierror)
146 IF(inacti==5.OR.inacti==6) siz = siz + 12
147 IF(igap==1) siz = siz + 1
148 IF(idtmins > 0) siz = siz + 2
151 ELSEIF(idtmins_int/=0)
THEN
155 IF(isendto(nin,loc_proc)/=0)
THEN
157 CALL mpi_waitany(nbirecv,req_rb,indexi,status,ierror)
165 IF(stifs(i)>zero)
THEN
166 xmins =
min(xa(1,n1l),xa(1,n2l))-tzinf
167 ymins =
min(xa(2,n1l),xa(2,n2l))-tzinf
168 zmins =
min(xa(3,n1l),xa(3,n2l))-tzinf
169 xmaxs =
max(xa(1,n1l),xa(1,n2l))+tzinf
170 ymaxs =
max(xa(2,n1l),xa(2,n2l))+tzinf
171 zmaxs =
max(xa(3,n1l),xa(3,n2l))+tzinf
172 IF(xmaxs>=bminma(4,p).AND.xmins<=bminma(1,p).AND.
173 . ymaxs>=bminma(5,p).AND.ymins<=bminma(2,p).AND.
174 . zmaxs>=bminma(6,p).AND.zmins<=bminma(3,p))
THEN
185 CALL mpi_isend(nbox(p),1,mpi_integer,it_spmd(p),msgtyp,
186 . spmd_comm_world,req_sd(p),ierror)
191 ALLOCATE(buf(p)%P(siz*nb),stat=ierror)
193 CALL ancmsg(msgid=20,anmode=aninfo)
197 IF(idtmins/=2.AND.idtmins_int==0)
THEN
198 IF(inacti/=5.AND.inacti/=6)
THEN
208 buf(p)%p(l+2) = xa(1,n1l)
209 buf(p)%p(l+3) = xa(2,n1l)
210 buf(p)%p(l+4) = xa(3,n1l)
211 buf(p)%p(l+5) = va(1,n1l)
212 buf(p)%p(l+6) = va(2,n1l)
213 buf(p)%p(l+7) = va(3,n1l)
214 buf(p)%p(l+8) = ms(n1)
215 buf(p)%p(l+9) = itab(n1)
216 buf(p)%p(l+10)= xa(1,n2l)
217 buf(p)%p(l+11)= xa(2,n2l)
218 buf(p)%p(l+12)= xa(3,n2l)
219 buf(p)%p(l+13)= va(1,n2l)
220 buf(p)%p(l+14)= va(2,n2l)
221 buf(p)%p(l+15)= va(3,n2l)
222 buf(p)%p(l+16)= ms(n2)
223 buf(p)%p(l+17)= itab(n2)
224 buf(p)%p(l+18)= stifs(i)
225 buf(p)%p(l+19)= gap_s(i)
237 buf(p)%p(l+2) = xa(1,n1l)
238 buf(p)%p(l+3) = xa(2,n1l)
239 buf(p)%p(l+4) = xa(3,n1l)
240 buf(p)%p(l+5) = va(1,n1l)
241 buf(p)%p(l+6) = va(2,n1l)
242 buf(p)%p(l+7) = va(3,n1l)
243 buf(p)%p(l+8) = ms(n1)
244 buf(p)%p(l+9) = itab(n1)
245 buf(p)%p(l+10)= xa(1,n2l)
246 buf(p)%p(l+11)= xa(2,n2l)
247 buf(p)%p(l+12)= xa(3,n2l)
248 buf(p)%p(l+13)= va(1,n2l)
249 buf(p)%p(l+14)= va(2,n2l)
250 buf(p)%p(l+15)= va(3,n2l)
251 buf(p)%p(l+16)= ms(n2)
252 buf(p)%p(l+17)= itab(n2)
253 buf(p)%p(l+18)= stifs(i)
254 buf(p)%p(l+19)= gap_s(i)
255 buf(p)%p(l+20)= diag_sms(n1)
256 buf(p)%p(l+21)= diag_sms(n2)
270 buf(p)%p(l+2) = xa(1,n1l)
271 buf(p)%p(l+3) = xa(2,n1l)
272 buf(p)%p(l+4) = xa(3,n1l)
273 buf(p)%p(l+5) = va(1,n1l)
274 buf(p)%p(l+6) = va(2,n1l)
275 buf(p)%p(l+7) = va(3,n1l)
276 buf(p)%p(l+8) = ms(n1)
277 buf(p)%p(l+9) = itab(n1)
278 buf(p)%p(l+10)= xa(1,n2l)
279 buf(p)%p(l+11)= xa(2,n2l)
280 buf(p)%p(l+12)= xa(3,n2l)
281 buf(p)%p(l+13)= va(1,n2l)
282 buf(p)%p(l+14)= va(2,n2l)
283 buf(p)%p(l+15)= va(3,n2l)
284 buf(p)%p(l+16)= ms(n2)
285 buf(p)%p(l+17)= itab(n2)
286 buf(p)%p(l+18)= stifs(i)
298 buf(p)%p(l+2) = xa(1,n1l)
299 buf(p)%p(l+3) = xa(2,n1l)
300 buf(p)%p(l+4) = xa(3,n1l)
301 buf(p)%p(l+5) = va(1,n1l)
302 buf(p)%p(l+6) = va(2,n1l)
303 buf(p)%p(l+7) = va(3,n1l)
304 buf(p)%p(l+8) = ms(n1)
305 buf(p)%p(l+9) = itab(n1)
306 buf(p)%p(l+10)= xa(1,n2l)
307 buf(p)%p(l+11)= xa(2,n2l)
308 buf(p)%p(l+12)= xa(3,n2l)
309 buf(p)%p(l+13)= va(1,n2l)
310 buf(p)%p(l+14)= va(2,n2l)
311 buf(p)%p(l+15)= va(3,n2l)
312 buf(p)%p(l+16)= ms(n2)
313 buf(p)%p(l+17)= itab(n2)
314 buf(p)%p(l+18)= stifs(i)
315 buf(p)%p(l+19)= diag_sms(n1)
316 buf(p)%p(l+20)= diag_sms(n2)
332 buf(p)%p(l+2) = xa(1,n1l)
333 buf(p)%p(l+3) = xa(2,n1l)
334 buf(p)%p(l+4) = xa(3,n1l
335 buf(p)%p(l+5) = va(1,n1l)
336 buf(p)%p(l+6) = va(2,n1l)
337 buf(p)%p(l+7) = va(3,n1l)
338 buf(p)%p(l+8) = ms(n1)
339 buf(p)%p(l+9) = itab(n1)
340 buf(p)%p(l+10)= xa(1,n2l)
341 buf(p)%p(l+11)= xa(2,n2l)
342 buf(p)%p(l+12)= xa(3,n2l)
343 buf(p)%p(l+13)= va(1,n2l)
344 buf(p)%p(l+14)= va(2,n2l)
345 buf(p)%p(l+15)= va(3,n2l)
346 buf(p)%p(l+16)= ms(n2)
347 buf(p)%p(l+17)= itab(n2)
348 buf(p)%p(l+18)= stifs(i)
349 buf(p)%p(l+19)= gap_s(i)
352 buf(p)%p(l+22)= penia(1,n1l)
353 buf(p)%p(l+23)= penia(2,n1l)
354 buf(p)%p(l+24)= penia(3,n1l)
355 buf(p)%p(l+25)= penia(4,n1l)
356 buf(p)%p(l+26)= penia(5,n1l)
357 buf(p)%p(l+27)= penia(1,n2l)
358 buf(p)%p(l+28)= penia(2,n2l)
359 buf(p)%p(l+29)= penia(3,n2l)
360 buf(p)%p(l+30)= penia(4,n2l)
361 buf(p)%p(l+31)= penia(5,n2l)
373 buf(p)%p(l+2) = xa(1,n1l)
374 buf(p)%p(l+3) = xa(2,n1l)
375 buf(p)%p(l+4) = xa(3,n1l)
376 buf(p)%p(l+5) = va(1,n1l)
377 buf(p)%p(l+6) = va(2,n1l)
378 buf(p)%p(l+7) = va(3,n1l)
379 buf(p)%p(l+8) = ms(n1)
380 buf(p)%p(l+9) = itab(n1)
381 buf(p)%p(l+10)= xa(1,n2l)
382 buf(p)%p(l+11)= xa(2,n2l)
383 buf(p)%p(l+12)= xa(3,n2l)
384 buf(p)%p(l+13)= va(1,n2l
385 buf(p)%p(l+14)= va(2,n2l)
386 buf(p)%p(l+15)= va(3,n2l)
387 buf(p)%p(l+16)= ms(n2)
388 buf(p)%p(l+17)= itab(n2)
389 buf(p)%p(l+18)= stifs(i)
390 buf(p)%p(l+19)= gap_s(i)
391 buf(p)%p(l+20)= penis(1,i)
392 buf(p)%p(l+21)= penis(2,i)
393 buf(p)%p(l+22)= penia(1,n1l)
394 buf(p)%p(l+23)= penia(2,n1l)
395 buf(p)%p(l+24)= penia
396 buf(p)%p(l+25)= penia(4,n1l)
397 buf(p)%p(l+26)= penia(5,n1l)
398 buf(p)%p(l+27)= penia(1,n2l)
399 buf(p)%p(l+28)= penia(2,n2l)
400 buf(p)%p(l+29)= penia(3,n2l)
401 buf(p)%p(l+30)= penia(4,n2l)
402 buf(p)%p(l+31)= penia(5,n2l)
403 buf(p)%p(l+32)= diag_sms(n1)
404 buf(p)%p(l+33)= diag_sms(n2)
418 buf(p)%p(l+2) = xa(1,n1l)
419 buf(p)%p(l+3) = xa(2,n1l)
420 buf(p)%p(l+4) = xa(3,n1l)
421 buf(p)%p(l+5) = va(1,n1l)
422 buf(p)%p(l+6) = va(2,n1l)
423 buf(p)%p(l+7) = va(3,n1l)
424 buf(p)%p(l+8) = ms(n1)
425 buf(p)%p(l+9) = itab(n1)
426 buf(p)%p(l+10)= xa(1,n2l)
427 buf(p)%p(l+11)= xa(2,n2l)
428 buf(p)%p(l+12)= xa(3,n2l)
429 buf(p)%p(l+13)= va(1,n2l)
430 buf(p)%p(l+14)= va(2,n2l)
431 buf(p)%p(l+15)= va(3,n2l)
432 buf(p)%p(l+16)= ms(n2)
433 buf(p)%p(l+17)= itab(n2)
434 buf(p)%p(l+18)= stifs(i)
435 buf(p)%p(l+19)= penis(1,i)
436 buf(p)%p(l+20)= penis(2,i)
437 buf(p)%p(l+21)= penia(1,n1l)
438 buf(p)%p(l+22)= penia(2,n1l)
439 buf(p)%p(l+23)= penia(3,n1l)
440 buf(p)%p(l+24)= penia(4,n1l)
441 buf(p)%p(l+25)= penia(5,n1l)
442 buf(p)%p(l+26)= penia(1,n2l)
443 buf(p)%p(l+27)= penia(2,n2l)
444 buf(p)%p(l+28)= penia(3,n2l)
445 buf(p)%p(l+29)= penia(4,n2l)
446 buf(p)%p(l+30)= penia(5,n2l)
458 buf(p)%p(l+2) = xa(1,n1l)
459 buf(p)%p(l+3) = xa(2,n1l)
460 buf(p)%p(l+4) = xa(3,n1l)
461 buf(p)%p(l+5) = va(1,n1l)
462 buf(p)%p(l+6) = va(2,n1l)
463 buf(p)%p(l+7) = va(3,n1l)
464 buf(p)%p(l+8) = ms(n1)
465 buf(p)%p(l+9) = itab(n1)
466 buf(p)%p(l+10)= xa(1,n2l)
467 buf(p)%p(l+11)= xa(2,n2l)
468 buf(p)%p(l+12)= xa(3,n2l)
469 buf(p)%p(l+13)= va(1,n2l
470 buf(p)%p(l+14)= va(2,n2l)
471 buf(p)%p(l+15)= va(3,n2l)
472 buf(p)%p(l+16)= ms(n2)
473 buf(p)%p(l+17)= itab(n2)
474 buf(p)%p(l+18)= stifs(i)
475 buf(p)%p(l+19)= penis(1,i)
476 buf(p)%p(l+20)= penis(2,i)
477 buf(p)%p(l+21)= penia(1,n1l)
478 buf(p)%p(l+22)= penia(2,n1l)
479 buf(p)%p(l+23)= penia(3,n1l)
480 buf(p)%p(l+24)= penia(4,n1l)
481 buf(p)%p(l+25)= penia(5,n1l)
482 buf(p)%p(l+26)= penia(1,n2l)
483 buf(p)%p(l+27)= penia(2,n2l)
484 buf(p)%p(l+28)= penia(3,n2l)
485 buf(p)%p(l+29)= penia(4,n2l)
486 buf(p)%p(l+30)= penia(5,n2l)
487 buf(p)%p(l+31)= diag_sms(n1)
488 buf(p)%p(l+32)= diag_sms(n2)
495 ELSEIF(idtmins==2)
THEN
497 IF(inacti/=5.AND.inacti/=6)
THEN
506 buf(p)%p(l+2) = xa(1,n1l)
507 buf(p)%p(l+3) = xa(2,n1l)
508 buf(p)%p(l+4) = xa(3,n1l)
509 buf(p)%p(l+5) = va(1,n1l)
510 buf(p)%p(l+6) = va(2,n1l)
511 buf(p)%p(l+7) = va(3,n1l)
512 buf(p)%p(l+8) = ms(n1)
513 buf(p)%p(l+9) = itab(n1)
514 buf(p)%p(l+10)= xa(1,n2l)
515 buf(p)%p(l+11)= xa(2,n2l)
516 buf(p)%p(l+12)= xa(3,n2l)
517 buf(p)%p(l+13)= va(1,n2l)
518 buf(p)%p(l+14)= va(2,n2l)
519 buf(p)%p(l+15)= va(3,n2l)
521 buf(p)%p(l+17)= itab(n2)
522 buf(p)%p(l+18)= stifs(i)
523 buf(p)%p(l+19)= gap_s(i)
524 buf(p)%p(l+20)= diag_sms(n1)
525 buf(p)%p(l+21)= diag_sms(n2)
526 buf(p)%p(l+22)= nodnx_sms(n1)
528 buf(p)%p(l+24)= nodnx_sms(n2)
540 buf(p)%p(l+2) = xa(1,n1l)
541 buf(p)%p(l+3) = xa(2,n1l)
542 buf(p)%p(l+4) = xa(3,n1l)
543 buf(p)%p(l+5) = va(1,n1l)
544 buf(p)%p(l+6) = va(2,n1l)
545 buf(p)%p(l+7) = va(3,n1l)
546 buf(p)%p(l+8) = ms(n1)
547 buf(p)%p(l+9) = itab(n1)
548 buf(p)%p(l+10)= xa(1,n2l)
549 buf(p)%p(l+11)= xa(2,n2l)
550 buf(p)%p(l+12)= xa(3,n2l)
551 buf(p)%p(l+13)= va(1,n2l)
552 buf(p)%p(l+14)= va(2,n2l)
553 buf(p)%p(l+15)= va(3,n2l)
554 buf(p)%p(l+16)= ms(n2)
555 buf(p)%p(l+17)= itab(n2)
556 buf(p)%p(l+18)= stifs(i)
557 buf(p)%p(l+19)= diag_sms(n1)
558 buf(p)%p(l+20)= diag_sms(n2)
559 buf(p)%p(l+21)= nodnx_sms(n1)
561 buf(p)%p(l+23)= nodnx_sms(n2)
575 buf(p)%p(l+2) = xa(1,n1l)
576 buf(p)%p(l+3) = xa(2,n1l)
577 buf(p)%p(l+4) = xa(3,n1l)
578 buf(p)%p(l+5) = va(1,n1l)
579 buf(p)%p(l+6) = va(2,n1l)
580 buf(p)%p(l+7) = va(3,n1l)
581 buf(p)%p(l+8) = ms(n1)
582 buf(p)%p(l+9) = itab(n1)
583 buf(p)%p(l+10)= xa(1,n2l)
584 buf(p)%p(l+11)= xa(2,n2l)
585 buf(p)%p(l+12)= xa(3,n2l)
586 buf(p)%p(l+13)= va(1,n2l)
587 buf(p)%p(l+14)= va(2,n2l)
588 buf(p)%p(l+15)= va(3,n2l)
589 buf(p)%p(l+16)= ms(n2)
590 buf(p)%p(l+17)= itab(n2)
591 buf(p)%p(l+18)= stifs(i)
592 buf(p)%p(l+19)= gap_s(i)
593 buf(p)%p(l+20)= penis(1,i)
594 buf(p)%p(l+21)= penis(2,i)
595 buf(p)%p(l+22)= penia(1,n1l)
596 buf(p)%p(l+23)= penia(2,n1l)
597 buf(p)%p(l+24)= penia(3,n1l)
598 buf(p)%p(l+25)= penia(4,n1l)
599 buf(p)%p(l+26)= penia(5,n1l)
600 buf(p)%p(l+27)= penia(1,n2l)
601 buf(p)%p(l+28)= penia(2,n2l)
602 buf(p)%p(l+29)= penia(3,n2l)
603 buf(p)%p(l+30)= penia(4,n2l)
604 buf(p)%p(l+31)= penia(5,n2l)
605 buf(p)%p(l+32)= diag_sms(n1)
606 buf(p)%p(l+33)= diag_sms(n2)
607 buf(p)%p(l+34)= nodnx_sms(n1)
609 buf(p)%p(l+36)= nodnx_sms(n2)
621 buf(p)%p(l+2) = xa(1,n1l)
622 buf(p)%p(l+3) = xa(2,n1l)
623 buf(p)%p(l+4) = xa(3,n1l)
624 buf(p)%p(l+5) = va(1,n1l)
625 buf(p)%p(l+6) = va(2,n1l)
626 buf(p)%p(l+7) = va(3,n1l)
627 buf(p)%p(l+8) = ms(n1)
628 buf(p)%p(l+9) = itab(n1)
629 buf(p)%p(l+10)= xa(1,n2l)
630 buf(p)%p(l+11)= xa(2,n2l)
631 buf(p)%p(l+12)= xa(3,n2l)
632 buf(p)%p(l+13)= va(1,n2l)
633 buf(p)%p(l+14)= va(2,n2l)
634 buf(p)%p(l+15)= va(3,n2l)
635 buf(p)%p(l+16)= ms(n2)
636 buf(p)%p(l+17)= itab(n2)
637 buf(p)%p(l+18)= stifs(i)
638 buf(p)%p(l+19)= penis(1,i)
639 buf(p)%p(l+20)= penis(2,i)
640 buf(p)%p(l+21)= penia(1,n1l)
641 buf(p)%p(l+22)= penia(2,n1l)
642 buf(p)%p(l+23)= penia(3,n1l)
643 buf(p)%p(l+24)= penia(4,n1l)
644 buf(p)%p(l+25)= penia(5,n1l)
645 buf(p)%p(l+26)= penia(1,n2l)
646 buf(p)%p(l+27)= penia(2,n2l)
647 buf(p)%p(l+28)= penia(3,n2l)
648 buf(p)%p(l+29)= penia(4,n2l)
649 buf(p)%p(l+30)= penia(5,n2l)
650 buf(p)%p(l+31)= diag_sms(n1)
651 buf(p)%p(l+32)= diag_sms(n2)
652 buf(p)%p(l+33)= nodnx_sms(n1)
654 buf(p)%p(l+35)= nodnx_sms(n2)
662 IF(inacti/=5.AND.inacti/=6)
THEN
671 buf(p)%p(l+2) = xa(1,n1l)
673 buf(p)%p(l+4) = xa(3,n1l)
674 buf(p)%p(l+5) = va(1,n1l)
675 buf(p)%p(l+6) = va(2,n1l)
676 buf(p)%p(l+7) = va(3,n1l)
677 buf(p)%p(l+8) = ms(n1)
678 buf(p)%p(l+9) = itab(n1)
679 buf(p)%p(l+10)= xa(1,n2l)
680 buf(p)%p(l+11)= xa(2,n2l)
681 buf(p)%p(l+12)= xa(3,n2l)
682 buf(p)%p(l+13)= va(1,n2l)
683 buf(p)%p(l+14)= va(2,n2l)
684 buf(p)%p(l+15)= va(3,n2l)
685 buf(p)%p(l+16)= ms(n2)
686 buf(p)%p(l+17)= itab(n2)
687 buf(p)%p(l+18)= stifs(i)
688 buf(p)%p(l+19)= gap_s(i)
689 buf(p)%p(l+20)= diag_sms(n1)
690 buf(p)%p(l+21)= diag_sms(n2)
704 buf(p)%p(l+3) = xa(2,n1l)
705 buf(p)%p(l+4) = xa(3,n1l)
706 buf(p)%p(l+5) = va(1,n1l)
707 buf(p)%p(l+6) = va(2,n1l)
708 buf(p)%p(l+7) = va(3,n1l)
709 buf(p)%p(l+8) = ms(n1)
710 buf(p)%p(l+9) = itab(n1)
711 buf(p)%p(l+10)= xa(1,n2l)
712 buf(p)%p(l+11)= xa(2,n2l)
713 buf(p)%p(l+12)= xa(3,n2l)
714 buf(p)%p(l+13)= va(1,n2l)
715 buf(p)%p(l+14)= va(2,n2l)
716 buf(p)%p(l+15)= va(3,n2l)
717 buf(p)%p(l+16)= ms(n2)
718 buf(p)%p(l+17)= itab(n2)
719 buf(p)%p(l+18)= stifs(i)
720 buf(p)%p(l+19)= diag_sms(n1)
721 buf(p)%p(l+20)= diag_sms(n2)
736 buf(p)%p(l+2) = xa(1,n1l)
737 buf(p)%p(l+3) = xa(2,n1l)
738 buf(p)%p(l+4) = xa(3,n1l)
739 buf(p)%p(l+5) = va(1,n1l)
740 buf(p)%p(l+6) = va(2,n1l)
741 buf(p)%p(l+7) = va(3,n1l)
743 buf(p)%p(l+9) = itab(n1)
744 buf(p)%p(l+10)= xa(1,n2l)
745 buf(p)%p(l+11)= xa(2,n2l)
746 buf(p)%p(l+12)= xa(3,n2l)
747 buf(p)%p(l+13)= va(1,n2l)
748 buf(p)%p(l+14)= va(2,n2l)
749 buf(p)%p(l+15)= va(3,n2l)
750 buf(p)%p(l+16)= ms(n2)
751 buf(p)%p(l+17)= itab(n2)
752 buf(p)%p(l+18)= stifs(i)
753 buf(p)%p(l+19)= gap_s(i)
754 buf(p)%p(l+20)= penis(1,i)
755 buf(p)%p(l+21)= penis(2,i)
756 buf(p)%p(l+22)= penia(1,n1l)
757 buf(p)%p(l+23)= penia(2,n1l)
758 buf(p)%p(l+24)= penia(3,n1l)
759 buf(p)%p(l+25)= penia(4,n1l)
760 buf(p)%p(l+26)= penia(5,n1l)
761 buf(p)%p(l+27)= penia(1,n2l)
762 buf(p)%p(l+28)= penia(2,n2l)
763 buf(p)%p(l+29)= penia(3,n2l)
764 buf(p)%p(l+30)= penia(4,n2l)
765 buf(p)%p(l+31)= penia(5,n2l)
766 buf(p)%p(l+32)= diag_sms(n1)
767 buf(p)%p(l+33)= diag_sms(n2)
780 buf(p)%p(l+2) = xa(1,n1l)
781 buf(p)%p(l+3) = xa(2,n1l)
782 buf(p)%p(l+4) = xa(3,n1l)
783 buf(p)%p(l+5) = va(1,n1l)
784 buf(p)%p(l+6) = va(2,n1l)
785 buf(p)%p(l+7) = va(3,n1l)
786 buf(p)%p(l+8) = ms(n1)
787 buf(p)%p(l+9) = itab(n1)
788 buf(p)%p(l+10)= xa(1,n2l)
789 buf(p)%p(l+11)= xa(2,n2l)
790 buf(p)%p(l+12)= xa(3,n2l)
791 buf(p)%p(l+13)= va(1,n2l)
792 buf(p)%p(l+14)= va(2,n2l)
793 buf(p)%p(l+15)= va(3,n2l)
795 buf(p)%p(l+17)= itab(n2)
796 buf(p)%p(l+18)= stifs(i)
797 buf(p)%p(l+19)= penis(1,i)
798 buf(p)%p(l+20)= penis(2,i)
799 buf(p)%p(l+21)= penia(1,n1l)
800 buf(p)%p(l+22)= penia(2,n1l)
801 buf(p)%p(l+23)= penia(3,n1l)
802 buf(p)%p(l+24)= penia(4,n1l)
803 buf(p)%p(l+25)= penia(5,n1l)
804 buf(p)%p(l+26)= penia(1,n2l)
805 buf(p)%p(l+27)= penia(2,n2l)
806 buf(p)%p(l+28)= penia(3,n2l)
807 buf(p)%p(l+29)= penia(4,n2l)
808 buf(p)%p(l+30)= penia(5,n2l)
809 buf(p)%p(l+31)= diag_sms(n1)
810 buf(p)%p(l+32)= diag_sms(n2)
820 1 buf(p)%P(1),l,mpi_double_precision,it_spmd(p),msgtyp,
821 2 spmd_comm_world,req_sd2(p),ierror)
828 IF(ircvfrom(nin,loc_proc)/=0)
THEN
833 IF(isendto(nin,p)/=0)
THEN
837 . msgtyp,spmd_comm_world,status,ierror)
838 IF(
nsnfie(nin)%P(p)>0)
THEN
841 nrtsr = nrtsr +
nsnfie(nin)%P(p)
852 ALLOCATE(xrem(siz,nrtsr),stat=ierror)
854 ALLOCATE(xrem(siz,2*nrtsr),stat=ierror)
855 ALLOCATE(
irem(2,nrtsr),stat=ierror1)
856 ierror=ierror+ierror1
859 CALL ancmsg(msgid=20,anmode=aninfo)
865 len =
nsnfie(nin)%P(p)*siz
869 IF(ir4r8 == 1) iad = 2*ideb-1
872 2 msgtyp,spmd_comm_world,req_rd(l),ierror)
873 ideb = ideb +
nsnfie(nin)%P(p)
876 CALL mpi_waitany(nbirecv,req_rd,indexi,status,ierror)
885 IF(ircvfrom(nin,loc_proc)/=0)
THEN
887 IF(isendto(nin,p)/=0)
THEN
889 CALL mpi_wait(req_sb(p),status,ierror)
895 IF(isendto(nin,loc_proc)/=0)
THEN
897 IF(ircvfrom(nin,p)/=0)
THEN
899 CALL mpi_wait(req_sd(p),status,ierror)
901 CALL mpi_wait(req_sd2(p),status,ierror)