565 1 GEO ,IXS ,IXS10 ,IXS20 ,IXS16 ,IXQ ,
566 2 IXC ,IXT ,IXP ,IXR ,IXTG ,
567 3 ITAG ,NODFT ,NODLT ,IPARG ,EV ,ITASK ,
568 4 IXTG1 ,IAD_ELEM,FR_ELEM,ITAB ,
569 5 ADDCNEL ,CNEL ,KXSP ,ELBUF_TAB,TAGEL ,IEXLNK ,
570 6 IGRNOD ,DD_R2R,DD_R2R_ELEM,SDD_R2R_ELEM,IDEL7NOK_SAV,
571 7 IDEL7NOK_R2R,TAGTRIMC,TAGTRIMTG,S_ELEM_STATE,ELEM_STATE,
572 8 SHOOT_STRUCT,GLOBAL_NB_ELEM_OFF)
585#include "implicit_f.inc"
586#include "comlock.inc"
590#include "param_c.inc"
591#include "com01_c.inc"
592#include "com04_c.inc"
593#include
"scr17_c.inc"
596#include "rad2r_c.inc"
597#include "remesh_c.inc"
601 TYPE(nodal_arrays_) :: NODES
603 . LINDIDEL, LBUFIDEL,
604 . IXS(NIXS,*),IXS10(6,*),IXS20(12,*),IXS16(8,*),
605 . IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
606 . IXR(NIXR,*), IXTG(NIXTG,*),IXTG1(4,*),ITAG(*),
607 . IPARG(NPARG,*), NODFT,NODLT,ITASK,
608 . IAD_ELEM(2,*),FR_ELEM(*),ITAB(*),
609 . ADDCNEL(0:*),CNEL(0:*),KXSP(NISP,*),
611 . IEXLNK(NR2R,NR2RLNK),DD_R2R(NSPMD+1,*),
612 . TAGTRIMC(*),TAGTRIMTG(*),
613 . DD_R2R_ELEM(*),SDD_R2R_ELEM,IDEL7NOK_SAV,
615 . GEO(NPROPG,*), EV(*)
616 TYPE(ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
618 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
619 INTEGER,
INTENT(in) :: S_ELEM_STATE
620 LOGICAL,
DIMENSION(S_ELEM_STATE),
INTENT(inout) :: ELEM_STATE
621 INTEGER,
DIMENSION(NTHREAD),
INTENT(inout) :: GLOBAL_NB_ELEM_OFF
622 TYPE(shooting_node_type),
INTENT(inout) :: SHOOT_STRUCT
626 INTEGER I, NG, K, ITY, MLW, NEL, NFT, ISOLNOD, LFT, LLT,
627 . KAD, NPT, IHBE, JD(50), KD(50), JFI, KFI, NRTM, NRTS,
628 . NTY, NSN, ISTRA, N, IDEL, NMN,ILEV,
629 . N1, N2, N3, N4, SIZE, LENR, IDB, IDBS
631, NMNE, IEXPAN, IRSIZE,
632 . irecv(nspmd),siz,j,r2r_numel,tagel_r2r_ispmd(nspmd+1),
633 . ipartr2r,ntagel_r2r_recv,ntagel_r2r_send,ntagel_r2r_sendg,
635 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGEL_R2R_RECV,TAGEL_R2R_SENDG
636 TYPE(g_bufel_) ,
POINTER :: GBUF
637 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LOCAL_ELEM_INDEX
641 ALLOCATE( local_elem_index(s_elem_state) )
642 global_nb_elem_off(itask+1) = 0
653#include "vectorize.inc"
671 gbuf => elbuf_tab(ng)%GBUF
681 isolnod = iparg(28,ng)
682 iexpan = iparg(49,ng)
683 ipartr2r = iparg(77,ng
684 IF (ihbe == 101)
THEN
686 ELSEIF(ihbe == 102)
THEN
688 ELSEIF(ihbe == 112)
THEN
697 IF (abs(gbuf%OFF(i)) == one .OR.
698 . abs(gbuf%OFF(i)) == two)
THEN
705#include "lockoff.inc"
707 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
708 CALL r2r_tagel(ntagel_r2r_send,ixs(11,nft+i),itab(ixs(2,nft
712 IF(elem_state(ie))
THEN
713 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
716 elem_state(ie) = .false.
722#include "lockoff.inc"
725 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
727#include "vectorize.inc"
738 IF(isolnod == 10)
THEN
740#include "vectorize.inc"
743 IF(abs(gbuf%OFF(i)) == one.OR.
744 . abs(gbuf%OFF(i)) == two)
THEN
746 n = ixs10(k,nft+i-numels8)
751 n = ixs10(k,nft+i-numels8)
756 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
758#include "vectorize.inc"
762 n = ixs10(k,nft+i-numels8)
767 ELSEIF(isolnod == 20)
THEN
769#include "vectorize.inc"
772 IF(abs(gbuf%OFF(i)) == one.OR.
773 . abs(gbuf%OFF(i)) == two)
THEN
775 n = ixs20(k,nft+i-numels8-numels10)
780 n = ixs20(k,nft+i-numels8-numels10)
785 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
787#include "vectorize.inc"
791 n = ixs20(k,nft+i-numels8-numels10)
796 ELSEIF(isolnod == 16)
THEN
798#include "vectorize.inc"
802 . abs(gbuf%OFF(i)) == two)
THEN
804 n = ixs16(k,nft+i-numels8-numels10-numels20)
809 n = ixs16(k,nft+i-numels8-numels10-numels20)
814 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
816#include "vectorize.inc"
820 n = ixs16(k,nft+i-numels8-numels10-numels20)
827 ELSEIF(ity == 2)
THEN
830 IF(abs(gbuf%OFF(i))>=one)
THEN
837 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
838 CALL r2r_tagel(ntagel_r2r_send,ixq(7,nft+i),itab(ixq(2,nft+i)),ity,
842 IF(elem_state(ie))
THEN
843 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
844 local_elem_index(global_nb_elem_off(itask+1)) = ie
846 elem_state(ie) = .false.
859 IF(abs(gbuf%OFF(i))>=one.AND.tagtrimc(nft+i)==0)
THEN
866 ELSEIF(abs(gbuf%OFF(i))>=one)
THEN
873 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
874 CALL r2r_tagel(ntagel_r2r_send,ixc(7,nft+i),itab(ixc(2,nft+i)),ity,
878 IF(elem_state(ie))
THEN
879 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
880 local_elem_index(global_nb_elem_off(itask+1)) = ie
882 elem_state(ie) = .false.
889 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
891#include "vectorize.inc"
903 IF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
906 IF (abs(gbuf%OFF(i)) >= one)
THEN
913 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
914 CALL r2r_tagel(ntagel_r2r_send,ixt(5,nft+i),itab(ixt(2,nft+i)),ity,
918 IF(elem_state(ie))
THEN
919 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
920 local_elem_index(global_nb_elem_off(itask+1)) = ie
922 elem_state(ie) = .false.
932 IF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
935 IF (abs(gbuf%OFF(i)) >= one)
THEN
942 IF ((r2r_siu == 1
THEN
943 CALL r2r_tagel(ntagel_r2r_send,ixp(6,nft+i),itab(ixp(2,nft+i)),ity,
947 IF(elem_state(ie))
THEN
948 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
949 local_elem_index(global_nb_elem_off(itask+1)) = ie
951 elem_state(ie) = .false.
961 IF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
964 IF (abs(gbuf%OFF(i)) >= one)
THEN
970 IF(nint(geo(12,ixr(1,nft+i))) == 12)
THEN
975 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
976 CALL r2r_tagel(ntagel_r2r_send,ixr(nixr,nft+i),itab(ixr(2,nft+i
980 IF(elem_state(ie))
THEN
981 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
982 local_elem_index(global_nb_elem_off(itask+1)) = ie
984 elem_state(ie) = .false.
989 IF(nint(geo(12,ixr(1,nft+i))) == 12)
THEN
1003 IF(abs(gbuf%OFF(i))>=one.AND.tagtrimtg(nft+i)==0)
THEN
1010 ELSEIF(abs(gbuf%OFF(i))>=one)
THEN
1017 IF ((r2r_siu == 1).AND.(tagel(ie) > -1))
THEN
1018 CALL r2r_tagel(ntagel_r2r_send,ixtg(6,nft+i),itab(ixtg(2,nft+i)),ity,
1022 IF(elem_state(ie))
THEN
1023 global_nb_elem_off(itask+1) = global_nb_elem_off(itask+1) + 1
1024 local_elem_index(global_nb_elem_off(itask+1)) = ie
1026 elem_state(ie) = .false.
1033 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
1035#include "vectorize.inc"
1048#include "vectorize.inc"
1051 IF(abs(gbuf%OFF(i))>=one)
THEN
1053 n = ixtg1(k,nft+i-numeltg+numeltg6)
1058 n = ixtg1(k,nft+i-numeltg+numeltg6)
1063 ELSEIF ((r2r_siu == 0).OR.(ipartr2r > 0))
THEN
1065#include "vectorize.inc"
1069 n = ixtg1(k,nft+i-numeltg+numeltg6)
1076 ELSEIF(ity == 51)
THEN
1077#include "vectorize.inc"
1079 IF(abs(gbuf%OFF(i))>=one)
THEN
1093 IF(
ALLOCATED( shoot_struct%GLOBAL_ELEM_INDEX ) )
DEALLOCATE( shoot_struct%GLOBAL_ELEM_INDEX )
1095 shoot_struct%S_GLOBAL_ELEM_INDEX = 0
1097 shoot_struct%S_GLOBAL_ELEM_INDEX = shoot_struct%S_GLOBAL_ELEM_INDEX + global_nb_elem_off(i)
1100 ALLOCATE( shoot_struct%GLOBAL_ELEM_INDEX(shoot_struct%S_GLOBAL_ELEM_INDEX) )
1107 shift = shift + global_nb_elem_off(i)
1109 shoot_struct%GLOBAL_ELEM_INDEX(1+shift:global_nb_elem_off(itask+1)+shift) =
1110 . local_elem_index(1:global_nb_elem_off(itask+1))
1123 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
1137 IF (r2r_siu == 1.AND.idel7nok==1)
THEN
1146 ntagel_r2r_sendg = ntagel_r2r_send
1148 IF (ntagel_r2r_sendg > 0)
THEN
1151 tagel_r2r_ispmd(ispmd+1) = 3*ntagel_r2r_send
1153 ALLOCATE(tagel_r2r_sendg(3*ntagel_r2r_sendg))
1155 CALL spmd_ibcast(tagel_r2r_sendg,tagel_r2r_sendg,3*ntagel_r2r_sendg,1,0,2)
1157 DEALLOCATE(tagel_r2r_sendg)
1166 IF (ncycle == 0)
THEN
1175 IF (sdd_r2r_elem > 0)
THEN
1176 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
1182 IF (idel7nok_r2r > 0)
THEN
1184 ntagel_r2r_recv = ntagel_r2r_recv / 3
1185 IF (ntagel_r2r_recv > 0)
THEN
1186 ALLOCATE(tagel_r2r_recv(3*ntagel_r2r_recv))
1189 DO i=1,ntagel_r2r_recv
1190 n1 = get_local_node_id(nodes,tagel_r2r_recv((i-1)*3+2))
1192 ity = tagel_r2r_recv((i-1)*3+3)
1193 DO j = addcnel(n1),addcnel(n1+1)-1
1196 IF ((ity == 1).AND.(ie<=ofq))
THEN
1197 r2r_numel = ixs(11,ie)
1198 ELSEIF ((ity == 2).AND.((ie > ofq).AND.(ie<=ofc)))
THEN
1199 r2r_numel = ixq(7,ie-ofq)
1200 ELSEIF ((ity == 3).AND.((ie > ofc).AND.(ie<=oft)))
THEN
1201 r2r_numel = ixc(7,ie-ofc)
1202 ELSEIF ((ity ==
THEN
1203 r2r_numel = ixt(5,ie-oft)
1204 ELSEIF ((ity == 5).AND.((ie > ofp).AND.(ie<=ofr)))
THEN
1205 r2r_numel = ixp(6,ie-ofp)
1206 ELSEIF ((ity == 6).AND.((ie > ofr).AND.(ie<=oftg)))
THEN
1207 r2r_numel = ixr(nixr,ie-ofr)
1208 ELSEIF ((ity == 7).AND.((ie > oftg).AND.(ie<=ofur)))
THEN
1209 r2r_numel = ixtg(6,ie-oftg)
1212 IF (r2r_numel == tagel_r2r_recv((i-1)*3+1))
THEN
1224 IF(
ALLOCATED(tagel_r2r_recv))
DEALLOCATE(tagel_r2r_recv)
1231 DEALLOCATE( local_elem_index )
1269 1 IPARI ,GEO ,IXS ,IXQ ,IXC ,IXT ,
1270 2 IXP ,IXR ,IXTG ,ITAG ,IPARG ,ITASK ,
1271 3 NEWFRONT,ITAGL ,MS ,IN ,ADM ,ITAB ,
1272 4 ITABM1 ,ADDCNEL ,CNEL ,IND ,NINDEX1 ,NINDEX2 ,
1273 5 NINDEX3 ,NINDEX4 ,TAGEL ,INT24USE,IBUFSEGLO,INDSEGLO ,
1274 6 IBUFS ,INTBUF_TAB,IAD_ELEM)
1278 USE nodal_arrays_mod
1284#include "implicit_f.inc"
1285#include "comlock.inc"
1289#include "param_c.inc"
1290#include "com01_c.inc"
1291#include "com04_c.inc"
1292#include "task_c.inc"
1296 TYPE(nodal_arrays_),
intent(inout) :: NODES
1298 . IPARI(NPARI,*), , LBUFIDEL,
1299 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
1300 . (NIXR,*), IXTG(NIXTG,*),ITAG(*),
1301 . IPARG(NPARG,*), ITASK, NEWFRONT(*),ITAGL (*),
1302 . itab(*),itabm1(*),addcnel(0:*),cnel(0:*),
1303 . nindex1(*), nindex2(*),nindex3(*), nindex4
1304 . ind(*), tagel(*),int24use,ibufseglo(*),indseglo(*),
1307 . geo(npropg,*), ms(*),in(*), adm(*)
1309 TYPE(intbuf_struct_) INTBUF_TAB(*)
1310 INTEGER,
DIMENSION(2,NSPMD+1),
INTENT(in) ::
1314 INTEGER I, NG, K, ITY, MLW, , NFT, ISOLNOD,
1321 . ipartr2r,ntagel_r2r_recv,ntagel_r2r_send,ntagel_r2r_sendg,
1323 INTEGER,
DIMENSION(:),
ALLOCATABLE ::IBUFSEGLO_SAV,INDSEGLO_sav
1324 TYPE(G_BUFEL_) ,
POINTER :: GBUF
1340 idelkeep=ipari(61,ng)
1341 IF(int24use==1.OR.ninter25/=0)
THEN
1343 indseglo(ng+1)=indseglo(ng)
1347 IF((nty==7.OR.nty==10.OR.nty==22.OR.nty==24.OR.nty==25).AND.
1350 IF(idelkeep /= 1)
THEN
1355 . nsn ,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask,
1356 . intbuf_tab(ng)%IS2SE,intbuf_tab(ng)%IRTSE,newfront(ng))
1367 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask,intbuf_tab(ng)%IRECTM,
1368 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1369 3 ixtg ,ixq ,iparg ,itagl ,
1370 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1371 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1372 6 ibufs(idbs+4),ind(idb) ,tagel ,ng ,intbuf_tab(ng)%MSEGLO,
1373 7 intbuf_tab(ng)%MVOISIN,indseglo ,ibufseglo)
1374 ELSEIF(idel == 2)
THEN
1379 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask,intbuf_tab(ng)%IRECTM,
1380 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1381 3 ixtg ,ixq ,iparg ,itagl ,
1382 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1383 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1384 6 ibufs(idbs+4),ind(idb) ,tagel ,ng,
1385 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo ,ibufseglo)
1391 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1396 ibufs(idbs+2)=nindex1(ng)
1397 ibufs(idbs+3)=nindex2(ng)
1400 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1401 idb = idb + nindex1(ng) + nindex2(ng)
1403 ELSEIF(nty == 23.AND.idel>=1)
THEN
1405 IF(idelkeep /= 1)
CALL chkslv3(
1406 . nsn ,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask,
1413 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask,intbuf_tab(ng)%IRECTM,
1414 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1415 3 ixtg ,ixq ,iparg ,itagl ,
1416 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1417 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1418 6 ibufs(idbs+4),ind(idb) ,tagel )
1419 ELSEIF(idel == 2)
THEN
1421 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1422 2 nrtm ,intbuf_tab(ng)%STFM,itag
1423 3 ixtg ,ixq ,iparg ,itagl ,
1424 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1425 5 ofc ,oft ,oftg ,ofur ,nindex1(ng
1426 6 ibufs(idbs+4),ind(idb) ,tagel )
1429 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1435 ibufs(idbs+3)=nindex2(ng)
1438 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1439 idb = idb + nindex1(ng) + nindex2(ng)
1441 ELSEIF((nty == 11).AND.idel>=1)
THEN
1450 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask ,intbuf_tab(ng
1451 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+
1453 4 nty ,itab ,itabm1 ,newfront(ng),ixt ,
1454 5 ixp ,ixr ,geo ,1 ,cnel ,
1455 6 addcnel,ofc ,oft ,oftg ,ofur
1456 7 ofr ,ofp ,nindex1(ng) ,ibufs
1460 1 nsn ,intbuf_tab(ng)%NSV ,itag ,itask ,intbuf_tab(ng)%IRECTS,
1461 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc
1462 3 ixtg ,ixq ,iparg ,itagl ,
1463 4 nty ,itab ,itabm1 ,newfront(ng),ixt ,
1464 5 ixp ,ixr ,geo ,2 ,cnel ,
1465 6 addcnel,ofc ,oft ,oftg ,ofur ,
1466 7 ofr ,ofp ,nindex2(ng) ,
1467 + ibufs(idbs+4+nindex1(ng)*inc), ind(idb+nindex1(ng)) ,
1469 ELSEIF(idel == 2)
THEN
1472 1 nmn ,intbuf_tab(ng)%MSR ,itag ,itask ,intbuf_tab(ng)%IRECTM ,
1473 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod
1474 3 ixtg ,ixq ,iparg ,itagl ,
1475 4 nty ,newfront(ng) ,ixt ,ixp ,ixr ,
1476 5 geo ,1 ,itab ,itabm1 ,cnel ,
1478 7 ofr ,ofp ,nindex1(ng) ,ibufs(idbs+4),ind(idb),
1482 1 nsn ,intbuf_tab(ng)%NSV ,itag ,itask ,intbuf_tab(ng)%IRECTS,
1483 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1484 3 ixtg ,ixq ,iparg ,itagl ,
1485 4 nty ,newfront(ng) ,ixt ,ixp
1486 5 geo ,2 ,itab ,itabm1 ,cnel ,
1487 6 addcnel,ofc ,oft ,oftg ,ofur ,
1488 7 ofr ,ofp ,nindex2(ng) ,
1489 + ibufs(idbs+4+nindex1(ng)*inc), ind(idb+nindex1(ng)) ,
1492 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1497 ibufs(idbs+2)=nindex1(ng)
1498 ibufs(idbs+3)=nindex2(ng)
1501 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1502 idb = idb + nindex1(ng) + nindex2(ng)
1505 ELSEIF(nty == 21.AND.idel>=1)
THEN
1508 .
CALL chkslv3b(nsn,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask)
1510 ELSEIF(nty == 20.AND.idel>=1)
THEN
1513 . nsn ,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFA,itag,itask,
1514 . newfront(ng),intbuf_tab(ng)%NLG)
1520 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask
1521 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1522 3 ixtg ,ixq ,iparg ,itagl ,
1523 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1525 6 ibufs(idbs+4),ind(idb) ,intbuf_tab(ng)%NLG ,tagel)
1526 ELSEIF(idel == 2)
THEN
1528 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1530 3 ixtg ,ixq ,iparg ,itagl ,
1531 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1532 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1533 6 ibufs(idbs+4),ind(idb) ,intbuf_tab(ng)%NLG ,tagel)
1536 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1541 ibufs(idbs+2)=nindex1(ng)
1542 ibufs(idbs+3)=nindex2(ng)
1545 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1546 idb = idb + nindex1(ng) + nindex2(ng)
1551 nlinsa =ipari(53,ng)
1552 nlinma =ipari(54,ng)
1559 1 nmne ,intbuf_tab(ng)%MSRL,itag ,itask ,intbuf_tab(ng)%IXLINM ,
1560 2 nlinma ,intbuf_tab(ng)%STF,itag(numnod+1),ixs ,ixc
1561 3 ixtg ,ixq ,iparg ,itagl ,
1562 4 nty ,itab ,itabm1 ,newfront(ng),ixt ,
1563 5 ixp ,ixr ,geo ,1 ,cnel ,
1564 6 addcnel,ofc ,oft ,oftg ,ofur ,
1565 7 ofr ,ofp ,nindex3(ng) ,ibufs(idbs+4),ind(idb),
1566 8 intbuf_tab(ng)%NLG ,tagel)
1569 1 nsne ,intbuf_tab(ng)%NSVL,itag ,itask ,intbuf_tab(ng)%IXLINS,
1570 2 nlinsa ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1571 3 ixtg ,ixq ,iparg ,itagl ,
1573 5 ixp ,ixr ,geo ,2 ,cnel
1574 6 addcnel,ofc ,oft ,oftg ,ofur ,
1575 7 ofr ,ofp ,nindex4(ng) ,
1576 + ibufs(idbs+4+nindex3(ng)*inc), ind(idb+nindex3(ng)) ,
1577 8 intbuf_tab(ng)%NLG ,tagel)
1578 ELSEIF(idel == 2)
THEN
1581 1 nmne ,intbuf_tab(ng)%MSRL,itag ,itask ,intbuf_tab(ng)%IXLINM ,
1582 2 nlinma ,intbuf_tab(ng)%STF,itag(numnod+1),ixs ,ixc ,
1583 3 ixtg ,ixq ,iparg ,itagl ,
1584 4 nty ,newfront(ng) ,ixt ,ixp ,ixr ,
1585 5 geo ,1 ,itab ,itabm1 ,cnel ,
1586 6 addcnel,ofc ,oft ,oftg ,ofur ,
1587 7 ofr ,ofp ,nindex3(ng) ,ibufs(idbs+4),ind(idb),
1588 8 intbuf_tab(ng)%NLG ,tagel)
1591 1 nsne ,intbuf_tab(ng)%NSVL,itag ,itask ,intbuf_tab(ng)%IXLINS,
1592 2 nlinsa ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1593 3 ixtg ,ixq ,iparg ,itagl
1594 4 nty ,newfront(ng) ,ixt ,ixp ,ixr ,
1595 5 geo ,2 ,itab ,itabm1 ,cnel ,
1596 6 addcnel,ofc ,oft ,oftg ,ofur ,
1597 7 ofr ,ofp ,nindex4(ng) ,
1598 + ibufs(idbs+4+nindex3(ng)*inc), ind(idb+nindex3(ng)) ,
1599 8 intbuf_tab(ng)%NLG ,tagel)
1602 IF(nindex3(ng)+nindex4(ng) > 0)
THEN
1607 ibufs(idbs+2)=nindex3(ng)
1608 ibufs(idbs+3)=nindex4(ng)
1611 idbs = idbs + inc*(nindex3(ng)+nindex4(ng)) + 4
1612 idb = idb + nindex3(ng) + nindex4(ng)
1615 ELSEIF(nty == 3.AND.idel>=1)
THEN
1619 .
CALL chkslv3b(nsn,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask)
1622 .
CALL chkslv3b(nmn,intbuf_tab(ng)%MSR,intbuf_tab(ng)%STFNM,itag
1635 1 nsn ,intbuf_tab(ng)%NSV,itag ,itask,intbuf_tab(ng)%IRECTS,
1636 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1638 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1639 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1640 6 ibufs(idbs+4),ind(idb) ,tagel ,ng ,intbuf_tab(ng)%IRTLOS,
1641 7 intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1644 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1645 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1646 3 ixtg ,ixq ,iparg ,itagl ,
1647 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1648 5 ofc ,oft ,oftg ,ofur ,nindex2(ng) ,
1649 6 ibufs(idbs+4+nindex1(ng)*inc),ind(idb+nindex1(ng)),tagel ,
1650 7 ng ,intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo,ibufseglo )
1651 ELSEIF(idel == 2)
THEN
1654 1 nsn ,intbuf_tab(ng)%NSV,itag ,itask,intbuf_tab(ng)%IRECTS,
1655 2 nrts ,intbuf_tab(ng)%STFS,itag(numnod+1),ixs ,ixc ,
1656 3 ixtg ,ixq ,iparg ,itagl ,
1657 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1658 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1659 6 ibufs(idbs+4),ind(idb) ,tagel ,ng,
1660 7 intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1663 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1664 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1665 3 ixtg ,ixq ,iparg ,itagl ,
1666 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1667 5 ofc ,oft ,oftg ,ofur ,nindex2(ng) ,
1668 6 ibufs(idbs+4+nindex1(ng)*inc),ind(idb+nindex1(ng)),tagel ,ng,
1669 7 intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1671 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1676 ibufs(idbs+2)=nindex1(ng)
1677 ibufs(idbs+3)=nindex2(ng)
1680 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1681 idb = idb + nindex1(ng) + nindex2(ng)
1683 ELSEIF(nty == 5.AND.idel>=1)
THEN
1687 .
CALL chkslv3b(nsn,intbuf_tab(ng)%NSV,intbuf_tab(ng)%STFNS,itag,itask)
1697 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1698 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1699 3 ixtg ,ixq ,iparg ,itagl ,
1700 3 nty ,itab ,itabm1 ,cnel ,addcnel ,
1701 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1702 6 ibufs(idbs+4),ind(idb) ,tagel ,ng ,intbuf_tab(ng)%IRTLOS,
1703 7 intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo )
1704 ELSEIF(idel == 2)
THEN
1706 1 nmn ,intbuf_tab(ng)%MSR,itag ,itask,intbuf_tab(ng)%IRECTM,
1707 2 nrtm ,intbuf_tab(ng)%STFM,itag(numnod+1),ixs ,ixc ,
1708 3 ixtg ,ixq ,iparg ,itagl ,
1709 4 nty ,itab ,itabm1 ,cnel ,addcnel ,
1710 5 ofc ,oft ,oftg ,ofur ,nindex1(ng) ,
1711 6 ibufs(idbs+4),ind(idb) ,tagel ,ng,
1712 7 intbuf_tab(ng)%IRTLOS,intbuf_tab(ng)%ILOCM,indseglo ,ibufseglo)
1715 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1720 ibufs(idbs+2)=nindex1(ng)
1721 ibufs(idbs+3)=nindex2(ng)
1724 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1725 idb = idb + nindex1(ng) + nindex2(ng)
1727 ELSEIF (nty == 2 .AND. idel > 0)
THEN
1734 1 nsn ,intbuf_tab(ng)%NSV ,itag,itask,intbuf_tab(ng)%IRECTM,
1735 2 intbuf_tab(ng)%IRTLM,itag(numnod+1),ixs ,ixc ,ixtg ,
1736 3 ixq ,iparg ,itagl,ms ,
1737 4 in ,intbuf_tab(ng)%SMAS ,intbuf_tab(ng)%SINER,adm,cnel ,
1738 5 addcnel ,ofc ,oft ,oftg ,ofur ,
1740 ELSEIF (idel == 1)
THEN
1742 1 nsn ,intbuf_tab(ng)%NSV ,itag ,itask,intbuf_tab(ng)%IRECTM,
1743 2 intbuf_tab(ng)%IRTLM,itag(numnod+1),ixs ,ixc ,ixtg ,
1744 3 ixq ,iparg ,itagl,ms ,
1745 4 in ,intbuf_tab(ng)%SMAS ,intbuf_tab(ng)%SINER,adm,cnel
1746 5 addcnel ,ofc ,oft ,oftg ,ofur ,
1747 6 nindex1(ng) ,ibufs(idbs+4) ,ind(idb),tagel,itab ,
1752 IF (nspmd > 1 .AND. idel == 2)
THEN
1755 1 nsn ,intbuf_tab(ng)%NSV,itag ,itask ,intbuf_tab(ng)%IRECTM,
1756 2 intbuf_tab(ng)%IRTLM,itag(n1) ,ixs ,ixc ,ixtg ,
1757 3 ixq ,iparg ,itagl ,ms ,
1758 4 in,intbuf_tab(ng)%SMAS,intbuf_tab(ng)%SINER ,adm ,itab ,
1759 5 itabm1 ,cnel ,addcnel,ofc ,oft ,
1760 6 oftg ,ofur,nindex1(ng),ibufs(idbs+4),ind(idb) ,
1762 ELSEIF (idel == 2)
THEN
1766 IF(nindex1(ng)+nindex2(ng) > 0)
THEN
1771 ibufs(idbs+2)=nindex1(ng)
1772 ibufs(idbs+3)=nindex2(ng)
1775 idbs = idbs + inc*(nindex1(ng)+nindex2(ng)) + 4
1776 idb = idb + nindex1(ng) + nindex2(ng)
1794 1 ibufs ,idbs-1 ,ixs ,ixc ,ixtg ,
1795 2 ixq ,iparg ,itagl ,nodes,
1796 3 irsize ,irecv ,cnel ,addcnel,ofc ,
1797 4 oft ,oftg ,ofur ,ofr ,ofp ,
1798 5 idb-1 ,ixp ,ixr ,ixt ,geo ,
1804 IF(int24use==1.OR.ninter25/=0)
THEN
1805 ALLOCATE(indseglo_sav(ninter+1))
1806 siz=indseglo(ninter+1)-indseglo(1)
1807 ALLOCATE(ibufseglo_sav(siz))
1809 indseglo_sav(1:ninter+1)=indseglo(1:ninter+1)
1810 ibufseglo_sav(1:siz)=ibufseglo(1:siz)
1812 indseglo(1:ninter+1)=0
1822 IF(int24use==1.OR.ninter25/=0)
THEN
1823 indseglo(ng+1)=indseglo(ng)
1825 IF((nty==7.OR.nty==10.OR.nty==5.OR.nty==20.OR.nty==22
1826 + .OR.nty==23.OR.nty==24.OR.nty==25).AND.idel>=1)
THEN
1829 siz=indseglo_sav(ng+1)-indseglo_sav
1831 ibufseglo(indseglo(ng+1))=ibufseglo_sav(indseglo_sav(ng)+i-1)
1832 indseglo(ng+1)=indseglo(ng+1)+1
1836 1 intbuf_tab(ng)%STFM,nindex1(ng),ibufs(idb),ind(idb),nty,
1837 2 idel ,0, newfront(ng),ng,nrtm,
1838 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1839 idb = idb+nindex1(ng)
1840 ELSEIF((nty == 11).AND.idel>=1)
THEN
1843 1 intbuf_tab(ng)%STFM,nindex1(ng),ibufs(idb),ind(idb),nty,
1844 2 idel ,1, newfront(ng),ng,nrtm,
1845 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1846 idb = idb+nindex1(ng)
1849 1 intbuf_tab(ng)%STFS,nindex2(ng),ibufs(idb),ind(idb),nty,
1850 2 idel ,2, newfront(ng),ng,nrtm,
1851 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1852 idb = idb+nindex2(ng)
1853 ELSEIF(nty == 3.AND.idel>=1)
THEN
1856 1 intbuf_tab(ng)%STFS,nindex1(ng),ibufs(idb),ind(idb),nty,
1857 2 idel ,0, newfront(ng),ng,nrtm,
1858 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1859 idb = idb+nindex1(ng)
1862 1 intbuf_tab(ng)%STFM,nindex2(ng),ibufs(idb),ind(idb),nty,
1863 2 idel ,0, newfront(ng),ng,nrtm,
1864 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1865 idb = idb+nindex2(ng)
1866 ELSEIF(nty == 2.AND.idel/=0)
THEN
1868 1 nindex1(ng) ,ibufs(idb),ind(idb) ,intbuf_tab(ng)%NSV,ms,
1869 2 intbuf_tab(ng)%SMAS,in ,intbuf_tab(ng)%SINER,idel)
1870 idb = idb+nindex1(ng)
1876 IF(nty == 20.AND.idel>=1)
THEN
1879 1 intbuf_tab(ng)%STF,nindex3(ng),ibufs(idb),ind(idb),-nty,
1880 2 idel ,1, newfront(ng),ng,nrtm,
1881 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo,ibufseglo)
1882 idb = idb+nindex3(ng)
1885 1 intbuf_tab(ng)%STFS,nindex4(ng),ibufs(idb),ind(idb),-nty,
1886 2 idel ,2, newfront(ng),ng,nrtm,
1887 7 intbuf_tab(ng)%MSEGLO,intbuf_tab(ng)%MVOISIN,indseglo ,ibufseglo)
1888 idb = idb+nindex4(ng)
1893 IF(int24use > 0.OR.ninter25/=0)
THEN
1894 DEALLOCATE(indseglo_sav)
1895 DEALLOCATE(ibufseglo_sav