204 1 IXS ,IXQ ,IXC ,IXT ,IXP ,
205 2 IXR ,IXTG ,IXTG1 ,IXS10 ,IXS16 ,
206 3 IXS20 ,IPARG ,MS ,MS0 ,NODNX_SMS ,
207 4 ICODT ,ICODR ,KINET ,INDX1_SMS,
208 5 KAD_SMS ,IPARTS ,IPARTQ ,
209 6 IPARTC ,IPARTT ,IPARTP ,IPARTR ,IPARTUR ,
210 7 IPARTTG ,IPARTX ,TAGPRT_SMS,TAGREL_SMS,ITAB ,
211 8 WEIGHT ,IRBE2 ,IRBE3 ,LRBE2 ,LRBE3 ,
212 9 IAD_ELEM,FR_ELEM ,NPRW ,LPRW ,IPART ,
216 use element_mod ,
only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
220#include "implicit_f.inc"
224#include "com01_c.inc"
225#include "com04_c.inc"
226#include "param_c.inc"
227#include "scr17_c.inc"
233 . IXS(NIXS,*),IXS10(6,*) ,IXS16(6,*) ,IXS20(12,*),
234 . IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
235 . IXR(NIXR,*), IXTG(NIXTG,*), IXTG1(4,*),
237 . NODNX_SMS(*), ICODT(*), ICODR(*), KINET(*),
240 . IPARTS(*),IPARTQ(*),IPARTC(*),IPARTT(*),
241 . IPARTP(*),IPARTR(*),IPARTUR(*),IPARTTG(*),IPARTX(*),
242 . TAGPRT_SMS(*), TAGREL_SMS(*),
243 . ITAB(*), WEIGHT(*),
244 . irbe2(nrbe2l,*), irbe3(nrbe3l,*), lrbe2(*), lrbe3(*),
245 . iad_elem(2,nspmd+1) ,fr_elem(*), nprw(*), lprw(*),
246 . ipart(lipart1,*), igeo(npropgi,*), nativ_sms(*)
253 INTEGER I, J, K, NG, JJ, KK, ITY, NEL, NFT, ISOLNOD,
256 INTEGER , IPERM1(6), IPERM2(6),IPENTA6(6)
257 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS
258 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IWORK
260 DATA iperm1/1,2,3,1,2,3/
261 DATA iperm2/2,3,1,4,4,4/
262 DATA ipenta6/1,2,3,5,6,7/
264 CALL my_alloc(nad_sms,numnod)
265 CALL my_alloc(iwork,numnod)
273 tagrel_sms(1:ngroup)=0
279 isolnod = iparg(28,ng)
280 IF(ity==1.AND.isolnod==4)
THEN
286 jj = ixs(1+iloc4(kk),j)
287 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
289 nad_sms(i)=nad_sms(i)+1
296 ELSEIF(ity==1.AND.isolnod==6)
THEN
300 i=ixs(1+ipenta6(k),j)
302 jj = ixs(1+ipenta6(kk),j)
303 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
305 nad_sms(i)=nad_sms(i)+1
312 ELSEIF(ity==1.AND.isolnod==8)
THEN
337 IF(tag8(kk)/=0) cycle
339 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
341 nad_sms(i)=nad_sms(i)+1
348 ELSEIF(ity==1.AND.isolnod==10)
THEN
356 jj = ixs(1+iloc4(kk),j)
357 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
359 nad_sms(i)=nad_sms(i)+1
368 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
370 nad_sms(i)=nad_sms(i)+1
383 jj = ixs(1+iloc4(kk),j)
384 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
386 nad_sms(i)=nad_sms(i)+1
395 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
397 nad_sms(i)=nad_sms(i)+1
412 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
414 nad_sms(i)=nad_sms(i)+1
428 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
430 nad_sms(i)=nad_sms(i)+1
443 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
445 nad_sms(i)=nad_sms(i)+1
452 ig = ipart(2,ipartr(nft+1))
460 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
462 nad_sms(i)=nad_sms(i)+1
476 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
478 nad_sms(i)=nad_sms(i)+1
488 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
490 nad_sms(i)=nad_sms(i)+1
496 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
498 nad_sms(i)=nad_sms(i)+1
508 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
510 nad_sms(i)=nad_sms(i)+1
523 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
525 nad_sms(i)=nad_sms(i)+1
537 kad_sms(i+1)=kad_sms(i)+nad_sms(i)
613 2 IXC ,IPARG ,IXS ,IXT ,IXP ,
614 3 IXR ,IXTG ,IXS10 ,NODNX_SMS,KAD_SMS ,
615 4 KDI_SMS ,JADC_SMS,JADS_SMS ,JADS10_SMS,
616 5 JADT_SMS ,JADP_SMS,
617 6 JADR_SMS,JADTG_SMS,INDX1_SMS,TAGPRT_SMS,IAD_SMS ,
618 7 TAGREL_SMS,IPARTS ,IPARTQ ,IPARTC ,IPARTT ,
619 8 IPARTP ,IPARTR ,IPARTUR ,IPARTTG ,IPARTX ,
620 9 IAD_ELEM ,FR_ELEM,NPBY ,LPBY ,KINET ,
621 A TAGSLV_RBY_SMS,IPARI,INTBUF_TAB,IRECT ,
622 B LAD_SMS ,IPART ,IGEO ,WEIGHT ,
629 use element_mod ,
only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
633#include "implicit_f.inc"
634#include "comlock.inc"
638#include "com01_c.inc"
639#include "com04_c.inc"
640#include "param_c.inc"
643#include "scr17_c.inc"
648 . IPARG(NPARG,*), IXC(NIXC,*), IXS(NIXS,*), IXT(NIXT,*),
649 . IXP(NIXP,*), IXR(NIXR,*), IXTG(NIXTG,*), IXS10(6,*),
650 . NODNX_SMS(*), KAD_SMS(*), IAD_SMS(*),
652 . jads_sms(8,*), jads10_sms(6,*),
656 . jadtg_sms(3,*), nativ_sms(*),
657 . indx1_sms(*), tagprt_sms(*), tagrel_sms(*),
658 . iparts(*), ipartq(*), ipartc(*), ipartt(*),
659 . ipartp(*), ipartr(*), ipartur(*), iparttg(*), ipartx(*),
660 . iad_elem(2,nspmd+1) ,fr_elem(*),
661 . npby(nnpby,*), lpby(*), kinet(*), tagslv_rby_sms(*),
662 . ipari(npari,*), irect(4,*),
663 . lad_sms(*), kdi_sms(*),
664 . ipart(lipart1,*), igeo(npropgi,*), weight(*)
665 TYPE(intbuf_struct_) INTBUF_TAB(*)
669 INTEGER I, J, K, JJ, KK, IJ
670 INTEGER NG, ITY, NEL, NFT, ISOLNOD,ILOC4(4),
675 . N1, N2, N3, N4, LNEW, ILEV
676 INTEGER J1, IPERM1(6), IPERM2(6),IPENTA6(6)
679 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGA
680 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS
681 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGK
684 DATA IPERM1/1,2,3,1,2,3/
685 DATA IPERM2/2,3,1,4,4,4/
686 DATA IPENTA6/1,2,3,5,6,7/
688 CALL MY_ALLOC(TAGA,NUMNOD)
689 CALL MY_ALLOC(NAD_SMS,NUMNOD)
690 CALL my_alloc(tagk,numnod)
696 nad_sms(i)=kad_sms(i)
701 IF(nsgdone>ngroup)
THEN
702#include "lockoff.inc"
707#include "lockoff.inc"
709 IF(tagrel_sms(ng)==0)
GOTO 250
715 isolnod = iparg(28,ng)
716 IF(ity==1.AND.isolnod==4)
THEN
721 jads_sms(k,j)=nad_sms(i)
725 jj = ixs(1+iloc4(kk),j)
726 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
727 nad_sms(i)=nad_sms(i)+1
734 ELSEIF(ity==1.AND.isolnod==6)
THEN
738 i=ixs(1+ipenta6(k),j)
739 jads_sms(k,j)=nad_sms(i)
743 jj = ixs(1+ipenta6(kk),j)
744 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
745 nad_sms(i)=nad_sms(i)+1
752 ELSEIF(ity==1.AND.isolnod==8)
THEN
772 jads_sms(k,j)=nad_sms(i)
783 IF(tag8(kk)/=0) cycle
785 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
786 nad_sms(i)=nad_sms(i)+1
795 ELSEIF(ity==1.AND.isolnod==10)
THEN
802 jads_sms(k,j)=nad_sms(i)
806 jj = ixs(1+iloc4(kk),j)
807 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
808 nad_sms(i)=nad_sms(i)+1
818 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
819 nad_sms(i)=nad_sms(i)+1
833 jads10_sms(k,j1)=nad_sms(i)
837 jj = ixs(1+iloc4(kk),j)
838 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
839 nad_sms(i)=nad_sms(i)+1
849 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
850 nad_sms(i)=nad_sms(i)+1
864 jadc_sms(k,j)=nad_sms(i)
869 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
870 nad_sms(i)=nad_sms(i)+1
882 jadt_sms(k,j)=nad_sms(i)
887 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
888 nad_sms(i)=nad_sms(i)+1
900 jadp_sms(k,j)=nad_sms(i)
905 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
906 nad_sms(i)=nad_sms(i)+1
914 ig = ipart(2,ipartr(nft+1))
921 jadr_sms(k,j)=nad_sms(i)
926 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
927 nad_sms(i)=nad_sms(i)+1
938 jadr_sms(k,j)=nad_sms(i)
943 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
944 nad_sms(i)=nad_sms(i)+1
951 jadr_sms(k,j)=nad_sms(i)
956 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
957 nad_sms(i)=nad_sms(i)+1
964 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
965 nad_sms(i)=nad_sms(i)+1
972 jadr_sms(k,j)=nad_sms(i)
977 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
978 nad_sms(i)=nad_sms(i)+1
989 jadtg_sms(k,j)=nad_sms(i)
994 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
995 nad_sms(i)=nad_sms(i)+1
1013 DO kj=kad_sms(i),kad_sms(i+1)-1
1016 nodnx_sms(i)=nodnx_sms(i)+1
1020 DO kj=kad_sms(i),kad_sms(i+1)-1
1028 iad_sms(i+1)=iad_sms(i)+nodnx_sms(i)
1029 lad_sms(i) =nodnx_sms(i)
1032 nnz_sms = iad_sms(numnod+1)
1051 2 IXC ,IPARG ,IXS ,IXT ,IXP ,
1052 3 IXR ,IXTG ,IXS10 ,NODNX_SMS,JADC_SMS,
1053 4 JADS_SMS ,JADS10_SMS,JADT_SMS ,JADP_SMS,JADR_SMS ,
1054 5 JADTG_SMS,INDX1_SMS,TAGPRT_SMS,
1055 6 KAD_SMS,KDI_SMS ,PK_SMS ,
1056 7 TAGREL_SMS,IPARTS ,IPARTQ ,IPARTC ,IPARTT ,
1057 8 IPARTP ,IPARTR ,IPARTUR ,IPARTTG ,IPARTX ,
1058 9 IAD_ELEM ,FR_ELEM,NPBY ,LPBY ,KINET ,
1059 A TAGSLV_RBY_SMS,IPARI,INTBUF_TAB,IRECT ,
1060 B LAD_SMS ,IPART ,IGEO ,WEIGHT ,NATIV_SMS,
1061 C IAD_SMS ,IDI_SMS,JAD_SMS ,JDI_SMS ,T2MAIN_SMS)
1067 use element_mod ,
only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
1071#include "implicit_f.inc"
1072#include "comlock.inc"
1076#include "com01_c.inc"
1077#include "com04_c.inc"
1078#include "param_c.inc"
1080#include "scr17_c.inc"
1085 . IPARG(NPARG,*), IXC(NIXC,*), IXS(NIXS,*), IXT(NIXT,*),
1086 . ixp(nixp,*), ixr(nixr,*), ixtg(nixtg,*), ixs10(6,*),
1087 . nodnx_sms(*), kad_sms(*), kdi_sms(*), pk_sms(*),
1088 . iad_sms(*), idi_sms(*), jad_sms(*), jdi_sms(*),
1090 . jads_sms(8,*), jads10_sms(6,*),
1094 . jadtg_sms(3,*),nativ_sms(*),
1095 . indx1_sms(*), tagprt_sms(*), tagrel_sms(*),
1096 . iparts(*), ipartq(*), ipartc(*), ipartt(*),
1097 . ipartp(*), ipartr(*), ipartur(*), iparttg(*), ipartx(*),
1098 . iad_elem(2,nspmd+1) ,fr_elem(*),
1099 . npby(nnpby,*), lpby(*), kinet(*), tagslv_rby_sms(*),
1100 . ipari(npari,*), irect(4,*),
1102 . ipart(lipart1,*), igeo(npropgi,*), weight(*),t2main_sms(6,*)
1103 TYPE(intbuf_struct_) INTBUF_TAB(*)
1107 INTEGER I, J, K, KK, II, N
1111 . N1, N2, N3, N4, ILEV
1112 INTEGER IK, NK, IKK,(70000)
1113 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS
1114 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGK
1115 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITRI
1116 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEX1
1117 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEX2
1119 CALL MY_ALLOC(NAD_SMS,)
1120 CALL my_alloc(tagk,numnod)
1121 CALL my_alloc(itri,numnod)
1122 CALL my_alloc(index1,2*numnod)
1123 CALL my_alloc(index2,numnod)
1133 DO kj=kad_sms(i),kad_sms(i+1)-1
1136 idi_sms(iad_sms(i)+nk)=ik
1145 itri(ik) =idi_sms(kj)
1148 IF(nk/=0)
CALL my_orders(0,work,itri,index1,nk,1)
1151 idi_sms(kj)=itri(index1(ik))
1159 DO kj=kad_sms(i),kad_sms(i+1)-1
1161 pk_sms(kj)= index2(tagk(ik))
1164 DO kj=kad_sms(i),kad_sms(i+1)-1
1172 jad_sms(i)=iad_sms(i)
1175 DO kj=iad_sms(i),iad_sms(i+1)-1
1176 jdi_sms(kj)=idi_sms(kj)
1200 IF(nty==2 .AND. ilagm==0 .AND.ilev/=25 .and. ilev/=26.AND. ilev/=27 .and. ilev/=28)
THEN
1202 i=abs(intbuf_tab(n)%NSV(ii))
1203 l=intbuf_tab(n)%IRTLM(ii)
1204 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1205 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1206 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1207 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1209 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1210 . .AND.nativ_sms(n2)==0
1211 . .AND.nativ_sms(n3)==0
1212 . .AND.nativ_sms(n4)==0) cycle
1215 t2main_sms(2,i) = n1
1216 t2main_sms(3,i) = n2
1217 t2main_sms(4,i) = n3
1218 t2main_sms(5,i) = n4
1220 ELSEIF(nty==2 .AND. ilagm==0 .AND.(ilev==27.or.ilev==28))
THEN
1222 i=abs(intbuf_tab(n)%NSV(ii))
1223 IF (intbuf_tab(n)%IRUPT(ii)==0)
THEN
1225 l=intbuf_tab(n)%IRTLM(ii)
1226 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1227 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1228 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1229 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1231 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1232 . .AND.nativ_sms(n2)==0
1233 . .AND.nativ_sms(n3)==0
1234 . .AND.nativ_sms(n4)==0) cycle
1237 t2main_sms(2,i) = n1
1238 t2main_sms(3,i) = n2
1239 t2main_sms(4,i) = n3
1240 t2main_sms(5,i) = n4
1250 IF(nty==2 .AND. ilagm==0 .AND.ilev/=25 .and. ilev/=26.AND. ilev/=27 .and. ilev/=28)
THEN
1253 i=abs(intbuf_tab(n)%NSV(ii))
1254 l=intbuf_tab(n)%IRTLM(ii)
1255 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1256 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1257 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1258 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1260 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1261 . .AND.nativ_sms(n2)==0
1262 . .AND.nativ_sms(n3)==0
1263 . .AND.nativ_sms(n4)==0) cycle
1265 DO kj=jad_sms(i),jad_sms(i)+lad_sms(i)-1
1267 nodnx_sms(j) =nodnx_sms(j) +4
1268 nodnx_sms(n1)=nodnx_sms(n1)+1
1269 nodnx_sms(n2)=nodnx_sms(n2)+1
1270 nodnx_sms(n3)=nodnx_sms(n3)+1
1271 nodnx_sms(n4)=nodnx_sms(n4)+1
1272 nnz_sms = nnz_sms + 8
1274 IF ((t2main_sms(1,j) > 1).AND.(i > j))
THEN
1277 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1278 nodnx_sms(t2main_sms(k,i))=nodnx_sms(t2main_sms(k,i))+1
1279 nodnx_sms(t2main_sms(kk,j))=nodnx_sms(t2main_sms(kk,j))+1
1280 nnz_sms = nnz_sms + 2
1287 ELSEIF(nty==2 .AND. ilagm==0 .AND.(ilev==25.or.ilev==26))
THEN
1290 i=abs(intbuf_tab(n)%NSV(ii))
1292 IF(weight(i)/=1)cycle
1294 l=intbuf_tab(n)%IRTLM(ii)
1295 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1296 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1297 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1298 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1300 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1301 . .AND.nativ_sms(n2)==0
1302 . .AND.nativ_sms(n3)==0
1303 . .AND.nativ_sms(n4)==0) cycle
1305 nodnx_sms(i) =nodnx_sms(i) +4
1306 nodnx_sms(n1)=nodnx_sms(n1)+1
1307 nodnx_sms(n2)=nodnx_sms(n2)+1
1308 nodnx_sms(n3)=nodnx_sms(n3)+1
1309 nodnx_sms(n4)=nodnx_sms(n4)+1
1310 nnz_sms = nnz_sms + 8
1312 ELSEIF(nty==2 .AND. ilagm==0 .AND.(ilev==27.or.ilev==28))
THEN
1315 i=abs(intbuf_tab(n)%NSV(ii))
1316 IF (intbuf_tab(n)%IRUPT(ii)==0)
THEN
1318 l=intbuf_tab(n)%IRTLM(ii)
1319 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1320 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1321 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1322 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1324 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1325 . .AND.nativ_sms(n2)==0
1326 . .AND.nativ_sms(n3)==0
1327 . .AND.nativ_sms(n4)==0) cycle
1329 DO kj=jad_sms(i),jad_sms(i)+lad_sms(i)-1
1331 nodnx_sms(j) =nodnx_sms(j) +4
1332 nodnx_sms(n1)=nodnx_sms(n1)+1
1333 nodnx_sms(n2)=nodnx_sms(n2)+1
1334 nodnx_sms(n3)=nodnx_sms(n3)+1
1335 nodnx_sms(n4)=nodnx_sms(n4)+1
1336 nnz_sms = nnz_sms + 8
1338 IF ((t2main_sms(1,j) > 1).AND.(i > j))
THEN
1341 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1342 nodnx_sms(t2main_sms(k,i))=nodnx_sms(t2main_sms(k,i))+1
1343 nodnx_sms(t2main_sms(kk,j))=nodnx_sms(t2main_sms(kk,j))+1
1344 nnz_sms = nnz_sms + 2
1352 IF(weight(i)/=1)cycle
1353 l=intbuf_tab(n)%IRTLM(ii)
1354 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1355 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1356 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1357 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1359 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1360 . .AND.nativ_sms(n2)==0
1361 . .AND.nativ_sms(n3)==0
1362 . .AND.nativ_sms(n4)==0) cycle
1364 nodnx_sms(i) =nodnx_sms(i) +4
1365 nodnx_sms(n1)=nodnx_sms(n1)+1
1366 nodnx_sms(n2)=nodnx_sms(n2)+1
1367 nodnx_sms(n3)=nodnx_sms(n3)+1
1368 nodnx_sms(n4)=nodnx_sms(n4)+1
1369 nnz_sms = nnz_sms + 8
1378 jad_sms(i+1)=jad_sms(i)+nodnx_sms(i)
1401 2 IXC ,IPARG ,IXS ,IXT ,IXP ,
1402 3 IXR ,IXTG ,IXS10 ,NODNX_SMS,JADC_SMS,
1403 4 JADS_SMS ,JADS10_SMS,JADT_SMS ,JADP_SMS,JADR_SMS ,
1404 5 JADTG_SMS,INDX1_SMS,TAGPRT_SMS,KAD_SMS,KDI_SMS ,
1405 6 TAGREL_SMS,IPARTS ,IPARTQ ,IPARTC ,IPARTT ,
1406 7 IPARTP ,IPARTR ,IPARTUR ,IPARTTG ,IPARTX ,
1407 8 IAD_ELEM ,FR_ELEM,NPBY ,LPBY ,KINET ,
1408 9 TAGSLV_RBY_SMS,IPARI,INTBUF_TAB,IRECT ,
1409 A LAD_SMS ,NPRW ,LPRW,TAGMSR_RBY_SMS,
1410 B TAGSLV_I21_SMS ,TAGMSR_I21_SMS,JADI21_SMS,INTSTAMP ,
1412 C IGEO ,WEIGHT ,NATIV_SMS,IRBE2 ,LRBE2 ,
1413 B IAD_SMS ,IDI_SMS ,JAD_SMS ,JDI_SMS ,T2MAIN_SMS)
1421 use element_mod ,
only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
1425#include "implicit_f.inc"
1426#include "comlock.inc"
1430#include "com01_c.inc"
1431#include "com04_c.inc"
1432#include "param_c.inc"
1434#include "scr17_c.inc"
1439 . IPARG(NPARG,*), IXC(NIXC,*), IXS(NIXS,*), IXT(NIXT,*),
1440 . IXP(NIXP,*), IXR(NIXR,*), IXTG(NIXTG,*), IXS10(6,*),
1441 . NODNX_SMS(*), KAD_SMS(*), KDI_SMS(*),
1442 . (*), IDI_SMS(*), JAD_SMS(*), JDI_SMS(*),
1444 . JADS_SMS(8,*), JADS10_SMS(6,*),
1449 . indx1_sms(*), tagprt_sms(*), tagrel_sms(*),
1450 . iparts(*), ipartq(*), ipartc(*), ipartt(*),
1451 . ipartp(*), ipartr(*), ipartur(*), iparttg(*), ipartx(*),
1452 . iad_elem(2,nspmd+1) ,fr_elem(*),
1453 . npby(nnpby,*), lpby(*), kinet(*), tagslv_rby_sms(*),
1454 . ipari(npari,*), irect(4,*),
1456 . nprw(*), lprw(*), tagmsr_rby_sms(*),
1457 . tagslv_i21_sms(*), tagmsr_i21_sms(*), jadi21_sms(*),
1458 . ipart(lipart1,*), igeo(npropgi,*), weight(*), nativ_sms(*),
1459 . irbe2(nrbe2l,*), lrbe2(*), t2main_sms(6,*)
1462 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
1466 INTEGER I, J, K, KK, II, N,
1472 . N1, N2, N3, N4, N5, N6, ISMS,
1475 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS
1477 CALL MY_ALLOC(NAD_SMS,NUMNOD)
1485 DO kj=iad_sms(i),iad_sms(i+1)-1
1487 jdi_sms(jad_sms(i)+ik)=idi_sms(kj)
1494 nad_sms(i)=jad_sms(i)+lad_sms(i)
1502 IF(nty==2 .AND. ilagm==0 .AND.ilev/=25 .and. ilev/=26 .AND.ilev/=27 .and. ilev/=28)
THEN
1506 i=abs(intbuf_tab(n)%NSV(ii))
1507 l=intbuf_tab(n)%IRTLM(ii)
1508 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1509 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1510 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1511 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1513 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1514 . .AND.nativ_sms(n2)==0
1515 . .AND.nativ_sms(n3)==0
1516 . .AND.nativ_sms(n4)==0) cycle
1518 DO kj=jad_sms(i),jad_sms(i)+lad_sms(i)-1
1521 jdi_sms(nad_sms(n1))=j
1522 nad_sms(n1)=nad_sms(n1)+1
1523 jdi_sms(nad_sms(j))=n1
1524 nad_sms(j)=nad_sms(j)+1
1526 jdi_sms(nad_sms(n2))=j
1527 nad_sms(n2)=nad_sms(n2)+1
1528 jdi_sms(nad_sms(j))=n2
1529 nad_sms(j)=nad_sms(j)+1
1531 jdi_sms(nad_sms(n3))=j
1532 nad_sms(n3)=nad_sms(n3)+1
1533 jdi_sms(nad_sms(j))=n3
1534 nad_sms(j)=nad_sms(j)+1
1536 jdi_sms(nad_sms(n4))=j
1537 nad_sms(n4)=nad_sms(n4)+1
1538 jdi_sms(nad_sms(j))=n4
1539 nad_sms(j)=nad_sms(j)+1
1542 IF ((t2main_sms(1,j) > 1).AND.(i > j))
THEN
1545 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1546 jdi_sms(nad_sms(t2main_sms(k,i)))=t2main_sms(kk,j)
1547 nad_sms(t2main_sms(k,i))=nad_sms(t2main_sms(k,i))+1
1548 jdi_sms(nad_sms(t2main_sms(kk,j)))=t2main_sms(k,i)
1549 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
1557 ELSEIF(nty==2.AND.ilagm==0.AND.(ilev==25.or.ilev==26))
THEN
1560 i=abs(intbuf_tab(n)%NSV(ii))
1562 IF(weight(i)/=1)cycle
1564 l=intbuf_tab(n)%IRTLM(ii)
1565 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1566 n2 = intbuf_tab(n)%IRECTM(4*(l
1567 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1568 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1570 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1571 . .AND.nativ_sms(n2)==0
1572 . .AND.nativ_sms(n3)==0
1573 . .AND.nativ_sms(n4)==0) cycle
1575 jdi_sms(nad_sms(n1))=i
1576 nad_sms(n1)=nad_sms(n1)+1
1577 jdi_sms(nad_sms(i))=n1
1578 nad_sms(i)=nad_sms(i)+1
1580 jdi_sms(nad_sms(n2))=i
1581 nad_sms(n2)=nad_sms(n2)+1
1582 jdi_sms(nad_sms(i))=n2
1583 nad_sms(i)=nad_sms(i)+1
1585 jdi_sms(nad_sms(n3))=i
1586 nad_sms(n3)=nad_sms(n3)+1
1587 jdi_sms(nad_sms(i))=n3
1588 nad_sms(i)=nad_sms(i)+1
1590 jdi_sms(nad_sms(n4))=i
1591 nad_sms(n4)=nad_sms(n4)+1
1592 jdi_sms(nad_sms(i))=n4
1593 nad_sms(i)=nad_sms(i)+1
1596 ELSEIF(nty==2.AND.ilagm==0.AND.(ilev==27.or.ilev==28))
THEN
1600 i=abs(intbuf_tab(n)%NSV(ii))
1601 IF (intbuf_tab(n)%IRUPT(ii)==0)
THEN
1603 l=intbuf_tab(n)%IRTLM(ii)
1604 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1605 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1606 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1607 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1609 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1610 . .AND.nativ_sms(n2)==0
1611 . .AND.nativ_sms(n3)==0
1612 . .AND.nativ_sms(n4)==0) cycle
1614 DO kj=jad_sms(i),jad_sms(i)+lad_sms(i)-1
1617 jdi_sms(nad_sms(n1))=j
1618 nad_sms(n1)=nad_sms(n1)+1
1619 jdi_sms(nad_sms(j))=n1
1620 nad_sms(j)=nad_sms(j)+1
1622 jdi_sms(nad_sms(n2))=j
1623 nad_sms(n2)=nad_sms(n2)+1
1624 jdi_sms(nad_sms(j))=n2
1625 nad_sms(j)=nad_sms(j)+1
1627 jdi_sms(nad_sms(n3))=j
1628 nad_sms(n3)=nad_sms(n3)+1
1629 jdi_sms(nad_sms(j))=n3
1630 nad_sms(j)=nad_sms(j)+1
1632 jdi_sms(nad_sms(n4))=j
1633 nad_sms(n4)=nad_sms(n4)+1
1634 jdi_sms(nad_sms(j))=n4
1635 nad_sms(j)=nad_sms(j)+1
1638 IF ((t2main_sms(1,j) > 1).AND.(i > j))
THEN
1641 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1642 jdi_sms(nad_sms(t2main_sms(k,i)))=t2main_sms(kk,j)
1643 nad_sms(t2main_sms(k,i))=nad_sms(t2main_sms(k,i))+1
1644 jdi_sms(nad_sms(t2main_sms(kk,j)))=t2main_sms(k,i)
1645 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
1655 IF(weight(i)/=1)cycle
1656 l=intbuf_tab(n)%IRTLM(ii)
1657 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1658 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1659 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1660 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1662 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1663 . .AND.nativ_sms(n2)==0
1664 . .AND.nativ_sms(n3)==0
1665 . .AND.nativ_sms(n4)==0) cycle
1667 jdi_sms(nad_sms(n1))=i
1668 nad_sms(n1)=nad_sms(n1)+1
1669 jdi_sms(nad_sms(i))=n1
1670 nad_sms(i)=nad_sms(i)+1
1672 jdi_sms(nad_sms(n2))=i
1673 nad_sms(n2)=nad_sms(n2)+1
1674 jdi_sms(nad_sms(i))=n2
1675 nad_sms(i)=nad_sms(i)+1
1677 jdi_sms(nad_sms(n3))=i
1678 nad_sms(n3)=nad_sms(n3)+1
1679 jdi_sms(nad_sms(i))=n3
1680 nad_sms(i)=nad_sms(i)+1
1682 jdi_sms(nad_sms(n4))=i
1683 nad_sms(n4)=nad_sms(n4)+1
1684 jdi_sms(nad_sms(i))=n4
1685 nad_sms(i)=nad_sms(i)+1
1695 nodnx_sms(i)=nad_sms(i)-jad_sms(i)
1696 nnz_sms=nnz_sms+nodnx_sms(i)
1702 jad_sms(i+1)=jad_sms(i)+nodnx_sms(i)
1725 2 IXC ,IPARG ,IXS ,IXT ,IXP ,
1726 3 IXR ,IXTG ,IXS10 ,NODNX_SMS,JADC_SMS,
1727 4 JADS_SMS ,JADS10_SMS,JADT_SMS ,JADP_SMS,JADR_SMS ,
1728 5 JADTG_SMS ,INDX1_SMS,TAGPRT_SMS,KAD_SMS,KDI_SMS ,
1729 6 TAGREL_SMS,IPARTS ,IPARTQ ,IPARTC ,IPARTT ,
1730 7 IPARTP ,IPARTR ,IPARTUR ,IPARTTG ,IPARTX ,
1731 8 IAD_ELEM ,FR_ELEM,NPBY ,LPBY ,KINET ,
1732 9 TAGSLV_RBY_SMS,IPARI,INTBUF_TAB,IRECT ,
1733 A LAD_SMS ,JSM_SMS ,TAGSLV_I21_SMS ,INTSTAMP ,
1735 B IGEO ,TAGMSR_RBY_SMS,WEIGHT,NATIV_SMS,
1736 C IAD_SMS ,IDI_SMS ,JAD_SMS ,JDI_SMS ,T2MAIN_SMS)
1744 use element_mod ,
only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
1748#include
"implicit_f.inc"
1749#include "comlock.inc"
1753#include "com01_c.inc"
1754#include "com04_c.inc"
1755#include "param_c.inc"
1757#include "scr17_c.inc"
1762 . iparg(nparg,*), ixc(nixc,*), ixs(nixs,*), ixt(nixt,*),
1763 . ixp(nixp,*), ixr(nixr,*), ixtg(nixtg,*), ixs10(6,*),
1764 . nodnx_sms(*), kad_sms(*), kdi_sms(*),
1765 . iad_sms(*), idi_sms(*), jad_sms(*), jdi_sms(*),
1767 . jads_sms(8,*), jads10_sms(6,*),
1771 . jadtg_sms(3,*),nativ_sms(*),
1772 . indx1_sms(*), tagprt_sms(*), tagrel_sms(*),
1774 . ipartp(*), ipartr(*), ipartur
1775 . iad_elem(2,nspmd+1) ,fr_elem(*),
1776 . npby(nnpby,*), lpby(*), kinet(*), tagslv_rby_sms(*),
1777 . ipari(npari,*), irect(4,*),
1778 . lad_sms(*), jsm_sms(*),
1779 . tagslv_i21_sms(*),
1780 . ipart(lipart1,*), igeo(npropgi,*), tagmsr_rby_sms(*),
1781 . weight(*),t2main_sms(6,*)
1783 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
1787 INTEGER I, J, K, KK, II, IJ, N
1789 INTEGER SIZE, LENR, L
1790 INTEGER NTY, ILAGM, K10, K11, K12, K13, K14, JI,
1794 INTEGER IK, K1, K2, KM
1795 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS
1796 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS_0
1798 CALL MY_ALLOC(NAD_SMS,NUMNOD)
1799 CALL MY_ALLOC(NAD_SMS_0,NUMNOD)
1807 DO kj=iad_sms(i),iad_sms(i+1)-1
1809 jdi_sms(jad_sms(i)+ik)=idi_sms(kj)
1817 DO kj=jad_sms(i),jad_sms(i)+lad_sms(i)-1
1823 k2=jad_sms(j)+lad_sms(j)-1
1826 IF(jdi_sms(k1) == i)
THEN
1830 ELSEIF(jdi_sms(k2) == i)
THEN
1834 ELSEIF(jdi_sms(km) == i)
THEN
1838 ELSEIF(jdi_sms(km) < i)
THEN
1841 ELSE ! jdi_sms(km) > i
1845 WRITE(6,*)
' ** internal error in AMS initialization'
1852 nad_sms(i)=jad_sms(i)+lad_sms(i)
1863 IF(nty==2 .AND. ilagm==0 .AND.ilev/=25 .and. ilev/=26.AND.ilev/=27 .and. ilev/=28)
THEN
1867 i=abs(intbuf_tab(n)%NSV(ii))
1868 IF(nodnx_sms(i)/=0) lsmspcg=lsmspcg-1
1870 l=intbuf_tab(n)%IRTLM(ii)
1871 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1872 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1873 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1874 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1876 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1877 . .AND.nativ_sms(n2)==0
1878 . .AND.nativ_sms(n3)==0
1879 . .AND.nativ_sms(n4)==0) cycle
1881 DO kj=jad_sms(i),jad_sms(i)+lad_sms(i)-1
1884 jsm_sms(nad_sms(n1))=nad_sms(j)
1885 jsm_sms(nad_sms(j)) =nad_sms(n1)
1886 jdi_sms(nad_sms(n1))=j
1887 nad_sms(n1)=nad_sms(n1)+1
1888 jdi_sms(nad_sms(j))=n1
1889 nad_sms(j)=nad_sms(j)+1
1891 jsm_sms(nad_sms(n2))=nad_sms(j)
1892 jsm_sms(nad_sms(j)) =nad_sms(n2)
1893 jdi_sms(nad_sms(n2))=j
1894 nad_sms(n2)=nad_sms(n2)+1
1895 jdi_sms(nad_sms(j))=n2
1896 nad_sms(j)=nad_sms(j)+1
1898 jsm_sms(nad_sms(n3))=nad_sms(j)
1899 jsm_sms(nad_sms(j)) =nad_sms(n3)
1900 jdi_sms(nad_sms(n3))=j
1901 nad_sms(n3)=nad_sms(n3)+1
1902 jdi_sms(nad_sms(j))=n3
1903 nad_sms(j)=nad_sms(j)+1
1905 jsm_sms(nad_sms(n4))=nad_sms(j)
1906 jsm_sms(nad_sms(j)) =nad_sms(n4)
1907 jdi_sms(nad_sms(n4))=j
1908 nad_sms(n4)=nad_sms(n4)+1
1909 jdi_sms(nad_sms(j))=n4
1910 nad_sms(j)=nad_sms(j)+1
1913 IF ((t2main_sms(1,j) > 1).AND.(i > j))
THEN
1916 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1917 jsm_sms(nad_sms(t2main_sms(k,i)))=nad_sms(t2main_sms(kk,j))
1918 jsm_sms(nad_sms(t2main_sms(kk,j)))=nad_sms(t2main_sms(k,i))
1919 jdi_sms(nad_sms(t2main_sms(k,i)))=t2main_sms(kk,j)
1920 nad_sms(t2main_sms(k,i))=nad_sms(t2main_sms(k,i))+1
1921 jdi_sms(nad_sms(t2main_sms(kk,j)))=t2main_sms(k,i)
1922 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
1930 ELSEIF(nty==2.AND.ilagm==0.AND.(ilev==25.or.ilev==26))
THEN
1932 k11=k10+4*ipari(3,n)
1933 k12=k11+4*ipari(4,n)
1938 i=abs(intbuf_tab(n)%NSV(ii))
1940 IF(weight(i)/=1)cycle
1942 l=intbuf_tab(n)%IRTLM(ii)
1943 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1944 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1945 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1946 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1948 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1949 . .AND.nativ_sms(n2)==0
1950 . .AND.nativ_sms(n3)==0
1951 . .AND.nativ_sms(n4)==0) cycle
1953 jsm_sms(nad_sms(n1))=nad_sms(i)
1954 jsm_sms(nad_sms(i)) =nad_sms(n1)
1955 jdi_sms(nad_sms(n1))=i
1956 nad_sms(n1)=nad_sms(n1)+1
1957 jdi_sms(nad_sms(i))=n1
1958 nad_sms(i)=nad_sms(i)+1
1960 jsm_sms(nad_sms(n2))=nad_sms(i)
1961 jsm_sms(nad_sms(i)) =nad_sms(n2)
1962 jdi_sms(nad_sms(n2))=i
1963 nad_sms(n2)=nad_sms(n2)+1
1964 jdi_sms(nad_sms(i))=n2
1965 nad_sms(i)=nad_sms(i)+1
1967 jsm_sms(nad_sms(n3))=nad_sms(i)
1968 jsm_sms(nad_sms(i)) =nad_sms(n3)
1969 jdi_sms(nad_sms(n3))=i
1970 nad_sms(n3)=nad_sms(n3)+1
1971 jdi_sms(nad_sms(i))=n3
1972 nad_sms(i)=nad_sms(i)+1
1974 jsm_sms(nad_sms(n4))=nad_sms(i)
1975 jsm_sms(nad_sms(i)) =nad_sms(n4)
1976 jdi_sms(nad_sms(n4))=i
1977 nad_sms(n4)=nad_sms(n4)+1
1978 jdi_sms(nad_sms(i))=n4
1979 nad_sms(i)=nad_sms(i)+1
1981 ELSEIF(nty==2.AND.ilagm==0.AND.(ilev==27.or.ilev==28))
THEN
1985 i=abs(intbuf_tab(n)%NSV(ii))
1986 IF (intbuf_tab(n)%IRUPT(ii)==0)
THEN
1988 IF(nodnx_sms(i)/=0) lsmspcg=lsmspcg-1
1990 l=intbuf_tab(n)%IRTLM(ii)
1991 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1992 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1993 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1994 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1996 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1997 . .AND.nativ_sms(n2)==0
1998 . .AND.nativ_sms(n3)==0
1999 . .AND.nativ_sms(n4)==0) cycle
2001 DO kj=jad_sms(i),jad_sms(i)+lad_sms(i)-1
2004 jsm_sms(nad_sms(n1))=nad_sms(j)
2005 jsm_sms(nad_sms(j)) =nad_sms(n1)
2006 jdi_sms(nad_sms(n1))=j
2007 nad_sms(n1)=nad_sms(n1)+1
2008 jdi_sms(nad_sms(j))=n1
2009 nad_sms(j)=nad_sms(j)+1
2011 jsm_sms(nad_sms(n2))=nad_sms(j)
2012 jsm_sms(nad_sms(j)) =nad_sms(n2)
2013 jdi_sms(nad_sms(n2))=j
2014 nad_sms(n2)=nad_sms(n2)+1
2015 jdi_sms(nad_sms(j))=n2
2016 nad_sms(j)=nad_sms(j)+1
2018 jsm_sms(nad_sms(n3))=nad_sms(j)
2019 jsm_sms(nad_sms(j)) =nad_sms(n3)
2020 jdi_sms(nad_sms(n3))=j
2021 nad_sms(n3)=nad_sms(n3)+1
2022 jdi_sms(nad_sms(j))=n3
2023 nad_sms(j)=nad_sms(j)+1
2025 jsm_sms(nad_sms(n4))=nad_sms(j)
2026 jsm_sms(nad_sms(j)) =nad_sms(n4)
2027 jdi_sms(nad_sms(n4))=j
2028 nad_sms(n4)=nad_sms(n4)+1
2029 jdi_sms(nad_sms(j))=n4
2030 nad_sms(j)=nad_sms(j)+1
2033 IF ((t2main_sms(1,j) > 1).AND.(i > j))
THEN
2036 IF (t2main_sms(k,i)/=t2main_sms(kk,j
THEN
2037 jsm_sms(nad_sms(t2main_sms(k,i)))=nad_sms(t2main_sms(kk,j))
2038 jsm_sms(nad_sms(t2main_sms(kk,j)))=nad_sms(t2main_sms(k,i))
2039 jdi_sms(nad_sms(t2main_sms(k,i)))=t2main_sms(kk,j)
2040 nad_sms(t2main_sms(k,i))=nad_sms(t2main_sms(k,i))+1
2041 jdi_sms(nad_sms(t2main_sms(kk,j)))=t2main_sms(k,i)
2042 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
2051 IF(weight(i)/=1)cycle
2053 l=intbuf_tab(n)%IRTLM(ii)
2054 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
2055 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
2056 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
2057 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
2059 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
2060 . .AND.nativ_sms(n2)==0
2061 . .AND.nativ_sms(n3)==0
2062 . .AND.nativ_sms(n4)==0) cycle
2064 jsm_sms(nad_sms(n1))=nad_sms(i)
2065 jsm_sms(nad_sms(i)) =nad_sms(n1)
2066 jdi_sms(nad_sms(n1))=i
2067 nad_sms(n1)=nad_sms(n1)+1
2068 jdi_sms(nad_sms(i))=n1
2069 nad_sms(i)=nad_sms(i)+1
2071 jsm_sms(nad_sms(n2))=nad_sms(i)
2072 jsm_sms(nad_sms(i)) =nad_sms(n2)
2073 jdi_sms(nad_sms(n2))=i
2074 nad_sms(n2)=nad_sms(n2)+1
2075 jdi_sms(nad_sms(i))=n2
2076 nad_sms(i)=nad_sms(i)+1
2078 jsm_sms(nad_sms(n3))=nad_sms(i)
2079 jsm_sms(nad_sms(i)) =nad_sms(n3)
2080 jdi_sms(nad_sms(n3))=i
2081 nad_sms(n3)=nad_sms(n3)+1
2082 jdi_sms(nad_sms(i))=n3
2083 nad_sms(i)=nad_sms(i)+1
2085 jsm_sms(nad_sms(n4))=nad_sms(i)
2086 jsm_sms(nad_sms(i)) =nad_sms(n4)
2087 jdi_sms(nad_sms(n4))=i
2088 nad_sms(n4)=nad_sms(n4)+1
2089 jdi_sms(nad_sms(i))=n4
2090 nad_sms(i)=nad_sms(i)+1
2097 nad_sms_0(i)=nad_sms(i)
2101 lad_sms(i)=jad_sms(i) + lad_sms(i) - 1
2113 DO ij=jad_sms(i),jad_sms(i+1)-1
2117 IF (ij/=jsm_sms(ji)) error = 1
2123 CALL ancmsg(msgid=273,anmode=aninfo)
2131 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2140 IF(nodnx_sms(i)/=0)
THEN
2141 nindx1_sms=nindx1_sms+1
2142 indx1_sms(nindx1_sms)=i
2145 lsmspcg=lsmspcg+nindx1_sms
2148 nsmspcg=
min(nsmspcg,3*lsmspcg)
2155 DO ij=jad_sms(i),jad_sms(i+1)-1
2159 IF (ij/=jsm_sms(ji)) error = 1
2165 CALL ancmsg(msgid=273,anmode=aninfo)
2170 DEALLOCATE(nad_sms_0)
2187 1 NODNX_SMS ,INDX1_SMS ,ILINK ,RLINK ,NNLINK ,
2188 2 LNLINK ,TAG_LNK_SMS,FR_LL ,FR_RL ,WEIGHT ,
2189 3 ITAB ,LJOINT ,IADCJ ,FR_CJ ,NPRW ,
2190 4 LPRW ,FR_WALL ,NRWL_SMS ,IAD_ELEM ,FR_ELEM ,
2200#include "implicit_f.inc"
2204#include "com01_c.inc"
2205#include "com04_c.inc"
2206#include "scr03_c.inc"
2208#include "task_c.inc"
2213 . NODNX_SMS(*), INDX1_SMS(*),
2214 . ilink(*), rlink(*), nnlink(10,*), lnlink(*),
2215 . tag_lnk_sms(*), fr_ll(nspmd+2,*), fr_rl(nspmd+2,*),
2216 . weight(*), itab(*), ljoint(*), fr_cj(*),iadcj(nspmd+1,*)
2217 INTEGER NPRW(*), LPRW(*), FR_WALL(+2,*) ,NRWL_SMS(*),
2218 . IAD_ELEM(2,*), FR_ELEM(*)
2219 TYPE(intbuf_struct_) INTBUF_TAB(*)
2224 INTEGER K1, K, I, N, J, IC, NSN, ISMS,
2225 . icsize, imov, ityp, ilagm, icount
2227 . nlins, nlinm, ii,
SIZE, lenr
2230 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NOD2ADD
2231 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAG
2233 CALL my_alloc(nod2add,numnod)
2234 CALL my_alloc(tag,numnod)
2252 IF(weight(n)==1)
THEN
2263 tag_lnk_sms(i)=-idmax
2268 IF(nodnx_sms(n)/=0)
THEN
2276 IF(isms/=0) tag_lnk_sms(i) = abs(tag_lnk_sms(i))
2283 IF(nodnx_sms(n)==0.AND.nod2add(n)==0)
THEN
2284 nindx1_sms=nindx1_sms+1
2285 indx1_sms(nindx1_sms)=n
2306 IF(weight(n)==1)
THEN
2317 tag_lnk_sms(nrlink+i)=-idmax
2322 IF(nodnx_sms(n)/=0)
THEN
2330 IF(isms/=0) tag_lnk_sms(nrlink+i) = abs(tag_lnk_sms(nrlink+i))
2337 IF(nodnx_sms(n)==0.AND.nod2add(n)==0)
THEN
2338 nindx1_sms=nindx1_sms+1
2339 indx1_sms(nindx1_sms)=n
2357 IF(nodnx_sms(n)/=0)
THEN
2363 tag_lnk_sms(nrlink+nlink+j)=isms
2371 . tag_lnk_sms(nrlink+nlink+1),njoint,1,0,2)
2376 isms=tag_lnk_sms(nrlink+nlink+j)
2381 IF(nodnx_sms(n)==0.AND.nod2add(n)==0)
THEN
2382 nindx1_sms=nindx1_sms+1
2383 indx1_sms(nindx1_sms)=n
2394 isms=tag_lnk_sms(nrlink+nlink+j)
2399 IF(nodnx_sms(n)==0.AND.nod2add(n)==0)
THEN
2400 nindx1_sms=nindx1_sms+1
2401 indx1_sms(nindx1_sms)=n
2411 IF(tag_lnk_sms(nrlink+nlink+n)/=0)
2412 . icsize=icsize+iadcj(nspmd+1,n)-iadcj(1,n)
2415 . tag_lnk_sms(nrlink+nlink+1),nodnx_sms,
2421 IF(nod2add(n)/=0)nodnx_sms(n)=1
2430 imov =nprw(2*nrwall+n)
2431 ityp =nprw(3*nrwall+n)
2432 ilagm=nprw(5*nrwall+n)
2436 IF(nodnx_sms(i)/=0)
THEN
2443 nprw(6*nrwall+n)=icount-k
2447 IF(icount > k.AND.nodnx_sms(imov)==0)nod2add(imov)=1
2450 IF(nod2add(imov)/=0)
THEN
2451 nindx1_sms=nindx1_sms+1
2452 indx1_sms(nindx1_sms)=imov
2574 1 IPARI ,INTBUF_TAB ,IAD_ELEM ,FR_ELEM ,INTLIST,
2584#include "implicit_f.inc"
2588#include "com01_c.inc"
2589#include "com04_c.inc"
2590#include "param_c.inc"
2594 INTEGER IPARI(NPARI,*), IAD_ELEM(2,*), FR_ELEM(*)
2597 TYPE(intbuf_struct_) INTBUF_TAB(*)
2602 INTEGER NTY, ILEV, NSN, NMN, NRTS, NRTM,
2603 . nlins, nlinm, ii,
SIZE, lenr
2604 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAG
2606 CALL my_alloc(tag,numnod)
2615 IF(nty==2 .AND. ilev/=25 .and. ilev /= 26)
THEN
2623 j=intbuf_tab(n)%NSV(ii)
2624 IF ((ilev==27.OR.ilev==28).AND.intbuf_tab(n)%IRUPT(ii)==1) cycle
2632 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2642 IF(nty==7.OR.nty==10.OR.nty==20.OR.nty==25)
THEN
2644 j=intbuf_tab(n)%NSV(ii)
2646 intbuf_tab(n)%STFNS(ii) = zero
2650 j=intbuf_tab(n)%IRECTM(4*(ii-1)+1)
2652 intbuf_tab(n)%STFM(ii)=zero
2654 j=intbuf_tab(n)%IRECTM(4*(ii-1)+2)
2656 intbuf_tab(n)%STFM(ii)=zero
2658 j=intbuf_tab(n)%IRECTM(4*(ii-1)+3)
2660 intbuf_tab(n)%STFM(ii)=zero
2662 j=intbuf_tab(n)%IRECTM(4*(ii-1)+4)
2664 intbuf_tab(n)%STFM(ii)=zero
2670 IF(nlins+nlinm /= 0)
THEN
2672 j=intbuf_tab(n)%IXLINS(2*(ii-1)+1)
2674 intbuf_tab(n)%STFS(ii) = zero
2676 j=intbuf_tab(n)%IXLINS(2*(ii-1)+2)
2678 intbuf_tab(n)%STFS(ii) = zero
2682 j=intbuf_tab(n)%IXLINM(2*(ii-1)+1)
2684 intbuf_tab(n)%STF(ii) = zero
2686 j=intbuf_tab(n)%IXLINM(2*(ii-1)+2)
2688 intbuf_tab(n)%STF(ii) = zero
2695 j=intbuf_tab(n)%IRECTS(2*(ii-1)+1)
2697 intbuf_tab(n)%STFS(ii) = zero
2699 j=intbuf_tab(n)%IRECTS(2*(ii-1)+2)
2701 intbuf_tab(n)%STFS(ii) = zero
2705 j=intbuf_tab(n)%IRECTM(2*(ii-1)+1)
2707 intbuf_tab(n)%STFM(ii) = zero
2709 j=intbuf_tab(n)%IRECTM(2*(ii-1)+2)
2711 intbuf_tab(n)%STFM(ii) = zero
2716 j=intbuf_tab(n)%NSV(ii)
2718 intbuf_tab(n)%STFNS(ii) = zero
subroutine sms_ini_jad_1(ixc, iparg, ixs, ixt, ixp, ixr, ixtg, ixs10, nodnx_sms, jadc_sms, jads_sms, jads10_sms, jadt_sms, jadp_sms, jadr_sms, jadtg_sms, indx1_sms, tagprt_sms, kad_sms, kdi_sms, pk_sms, tagrel_sms, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, ipartx, iad_elem, fr_elem, npby, lpby, kinet, tagslv_rby_sms, ipari, intbuf_tab, irect, lad_sms, ipart, igeo, weight, nativ_sms, iad_sms, idi_sms, jad_sms, jdi_sms, t2main_sms)
subroutine sms_ini_jad_2(ixc, iparg, ixs, ixt, ixp, ixr, ixtg, ixs10, nodnx_sms, jadc_sms, jads_sms, jads10_sms, jadt_sms, jadp_sms, jadr_sms, jadtg_sms, indx1_sms, tagprt_sms, kad_sms, kdi_sms, tagrel_sms, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, ipartx, iad_elem, fr_elem, npby, lpby, kinet, tagslv_rby_sms, ipari, intbuf_tab, irect, lad_sms, nprw, lprw, tagmsr_rby_sms, tagslv_i21_sms, tagmsr_i21_sms, jadi21_sms, intstamp, ipart, igeo, weight, nativ_sms, irbe2, lrbe2, iad_sms, idi_sms, jad_sms, jdi_sms, t2main_sms)
subroutine sms_ini_jad_3(ixc, iparg, ixs, ixt, ixp, ixr, ixtg, ixs10, nodnx_sms, jadc_sms, jads_sms, jads10_sms, jadt_sms, jadp_sms, jadr_sms, jadtg_sms, indx1_sms, tagprt_sms, kad_sms, kdi_sms, tagrel_sms, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, ipartx, iad_elem, fr_elem, npby, lpby, kinet, tagslv_rby_sms, ipari, intbuf_tab, irect, lad_sms, jsm_sms, tagslv_i21_sms, intstamp, ipart, igeo, tagmsr_rby_sms, weight, nativ_sms, iad_sms, idi_sms, jad_sms, jdi_sms, t2main_sms)