569 1 GEO ,IXS ,IXS10 ,IXS20 ,IXS16 ,IXQ ,
570 2 IXC ,IXT ,IXP ,IXR ,IXTG ,
571 3 ITAG ,NODFT ,NODLT ,IPARG ,EV ,ITASK ,
572 4 IXTG1 ,IAD_ELEM,FR_ELEM,ITAB ,
573 5 ADDCNEL ,CNEL ,KXSP ,ELBUF_TAB,TAGEL ,IEXLNK ,
574 6 IGRNOD ,DD_R2R,DD_R2R_ELEM,SDD_R2R_ELEM,IDEL7NOK_SAV,
575 7 IDEL7NOK_R2R,TAGTRIMC,TAGTRIMTG,S_ELEM_STATE,ELEM_STATE,
576 8 SHOOT_STRUCT,GLOBAL_NB_ELEM_OFF)
585 USE shooting_node_mod
586 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
590#include "implicit_f.inc"
591#include "comlock.inc"
595#include "param_c.inc"
596#include "com01_c.inc"
597#include "com04_c.inc"
598#include "scr17_c.inc"
601#include "rad2r_c.inc"
602#include "remesh_c.inc"
608 . LINDIDEL, LBUFIDEL,
609 . IXS(NIXS,*),IXS10(6,*),IXS20(12,*),IXS16(8,*),
610 . IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
611 . IXR(NIXR,*), IXTG(NIXTG,*),IXTG1(4,*),ITAG(*),
612 . IPARG(NPARG,*), NODFT,NODLT,ITASK,
613 . IAD_ELEM(2,*),FR_ELEM(*),ITAB(*),
614 . ADDCNEL(0:*),CNEL(0:*),KXSP(NISP,*),
616 . IEXLNK(NR2R,NR2RLNK),DD_R2R(NSPMD+1,*),
617 . TAGTRIMC(*),TAGTRIMTG(*),
618 . DD_R2R_ELEM(*),SDD_R2R_ELEM,,IDEL7NOK_R2R
620 . GEO(NPROPG,*), EV(*)
621 TYPE(ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
623 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
624 INTEGER,
INTENT(in) :: S_ELEM_STATE
625 LOGICAL,
DIMENSION(S_ELEM_STATE),
INTENT(inout) :: ELEM_STATE
626 INTEGER,
DIMENSION(NTHREAD),
INTENT(inout) :: GLOBAL_NB_ELEM_OFF
627 TYPE(shooting_node_type),
INTENT(inout) :: SHOOT_STRUCT
631 INTEGER I, NG, K, ITY, MLW, NEL, NFT, ISOLNOD, LFT, LLT,
632 . KAD, NPT, IHBE, JD(50), KD(50), JFI, KFI, NRTM, NRTS,
633 . NTY, NSN, ISTRA, N, IDEL, NMN,ILEV,
634 . N1, N2, N3, N4, SIZE, LENR, IDB, IDBS, INC, IDELKEEP,
635 . IDEB, OFQ, OFC, OFT, OFP, OFR, OFTG, OFUR, ICNOD, IE,
636 . NLINSA, NLINMA, NSNE, NMNE, , IRSIZE,
637 . irecv(nspmd),siz,j,r2r_numel,tagel_r2r_ispmd(nspmd+1),
638 . ipartr2r,ntagel_r2r_recv,ntagel_r2r_send,ntagel_r2r_sendg,
640 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGEL_R2R_RECV,TAGEL_R2R_SENDG
641 TYPE(g_bufel_) ,
POINTER :: GBUF
642 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LOCAL_ELEM_INDEX
646 ALLOCATE( local_elem_index(s_elem_state) )
647 global_nb_elem_off(itask+1) = 0
658#include "vectorize.inc"
676 gbuf => elbuf_tab(ng)%GBUF
686 isolnod = iparg(28,ng)
687 iexpan = iparg(49,ng)
688 ipartr2r = iparg(77,ng)
689 IF (ihbe == 101)
THEN
691 ELSEIF(ihbe == 102)
THEN
693 ELSEIF(ihbe == 112)
THEN
702 IF (abs(gbuf%OFF(i)) == one .OR.
703 . abs(gbuf%OFF(i)) == two)
THEN
710#include "lockoff.inc"
712 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
713 CALL r2r_tagel(ntagel_r2r_send,ixs(11,nft+i),itab(ixs(2,nft+i)),ity,
717 IF(elem_state(ie))
THEN
718 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
719 local_elem_index(global_nb_elem_off(itask+1)) = ie
721 elem_state(ie) = .false.
727#include "lockoff.inc"
730 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
732#include "vectorize.inc"
743 IF(isolnod == 10)
THEN
745#include "vectorize.inc"
748 IF(abs(gbuf%OFF(i)) == one.OR.
749 . abs(gbuf%OFF(i)) == two)
THEN
751 n = ixs10(k,nft+i-numels8)
756 n = ixs10(k,nft+i-numels8)
761 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
763#include "vectorize.inc"
767 n = ixs10(k,nft+i-numels8)
772 ELSEIF(isolnod == 20)
THEN
774#include "vectorize.inc"
777 IF(abs(gbuf%OFF(i)) == one.OR.
778 . abs(gbuf%OFF(i)) == two)
THEN
780 n = ixs20(k,nft+i-numels8-numels10)
785 n = ixs20(k,nft+i-numels8-numels10)
790 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
792#include "vectorize.inc"
796 n = ixs20(k,nft+i-numels8-numels10)
801 ELSEIF(isolnod == 16)
THEN
803#include "vectorize.inc"
806 IF(abs(gbuf%OFF(i)) == one.OR.
807 . abs(gbuf%OFF(i)) == two)
THEN
809 n = ixs16(k,nft+i-numels8-numels10-numels20)
814 n = ixs16(k,nft+i-numels8-numels10-numels20)
819 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
821#include "vectorize.inc"
825 n = ixs16(k,nft+i-numels8-numels10-numels20)
832 ELSEIF(ity == 2)
THEN
835 IF(abs(gbuf%OFF(i))>=one)
THEN
842 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
843 CALL r2r_tagel(ntagel_r2r_send,ixq(7,nft+i),itab(ixq(2,nft+i)),ity,
847 IF(elem_state(ie))
THEN
848 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
849 local_elem_index(global_nb_elem_off(itask+1)) = ie
851 elem_state(ie) = .false.
864 IF(abs(gbuf%OFF(i))>=one.AND.tagtrimc(nft+i)==0)
THEN
871 ELSEIF(abs(gbuf%OFF(i))>=one)
THEN
878 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
879 CALL r2r_tagel(ntagel_r2r_send,ixc(7,nft+i),itab(ixc(2,nft+i)),ity,
883 IF(elem_state(ie))
THEN
884 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
885 local_elem_index(global_nb_elem_off(itask+1)) = ie
887 elem_state(ie) = .false.
894 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
896#include "vectorize.inc"
908 IF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
911 IF (abs(gbuf%OFF(i)) >= one)
THEN
918 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
919 CALL r2r_tagel(ntagel_r2r_send,ixt(5,nft+i),itab(ixt(2,nft
923 IF(elem_state(ie))
THEN
924 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) +
925 local_elem_index(global_nb_elem_off(itask+1)) = ie
927 elem_state(ie) = .false.
937 IF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
940 IF (abs(gbuf%OFF(i)) >= one)
THEN
947 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
948 CALL r2r_tagel(ntagel_r2r_send,ixp(6,nft+i),itab(ixp
952 IF(elem_state(ie))
THEN
953 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
954 local_elem_index(global_nb_elem_off(itask+1)) = ie
956 elem_state(ie) = .false.
966 IF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
969 IF (abs(gbuf%OFF(i)) >= one)
THEN
975 IF(nint(geo(12,ixr(1,nft+i))) == 12)
THEN
980 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
981 CALL r2r_tagel(ntagel_r2r_send,ixr(nixr,nft+i),itab(ixr
985 IF(elem_state(ie))
THEN
987 local_elem_index(global_nb_elem_off(itask+1)) = ie
989 elem_state(ie) = .false.
994 IF(nint(geo(12,ixr(1,nft+i))) == 12)
THEN
1002 ELSEIF(ity == 7)
THEN
1008 IF(abs(gbuf%OFF(i))>=one.AND.tagtrimtg(nft+i)==0)
THEN
1015 ELSEIF(abs(gbuf%OFF(i))>=one)
THEN
1022 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
1023 CALL r2r_tagel(ntagel_r2r_send,ixtg(6,nft+i),itab(ixtg(2,nft+i)),ity,
1027 IF(elem_state(ie))
THEN
1028 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
1029 local_elem_index(global_nb_elem_off(itask+1)) = ie
1031 elem_state(ie) = .false.
1038 ELSEIF ((r2r_siu == 0).OR.(ipartr2r
THEN
1040#include "vectorize.inc"
1053#include "vectorize.inc"
1056 IF(abs(gbuf%OFF(i))>=one)
THEN
1058 n = ixtg1(k,nft+i-numeltg+numeltg6)
1063 n = ixtg1(k,nft+i-numeltg+numeltg6)
1068 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
1070#include "vectorize.inc"
1074 n = ixtg1(k,nft+i-numeltg+numeltg6)
1081 ELSEIF(ity == 51)
THEN
1082#include "vectorize.inc"
1084 IF(abs(gbuf%OFF(i))>=one)
THEN
1098 IF(
ALLOCATED( shoot_struct%GLOBAL_ELEM_INDEX ) )
DEALLOCATE( shoot_struct%GLOBAL_ELEM_INDEX )
1100 shoot_struct%S_GLOBAL_ELEM_INDEX = 0
1102 shoot_struct%S_GLOBAL_ELEM_INDEX = shoot_struct%S_GLOBAL_ELEM_INDEX + global_nb_elem_off(i)
1105 ALLOCATE( shoot_struct%GLOBAL_ELEM_INDEX(shoot_struct%S_GLOBAL_ELEM_INDEX) )
1112 shift = shift + global_nb_elem_off(i)
1114 shoot_struct%GLOBAL_ELEM_INDEX(1+shift:global_nb_elem_off(itask+1)+shift) =
1115 . local_elem_index(1:global_nb_elem_off(itask+1))
1128 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
1142 IF (r2r_siu == 1.AND.idel7nok==1)
THEN
1146 IF (idel7nok_sav > 0)
THEN
1151 ntagel_r2r_sendg = ntagel_r2r_send
1153 IF (ntagel_r2r_sendg > 0)
THEN
1155 tagel_r2r_ispmd(:)=0
1156 tagel_r2r_ispmd(ispmd+1) = 3*ntagel_r2r_send
1158 ALLOCATE(tagel_r2r_sendg(3*ntagel_r2r_sendg))
1160 CALL spmd_ibcast(tagel_r2r_sendg,tagel_r2r_sendg,3*ntagel_r2r_sendg,1,0,2)
1162 DEALLOCATE(tagel_r2r_sendg)
1171 IF (ncycle == 0)
THEN
1180 IF (sdd_r2r_elem > 0)
THEN
1181 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
1187 IF (idel7nok_r2r > 0)
THEN
1189 ntagel_r2r_recv = ntagel_r2r_recv / 3
1190 IF (ntagel_r2r_recv > 0)
THEN
1191 ALLOCATE(tagel_r2r_recv(3*ntagel_r2r_recv))
1194 DO i=1,ntagel_r2r_recv
1195 n1 = get_local_node_id(nodes,tagel_r2r_recv((i-1)*3+2))
1197 ity = tagel_r2r_recv((i-1)*3+3)
1198 DO j = addcnel(n1),addcnel(n1+1)-1
1201 IF ((ity == 1).AND.(ie<=ofq))
THEN
1202 r2r_numel = ixs(11,ie)
1203 ELSEIF ((ity == 2).AND.((ie > ofq).AND.(ie<=ofc)))
THEN
1204 r2r_numel = ixq(7,ie-ofq)
1205 ELSEIF ((ity == 3).AND.((ie > ofc).AND.(ie<=oft)))
THEN
1206 r2r_numel = ixc(7,ie-ofc)
1207 ELSEIF ((ity == 4).AND.((ie > oft).AND.(ie<=ofp)))
THEN
1208 r2r_numel = ixt(5,ie-oft)
1209 ELSEIF ((ity == 5).AND.((ie > ofp).AND.(ie<=ofr)))
THEN
1210 r2r_numel = ixp(6,ie-ofp)
1211 ELSEIF ((ity == 6).AND.((ie > ofr).AND.(ie<=oftg)))
THEN
1212 r2r_numel = ixr(nixr,ie-ofr)
1213 ELSEIF ((ity == 7).AND.((ie > oftg).AND.(ie<=ofur)))
THEN
1214 r2r_numel = ixtg(6,ie-oftg)
1217 IF (r2r_numel == tagel_r2r_recv((i-1)*3+1))
THEN
1229 IF(
ALLOCATED(tagel_r2r_recv))
DEALLOCATE(tagel_r2r_recv)
1236 DEALLOCATE( local_elem_index )
1275 1 IPARI ,GEO ,IXS ,IXQ ,IXC ,IXT ,
1276 2 IXP ,IXR ,IXTG ,ITAG ,IPARG ,ITASK ,
1277 3 NEWFRONT,ITAGL ,MS ,IN ,ADM ,ITAB ,
1278 4 ITABM1 ,ADDCNEL ,CNEL ,IND ,NINDEX1 ,NINDEX2 ,
1279 5 NINDEX3 ,NINDEX4 ,TAGEL ,INT24USE,IBUFSEGLO,INDSEGLO ,
1280 6 IBUFS ,INTBUF_TAB,IAD_ELEM)
1284 USE nodal_arrays_mod
1287 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
1291#include "implicit_f.inc"
1292#include "comlock.inc"
1296#include "param_c.inc"
1297#include "com01_c.inc"
1298#include "com04_c.inc"
1299#include "task_c.inc"
1303 TYPE(nodal_arrays_),
intent(inout) :: NODES
1305 . IPARI(NPARI,*), LINDIDEL, LBUFIDEL,
1306 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
1307 . IXR(NIXR,*), IXTG(NIXTG,*),ITAG(*),
1308 . iparg(nparg,*), itask, newfront(*),itagl(*),
1309 . itab(*),itabm1(*),addcnel(0:*),cnel(0:*),
1310 . nindex1(*), nindex2(*),nindex3(*), nindex4(*),
1311 . ind(*), tagel(*),int24use,ibufseglo(*),indseglo(*),
1314 . geo(npropg,*), ms(*),in(*), adm(*)
1316 TYPE(intbuf_struct_) INTBUF_TAB(*)
1317 INTEGER,
DIMENSION(2,NSPMD+1),
INTENT(in) :: IAD_ELEM
1321 INTEGER I, NG, K, , MLW, NEL, NFT, ISOLNOD,
1322 . KAD, NPT, IHBE, JD(50), KD(50), JFI, KFI, NRTM, NRTS,
1323 . NTY, NSN, ISTRA, N, IDEL, NMN,ILEV,
1324 . N1, N2, N3, N4, SIZE, LENR, IDB, IDBS, INC, IDELKEEP,
1325 . , OFQ, OFC, OFT, OFP, OFR, OFTG, OFUR, ICNOD, IE,
1326 . NLINSA, NLINMA, NSNE, NMNE, IEXPAN, IRSIZE,
1328 . ipartr2r,ntagel_r2r_recv,ntagel_r2r_send,ntagel_r2r_sendg,
1330 INTEGER,
DIMENSION(:),
ALLOCATABLE ::,INDSEGLO_sav
1331 TYPE(G_BUFEL_) ,
POINTER :: GBUF
1347 idelkeep=ipari(61,ng)
1348 IF(int24use==1.OR.ninter25/=0)
THEN
1350 indseglo(ng+1)=indseglo(ng)
1354 IF((nty==7.OR.nty==10.OR.nty==22.OR.nty==24.OR.nty==25).AND.
1357 IF(idelkeep /= 1)
THEN
1362 . nsn ,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask,
1363 . intbuf_tab(ng)%IS2SE,intbuf_tab(ng)%IRTSE,newfront(ng))
1374 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask,intbuf_tab(ng)%IRECTM,
1375 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1376 3 ixtg ,ixq ,iparg ,itagl ,
1377 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1378 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1379 6 ibufs(idbs+4),ind(idb) ,tagel ,ng ,intbuf_tab(ng)%MSEGLO,
1380 7 intbuf_tab(ng)%MVOISIN,indseglo ,ibufseglo)
1381 ELSEIF(idel == 2)
THEN
1386 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask,intbuf_tab(ng)%IRECTM,
1387 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1388 3 ixtg ,ixq ,iparg ,itagl ,
1390 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1391 6 ibufs(idbs+4),ind(idb) ,tagel ,ng,
1392 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo ,ibufseglo)
1398 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1403 ibufs(idbs+2)=nindex1(ng)
1404 ibufs(idbs+3)=nindex2(ng)
1407 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1408 idb = idb + nindex1(ng) + nindex2(ng)
1410 ELSEIF(nty == 23.AND.idel>=1)
THEN
1412 IF(idelkeep /= 1)
CALL chkslv3(
1413 . nsn ,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask,
1420 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask,intbuf_tab(ng)%IRECTM,
1421 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1422 3 ixtg ,ixq ,iparg ,itagl ,
1423 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1424 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1425 6 ibufs(idbs+4),ind(idb) ,tagel )
1426 ELSEIF(idel == 2)
THEN
1428 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1429 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1430 3 ixtg ,ixq ,iparg ,itagl ,
1431 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1432 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1433 6 ibufs(idbs+4),ind(idb) ,tagel )
1436 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1441 ibufs(idbs+2)=nindex1(ng)
1442 ibufs(idbs+3)=nindex2(ng)
1445 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1446 idb = idb + nindex1(ng) + nindex2(ng)
1448 ELSEIF((nty == 11).AND.idel>=1)
THEN
1457 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask ,intbuf_tab(ng)%IRECTM ,
1458 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1459 3 ixtg ,ixq ,iparg ,itagl ,
1460 4 nty ,itab ,itabm1 ,newfront(ng),ixt ,
1461 5 ixp ,ixr ,geo ,1 ,cnel ,
1462 6 addcnel,ofc ,oft ,oftg ,ofur ,
1463 7 ofr ,ofp ,nindex1(ng) ,ibufs(idbs+4),ind(idb),
1467 1 nsn ,intbuf_tab(ng)%NSV ,itag ,itask ,intbuf_tab(ng)%IRECTS,
1468 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1469 3 ixtg ,ixq ,iparg ,itagl ,
1470 4 nty ,itab ,itabm1 ,newfront(ng),ixt ,
1471 5 ixp ,ixr ,geo ,2 ,cnel ,
1472 6 addcnel,ofc ,oft ,oftg ,ofur ,
1473 7 ofr ,ofp ,nindex2(ng) ,
1474 + ibufs(idbs+4+nindex1(ng)*inc), ind(idb+nindex1(ng)) ,
1476 ELSEIF(idel == 2)
THEN
1479 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask ,intbuf_tab(ng)%IRECTM ,
1480 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1481 3 ixtg ,ixq ,iparg ,itagl ,
1482 4 nty ,newfront(ng) ,ixt ,ixp ,ixr ,
1483 5 geo ,1 ,itab ,itabm1 ,cnel ,
1484 6 addcnel,ofc ,oft ,oftg ,ofur ,
1485 7 ofr ,ofp ,nindex1(ng) ,ibufs(idbs+4),ind(idb),
1489 1 nsn ,intbuf_tab(ng)%NSV ,itag ,itask ,intbuf_tab(ng)%IRECTS,
1490 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1491 3 ixtg ,ixq ,iparg ,itagl ,
1492 4 nty ,newfront(ng) ,ixt ,ixp ,ixr ,
1493 5 geo ,2 ,itab ,itabm1 ,cnel ,
1494 6 addcnel,ofc ,oft ,oftg ,ofur ,
1495 7 ofr ,ofp ,nindex2(ng) ,
1496 + ibufs(idbs+4+nindex1(ng)*inc), ind(idb+nindex1(ng)) ,
1499 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1504 ibufs(idbs+2)=nindex1(ng)
1505 ibufs(idbs+3)=nindex2(ng)
1508 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1512 ELSEIF(nty == 21.AND.idel>=1)
THEN
1515 .
CALL chkslv3b(nsn,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask)
1517 ELSEIF(nty == 20.AND.idel>=1)
THEN
1520 . nsn ,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFA,itag,itask,
1521 . newfront(ng),intbuf_tab(ng)%NLG)
1527 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1528 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1529 3 ixtg ,ixq ,iparg ,itagl ,
1530 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1531 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1532 6 ibufs(idbs+4),ind(idb) ,intbuf_tab(ng)%NLG ,tagel)
1533 ELSEIF(idel == 2)
THEN
1535 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1536 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1537 3 ixtg ,ixq ,iparg ,itagl ,
1538 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1539 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1540 6 ibufs(idbs+4),ind(idb) ,intbuf_tab(ng)%NLG ,tagel)
1543 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1548 ibufs(idbs+2)=nindex1(ng)
1549 ibufs(idbs+3)=nindex2(ng)
1552 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1553 idb = idb + nindex1(ng) + nindex2(ng)
1558 nlinsa =ipari(53,ng)
1559 nlinma =ipari(54,ng)
1566 1 nmne ,intbuf_tab(ng)%MSRL,itag ,itask ,intbuf_tab(ng)%IXLINM ,
1567 2 nlinma ,intbuf_tab(ng)%STF,itag(numnod+1),ixs ,ixc ,
1568 3 ixtg ,ixq ,iparg ,itagl ,
1569 4 nty ,itab ,itabm1 ,newfront(ng),ixt ,
1570 5 ixp ,ixr ,geo ,1 ,cnel ,
1571 6 addcnel,ofc ,oft ,oftg ,ofur ,
1572 7 ofr ,ofp ,nindex3(ng) ,ibufs(idbs+4),ind(idb),
1573 8 intbuf_tab(ng)%NLG ,tagel)
1576 1 nsne ,intbuf_tab(ng)%NSVL,itag ,itask ,intbuf_tab(ng)%IXLINS,
1577 2 nlinsa ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1578 3 ixtg ,ixq ,iparg ,itagl ,
1579 4 nty ,itab ,itabm1 ,newfront(ng),ixt ,
1580 5 ixp ,ixr ,geo ,2 ,cnel ,
1581 6 addcnel,ofc ,oft ,oftg ,ofur ,
1582 7 ofr ,ofp ,nindex4(ng) ,
1583 + ibufs(idbs+4+nindex3(ng)*inc), ind(idb+nindex3(ng)) ,
1584 8 intbuf_tab(ng)%NLG ,tagel)
1585 ELSEIF(idel == 2)
THEN
1588 1 nmne ,intbuf_tab(ng)%MSRL,itag ,itask ,intbuf_tab(ng)%IXLINM ,
1589 2 nlinma ,intbuf_tab(ng)%STF,itag(numnod+1),ixs ,ixc ,
1590 3 ixtg ,ixq ,iparg ,itagl ,
1591 4 nty ,newfront(ng) ,ixt ,ixp ,ixr ,
1592 5 geo ,1 ,itab ,itabm1 ,cnel ,
1593 6 addcnel,ofc ,oft ,oftg ,ofur ,
1594 7 ofr ,ofp ,nindex3(ng) ,ibufs(idbs+4),ind(idb),
1595 8 intbuf_tab(ng)%NLG ,tagel)
1598 1 nsne ,intbuf_tab(ng)%NSVL,itag ,itask ,intbuf_tab(ng)%IXLINS,
1599 2 nlinsa ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1600 3 ixtg ,ixq ,iparg ,itagl ,
1601 4 nty ,newfront(ng) ,ixt ,ixp ,ixr ,
1602 5 geo ,2 ,itab ,itabm1 ,cnel ,
1603 6 addcnel,ofc ,oft ,oftg ,ofur ,
1604 7 ofr ,ofp ,nindex4(ng) ,
1605 + ibufs(idbs+4+nindex3(ng)*inc), ind(idb+nindex3(ng)) ,
1606 8 intbuf_tab(ng)%NLG ,tagel)
1609 IF(nindex3(ng)+nindex4(ng) > 0)
THEN
1614 ibufs(idbs+2)=nindex3(ng)
1615 ibufs(idbs+3)=nindex4(ng)
1618 idbs = idbs + inc*(nindex3(ng)+nindex4(ng)) + 4
1619 idb = idb + nindex3(ng) + nindex4(ng)
1622 ELSEIF(nty == 3.AND.idel>=1)
THEN
1626 .
CALL chkslv3b(nsn,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask)
1629 .
CALL chkslv3b(nmn,intbuf_tab(ng)%MSR,intbuf_tab(ng)%STFNM,itag,itask)
1642 1 nsn ,intbuf_tab(ng)%NSV,itag ,itask,intbuf_tab(ng)%IRECTS,
1643 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1644 3 ixtg ,ixq ,iparg ,itagl ,
1645 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1646 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1647 6 ibufs(idbs+4),ind(idb) ,tagel ,ng ,intbuf_tab(ng)%IRTLOS,
1648 7 intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1651 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1652 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1653 3 ixtg ,ixq ,iparg ,itagl ,
1654 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1655 5 ofc ,oft ,oftg ,ofur ,nindex2(ng) ,
1656 6 ibufs(idbs+4+nindex1(ng)*inc),ind(idb+nindex1(ng)),tagel ,
1657 7 ng ,intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo,ibufseglo )
1658 ELSEIF(idel == 2)
THEN
1661 1 nsn ,intbuf_tab(ng)%NSV,itag ,itask,intbuf_tab(ng)%IRECTS,
1662 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1663 3 ixtg ,ixq ,iparg ,itagl ,
1664 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1665 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1666 6 ibufs(idbs+4),ind(idb) ,tagel ,ng,
1667 7 intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1670 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab
1671 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc
1672 3 ixtg ,ixq ,iparg ,itagl ,
1673 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1674 5 ofc ,oft ,oftg ,ofur ,nindex2(ng) ,
1675 6 ibufs(idbs+4+nindex1(ng)*inc),ind(idb+nindex1(ng)),tagel ,ng,
1676 7 intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1678 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1683 ibufs(idbs+2)=nindex1(ng)
1684 ibufs(idbs+3)=nindex2(ng)
1687 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1688 idb = idb + nindex1(ng) + nindex2(ng)
1690 ELSEIF(nty == 5.AND.idel>=1)
THEN
1694 .
CALL chkslv3b(nsn,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask)
1704 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1705 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1706 3 ixtg ,ixq ,iparg ,itagl ,
1707 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1708 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1709 6 ibufs(idbs+4),ind(idb) ,tagel ,ng ,intbuf_tab(ng)%IRTLOS,
1710 7 intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo )
1711 ELSEIF(idel == 2)
THEN
1713 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1714 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1715 3 ixtg ,ixq ,iparg ,itagl ,
1716 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1717 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1718 6 ibufs(idbs+4),ind(idb) ,tagel ,ng,
1719 7 intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1722 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1727 ibufs(idbs+2)=nindex1(ng)
1728 ibufs(idbs+3)=nindex2(ng)
1731 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1732 idb = idb + nindex1(ng) + nindex2(ng)
1734 ELSEIF (nty == 2 .AND. idel > 0)
THEN
1741 1 nsn ,intbuf_tab(ng)%NSV ,itag,itask,intbuf_tab(ng)%IRECTM,
1742 2 intbuf_tab(ng)%IRTLM,itag(numnod+1),ixs ,ixc
1743 3 ixq ,iparg ,itagl,ms ,
1744 4 in ,intbuf_tab(ng)%SMAS ,intbuf_tab(ng)%SINER,adm,cnel ,
1745 5 addcnel ,ofc ,oft ,oftg ,ofur ,
1747 ELSEIF (idel == 1)
THEN
1749 1 nsn ,intbuf_tab(ng)%NSV ,itag ,itask,intbuf_tab(ng)%IRECTM,
1750 2 intbuf_tab(ng)%IRTLM,itag(numnod+1),ixs ,ixc ,ixtg ,
1751 3 ixq ,iparg ,itagl,ms ,
1752 4 in ,intbuf_tab(ng)%SMAS ,intbuf_tab(ng)%SINER,adm,cnel ,
1753 5 addcnel ,ofc ,oft ,oftg ,ofur ,
1754 6 nindex1(ng) ,ibufs(idbs+4) ,ind(idb),tagel,itab ,
1759 IF (nspmd > 1 .AND. idel == 2)
THEN
1762 1 nsn ,intbuf_tab(ng)%NSV,itag ,itask ,intbuf_tab(ng)%IRECTM,
1763 2 intbuf_tab(ng)%IRTLM,itag(n1) ,ixs ,ixc ,ixtg ,
1764 3 ixq ,iparg ,itagl ,ms ,
1765 4 in,intbuf_tab(ng)%SMAS,intbuf_tab(ng)%SINER ,adm ,itab ,
1766 5 itabm1 ,cnel ,addcnel,ofc ,oft ,
1767 6 oftg ,ofur,nindex1(ng),ibufs(idbs+4),ind(idb) ,
1769 ELSEIF (idel == 2)
THEN
1773 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1778 ibufs(idbs+2)=nindex1(ng)
1779 ibufs(idbs+3)=nindex2(ng)
1782 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1783 idb = idb + nindex1(ng) + nindex2(ng)
1801 1 ibufs ,idbs-1 ,ixs ,ixc ,ixtg ,
1802 2 ixq ,iparg ,itagl ,nodes,
1803 3 irsize ,irecv ,cnel ,addcnel,ofc ,
1804 4 oft ,oftg ,ofur ,ofr ,ofp ,
1805 5 idb-1 ,ixp ,ixr ,ixt ,geo ,
1811 IF(int24use==1.OR.ninter25/=0)
THEN
1812 ALLOCATE(indseglo_sav(ninter+1))
1813 siz=indseglo(ninter+1)-indseglo(1)
1814 ALLOCATE(ibufseglo_sav(siz))
1816 indseglo_sav(1:ninter+1)=indseglo(1:ninter+1)
1817 ibufseglo_sav(1:siz)=ibufseglo(1:siz)
1819 indseglo(1:ninter+1)=0
1829 IF(int24use==1.OR.ninter25/=0)
THEN
1830 indseglo(ng+1)=indseglo(ng)
1832 IF((nty==7.OR.nty==10.OR.nty==5.OR.nty==20.OR.nty==22
1833 + .OR.nty==23.OR.nty==24.OR.nty==25).AND.idel>=1)
THEN
1835 IF(int24use==1.OR.ninter25/=0)
THEN
1836 siz=indseglo_sav(ng+1)-indseglo_sav(ng)
1838 ibufseglo(indseglo(ng+1))=ibufseglo_sav(indseglo_sav(ng)+i-1)
1839 indseglo(ng+1)=indseglo(ng+1)+1
1843 1 intbuf_tab(ng)%STFM,nindex1(ng),ibufs(idb),ind(idb),nty,
1844 2 idel ,0, newfront(ng),ng,nrtm,
1845 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1846 idb = idb+nindex1(ng)
1847 ELSEIF((nty == 11).AND.idel>=1)
THEN
1850 1 intbuf_tab(ng)%STFM,nindex1(ng),ibufs(idb),ind(idb),nty,
1851 2 idel ,1, newfront(ng),ng,nrtm,
1852 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1853 idb = idb+nindex1(ng)
1856 1 intbuf_tab(ng)%STFS,nindex2(ng),ibufs(idb),ind(idb),nty,
1857 2 idel ,2, newfront(ng),ng,nrtm,
1858 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1859 idb = idb+nindex2(ng)
1860 ELSEIF(nty == 3.AND.idel>=1)
THEN
1863 1 intbuf_tab(ng)%STFS,nindex1(ng),ibufs(idb),ind(idb),nty,
1864 2 idel ,0, newfront(ng),ng,nrtm,
1865 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1866 idb = idb+nindex1(ng)
1869 1 intbuf_tab(ng)%STFM,nindex2(ng),ibufs(idb),ind(idb),nty,
1870 2 idel ,0, newfront(ng),ng,nrtm,
1871 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1872 idb = idb+nindex2(ng)
1873 ELSEIF(nty == 2.AND.idel/=0)
THEN
1875 1 nindex1(ng) ,ibufs(idb),ind(idb) ,intbuf_tab(ng)%NSV,ms,
1876 2 intbuf_tab(ng)%SMAS,in ,intbuf_tab(ng)%SINER,idel)
1877 idb = idb+nindex1(ng)
1883 IF(nty == 20.AND.idel>=1)
THEN
1886 1 intbuf_tab(ng)%STF,nindex3(ng),ibufs(idb),ind(idb),-nty,
1887 2 idel ,1, newfront(ng),ng,nrtm,
1888 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1889 idb = idb+nindex3(ng)
1892 1 intbuf_tab(ng)%STFS,nindex4(ng),ibufs(idb),ind(idb),-nty,
1893 2 idel ,2, newfront(ng),ng,nrtm,
1894 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo ,ibufseglo)
1895 idb = idb+nindex4(ng)
1900 IF(int24use > 0.OR.ninter25/=0)
THEN
1901 DEALLOCATE(indseglo_sav)
1902 DEALLOCATE(ibufseglo_sav)