41 1 ITASK ,NODFT ,NODLT ,
42 2 IXC ,IPARG ,IXS ,IXT ,IXP ,
43 3 IXR ,IXTG ,NODNX_SMS,MS ,MS0 ,
44 4 INDX1_SMS,INDX2_SMS,JAD_SMS ,JDI_SMS ,LT_SMS ,
45 . KAD_SMS ,KDI_SMS ,LTK_SMS ,PK_SMS ,NODII_SMS,
46 5 JADC_SMS ,JADS_SMS,JADT_SMS,JADP_SMS ,JADR_SMS ,
47 6 JADTG_SMS,DIAG_SMS,TAGPRT_SMS,TAGREL_SMS,
48 7 IPARTS ,IPARTQ ,IPARTC ,IPARTT ,IPARTP ,
49 8 IPARTR ,IPARTUR ,IPARTTG ,IPARTX ,IAD_ELEM ,
50 9 FR_ELEM ,NPBY ,LPBY,TAGSLV_RBY_SMS,LAD_SMS ,
51 A JSM_SMS ,DMELTG ,DMELC ,MSKYI_SMS,
52 B ISKYI_SMS,JADI_SMS,JDII_SMS ,LTI_SMS ,NODXI_SMS,
53 C DMELS ,DMELTR ,DMELP ,DMELRT ,IGEO ,
54 D FR_SMS ,FR_RMS ,EV ,IPARI ,INTBUF_TAB,
55 E KINET ,TAGSLV_I21_SMS,JADI21_SMS,INTSTAMP,
56 F IXS10 ,JADS10_SMS,ILINK ,RLINK ,NNLINK ,
57 G LNLINK ,TAG_LNK_SMS,LJOINT,IADCJ ,FR_CJ ,
58 H ITAB ,WEIGHT ,DMINT2 ,ELBUF_TAB,TAGMSR_RBY_SMS,
59 I NPRW ,LPRW ,FR_WALL ,NRWL_SMS ,RBY ,
61 K VR ,IRBE2 ,LRBE2 ,IRBE3 ,LRBE3 ,
62 L IAD_RBE3M ,FR_RBE3M,NATIV_SMS,T2MAIN_SMS,T2FAC_SMS,
63 M MSKYI_FI_SMS, LIST_SMS,LIST_RMS,SZ_mw6,MW6)
75#include "implicit_f.inc"
82#include "kincod_c.inc"
92 INTEGER , NODFT, NODLT,
93 . iparg(nparg,*), ixc(nixc,*), ixs(nixs,*), ixt(nixt,*),
94 . ixp(nixp,*), ixr(nixr,*), ixtg(nixtg,*),
95 . nodnx_sms(*), jad_sms(*), jdi_sms(*),
96 . kad_sms(*), kdi_sms(*), pk_sms(*),
97 . jadc_sms(4,*), jads_sms(8,*),
98 . jadt_sms(2,*), jadp_sms(2,*),
99 . jadr_sms(3,*), jadtg_sms(3,*),
100 . indx1_sms(*), indx2_sms(*), tagprt_sms(*), tagrel_sms(*),
101 . iparts(*), ipartq(*), ipartc(*), ipartt(*),
102 . ipartp(*), ipartr(*), ipartur(*), iparttg(*), ipartx(*),
103 . iad_elem(2,nspmd+1) ,fr_elem(*),
104 . npby(nnpby,*), lpby(*), tagslv_rby_sms(*),
105 . lad_sms(*), jsm_sms(*),
106 . iskyi_sms(lskyi_sms,*),
107 . jadi_sms(*), jdii_sms(*), nodxi_sms(*), nodii_sms(*),
109 . fr_rms(nspmd+1), fr_sms(nspmd+1),
110 . ipari(npari,*), kinet(*),
111 . tagslv_i21_sms(*), jadi21_sms(*),
112 . ixs10(6,*), jads10_sms(6,*),
113 . ilink(*), rlink(*), nnlink(10,*), lnlink(*),
114 . tag_lnk_sms(*), ljoint(*), fr_cj(*),iadcj(nspmd+1,*),
116 . nprw(*), lprw(*), fr_wall(*), nrwl_sms(*),
117 . irbe2(*), lrbe2(*),
118 . irbe3(*), lrbe3(*), iad_rbe3m(*),fr_rbe3m(*), nativ_sms(*),
121 . ms(*), ms0(*), lt_sms(*), ltk_sms(*), diag_sms(*),
122 . dmeltg(*), dmelc(*), mskyi_sms(*), lti_sms(*),
123 . dmels(*), dmeltr(*), dmelp(*), dmelrt(*), ev(*),
124 . dmint2(4,*), rby(nrby,*), x(3,*), a(3,*), ar(3,*), in(*),
125 . v(3,*), vr(3,*),t2fac_sms(*)
126 my_real,
dimension(fr_rms(nspmd+1)),
intent(inout) :: mskyi_fi_sms
127 integer,
dimension(fr_sms(nspmd+1)),
intent(inout) :: LIST_SMS
128 integer,
dimension(fr_rms(nspmd+1)),
intent(inout) :: LIST_RMS
129 integer,
intent(in) :: SZ_mw6
130 DOUBLE PRECISION,
dimension(6,SZ_mw6),
intent(inout) :: MW6
132 TYPE(INTSTAMP_DATA) INTSTAMP(*)
133 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
134 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
138 INTEGER I, J, K, KN, IKN, JJ, KK, II, IJ, IK, N, M, NN, P, LOC_PROC
139 INTEGER NG, , NEL, NFT, ISOLNOD,MLW,LFT, LLT,
140 . KAD, NPT, IHBE, ICNOD, ISTRA, IEXPAN, IE, J1,
141 . ILOC4(4), IG, , IERROR, IPERM1(6), IPERM2(6),IPENTA6(6)
142 INTEGER MSR, NSN, KI, KJ, KL, NSR
143 INTEGER SIZE, LENR, , L, JI
144 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
145 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS
146 INTEGER,
DIMENSION(:),
ALLOCATABLE :: KADI_SMS
147 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NADI_SMS
148 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAG8
149 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NAD_SMS_0
150 INTEGER NTY, , N1, N2, N3, N4,
151 . nmn,ilev, ksn, kmult
153 . mele4, mele12, xn, ltij, mslv,
154 . ixx, iyy, izz, xx, yy, zz, mas,
155 . vrx, vry, vrz, v1, v2, v3, gx, gy, gz, xnod,
156 . fac_scal_i,fac_scal_j
157 my_real,
dimension(:,:),
ALLOCATABLE :: awork
159 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IMV
161 . ,
DIMENSION(:),
ALLOCATABLE :: mv
163 . ,
DIMENSION(:,:),
ALLOCATABLE :: mv6
165 .
DIMENSION(:),
POINTER :: offg
168 DATA iperm1/1,2,3,1,2,3/
169 DATA iperm2/2,3,1,4,4,4/
170 DATA ipenta6/1,2,3,5,6,7/
172 CALL my_alloc(taga,numnod)
173 CALL my_alloc(nad_sms,numnod)
174 CALL my_alloc(kadi_sms,numnod+1)
175 CALL my_alloc(nadi_sms,numnod)
176 CALL my_alloc(tag8,numnod)
177 CALL my_alloc(nad_sms_0,numnod)
178 CALL my_alloc(awork,3,numnod)
187 ALLOCATE(imv(2*nisky_sms+fr_rms(nspmd+1)),
188 . mv(2*nisky_sms+fr_rms(nspmd+1)),
189 . mv6(6,2*nisky_sms+fr_rms(nspmd+1)),stat=ierror)
191 ALLOCATE(imv(nnz_sms+2*nisky_sms+fr_rms(nspmd+1)),
192 . mv(nnz_sms+2*nisky_sms+fr_rms(nspmd+1)),
193 . mv6(6,nnz_sms+2*nisky_sms+fr_rms(nspmd+1)),stat=ierror)
196 CALL ancmsg(msgid=19,anmode=aninfo,
197 . c1=
'(/DT/.../AMS)')
203 nodxi_sms(nodft:nodlt)=nodnx_sms(nodft:nodlt)
208 IF(idtmins/=2)
GO TO 100
213 IF(tagrel_sms(ng)==0)
GOTO 250
224 isolnod = iparg(28,ng)
225 iexpan = iparg(49,ng)
228 ELSEIF(ihbe==102)
THEN
230 ELSEIF(ihbe==112)
THEN
235 IF (ity==1.AND.isolnod==4)
THEN
236 offg => elbuf_tab(ng)%GBUF%OFF
242 IF (offg(j) > zero)
THEN
259 jj = ixs(1+iloc4(kk),ie)
260 IF(jj/=i.AND..NOT.(nativ_sms(i)=
THEN
267 ELSEIF (ity==1.AND.isolnod==6)
THEN
268 offg => elbuf_tab(ng)%GBUF%OFF
274 IF (offg(j) > zero)
THEN
285 mele12=one_over_6*mele4
287 i=ixs(1+ipenta6(k),ie)
291 jj = ixs(1+ipenta6(kk),ie)
292 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
299 ELSEIF(ity==1.AND.isolnod==8)
THEN
300 offg => elbuf_tab(ng)%GBUF%OFF
308 IF (offg(j) > zero)
THEN
317 IF(taga(i)==0)xnod=xnod+one
319 kmult=
max(kmult,taga(i))
323 mele4 =kmult*half*dmels(ie)
341 mele12=(one/xnod)*mele4
372 IF(tag8(kk)/=0) cycle
374 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
381 ELSEIF(ity==1.AND.isolnod==10)
THEN
383 offg => elbuf_tab(ng)%GBUF%OFF
390 IF (offg(j) > zero)
THEN
391 mele4 = half*dmels(ie)
400 mele4 = mele4/thirty2
411 jj = ixs(1+iloc4(kk),ie)
412 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
422 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
437 jj = ixs(1+iloc4(kk),ie)
438 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
462 i=ixs(1+iloc4(iperm1(k)),ie)
463 ij=jads_sms(iperm1(k),ie)
466 jj = ixs(1+iloc4(kk),ie)
467 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
468 ltk_sms(ij)=ltk_sms(ij)-half*mele12
477 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
478 ltk_sms(ij)=ltk_sms(ij)-half*mele12
483 i=ixs(1+iloc4(iperm2(k)),ie)
484 ij=jads_sms(iperm2(k),ie)
487 jj = ixs(1+iloc4(kk),ie)
488 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
489 ltk_sms(ij)=ltk_sms(ij)-half*mele12
498 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
499 ltk_sms(ij)=ltk_sms(ij)-half*mele12
506 offg => elbuf_tab(ng)%GBUF%OFF
513 IF (offg(j) > zero)
THEN
514 mele4 = half*dmels(ie)
534 jj = ixs(1+iloc4(kk),ie)
535 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
545 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
560 jj = ixs(1+iloc4(kk),ie)
561 IF(.NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
571 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
585 i=ixs(1+iloc4(iperm1(k)),ie)
586 ij=jads_sms(iperm1(k),ie)
589 jj = ixs(1+iloc4(kk),ie)
590 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
591 ltk_sms(ij)=ltk_sms(ij)-half*mele12
600 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
601 ltk_sms(ij)=ltk_sms(ij)-half*mele12
606 i=ixs(1+iloc4(iperm2(k)),ie)
607 ij=jads_sms(iperm2(k),ie)
610 jj = ixs(1+iloc4(kk),ie)
611 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
612 ltk_sms(ij)=ltk_sms(ij)-half*mele12
621 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
622 ltk_sms(ij)=ltk_sms(ij)-half*mele12
630 offg => elbuf_tab(ng)%GBUF%OFF
636 IF (offg(j) > zero)
THEN
637 mele4 =half*dmelc(ie)
647 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
655 offg => elbuf_tab(ng)%GBUF%OFF
661 IF (offg(j) > zero)
THEN
662 mele4 =half*dmeltr(ie)
671 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
679 offg => elbuf_tab(ng)%GBUF%OFF
685 IF (offg(j) > zero)
THEN
686 mele4 =half*dmelp(ie)
696 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
706 offg => elbuf_tab(ng)%GBUF%OFF
713 IF (offg(j) > zero)
THEN
714 mele4=half*dmelrt(ie)
724 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
737 IF (offg(j) > zero)
THEN
738 mele12=half*dmelrt(ie)
748 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
759 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
765 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
776 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
784 offg => elbuf_tab(ng)%GBUF%OFF
790 IF (offg(j) > zero)
THEN
808 IF(jj/=i.AND..NOT.(nativ_sms(i)==0.AND.nativ_sms(jj)==0))
THEN
826 DO ik=jad_sms(i),lad_sms(i)
830 DO ij=kad_sms(i),kad_sms(i+1)-1
831 ik =jad_sms(i)+pk_sms(ij)-1
832 lt_sms(ik) = lt_sms(ik) + ltk_sms(ij)
844 nad_sms(i)=lad_sms(i)+1
853 IF(nty==2 .AND. ilagm==0 .AND.ilev/=25.AND.ilev/=26)
THEN
856 i=intbuf_tab(n)%NSV(ii)
857 IF (i < 0) t2main_sms(6,-i)=-1
868 IF(nty==2 .AND. ilagm==0 .AND.ilev/=25.AND.ilev/=26.AND.ilev/=27.AND.ilev/=28)
THEN
873 i=intbuf_tab(n)%NSV(ii)
874 l=intbuf_tab(n)%IRTLM(ii)
875 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
876 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
877 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
878 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
880 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
881 . .AND.nativ_sms(n2)==0
882 . .AND.nativ_sms(n3)==0
883 . .AND.nativ_sms(n4)==0) cycle
887 DO kj=jad_sms(i),lad_sms(i)
892 IF (t2main_sms(1,j) == 1)
THEN
894 lt_sms(nad_sms(j)) = ltij
895 lt_sms(nad_sms(n1))= ltij
896 nad_sms(j) =nad_sms(j)+1
897 nad_sms(n1)=nad_sms(n1)+1
899 lt_sms(nad_sms(j)) = ltij
900 lt_sms(nad_sms(n2))= ltij
901 nad_sms(j) =nad_sms(j)+1
902 nad_sms(n2)=nad_sms(n2)+1
904 lt_sms(nad_sms(j)) = ltij
905 lt_sms(nad_sms(n3))= ltij
906 nad_sms(j) =nad_sms(j)+1
907 nad_sms(n3)=nad_sms(n3)+1
909 lt_sms(nad_sms(j)) = ltij
910 lt_sms(nad_sms(n4))= ltij
911 nad_sms(j) =nad_sms(j)+1
912 nad_sms(n4)=nad_sms(n4)+1
914 ELSEIF(t2main_sms(6,j)==0)
THEN
917 lt_sms(nad_sms(j)) = zero
918 lt_sms(nad_sms(n1))= zero
919 nad_sms(j) =nad_sms(j)+1
920 nad_sms(n1)=nad_sms(n1)+1
922 lt_sms(nad_sms(j)) = zero
923 lt_sms(nad_sms(n2))= zero
924 nad_sms(j) =nad_sms(j)+1
925 nad_sms(n2)=nad_sms(n2)+1
927 lt_sms(nad_sms(j)) = zero
928 lt_sms(nad_sms(n3))= zero
929 nad_sms(j) =nad_sms(j)+1
930 nad_sms(n3)=nad_sms(n3)+1
932 lt_sms(nad_sms(j)) = zero
933 lt_sms(nad_sms(n4))= zero
934 nad_sms(j) =nad_sms(j)+1
935 nad_sms(n4)=nad_sms(n4)+1
940 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
941 lt_sms(nad_sms(t2main_sms(k,i))) = half*ltij
942 lt_sms(nad_sms(t2main_sms(kk,j)))= half*ltij
943 nad_sms(t2main_sms(k,i)) =nad_sms(t2main_sms(k,i))+1
944 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
953 lt_sms(nad_sms(j)) = ltij
954 lt_sms(nad_sms(n1))= ltij
955 nad_sms(j) =nad_sms(j)+1
956 nad_sms(n1)=nad_sms(n1)+1
958 lt_sms(nad_sms(j)) = ltij
959 lt_sms(nad_sms(n2))= ltij
960 nad_sms(j) =nad_sms(j)+1
961 nad_sms(n2)=nad_sms(n2)+1
963 lt_sms(nad_sms(j)) = ltij
964 lt_sms(nad_sms(n3))= ltij
965 nad_sms(j) =nad_sms(j)+1
966 nad_sms(n3)=nad_sms(n3)+1
968 lt_sms(nad_sms(j)) = ltij
969 lt_sms(nad_sms(n4))= ltij
970 nad_sms(j) =nad_sms(j)+1
971 nad_sms(n4)=nad_sms(n4)+1
976 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
977 lt_sms(nad_sms(t2main_sms(k,i))) = zero
978 lt_sms(nad_sms(t2main_sms(kk,j)))= zero
979 nad_sms(t2main_sms(k,i)) =nad_sms(t2main_sms(k,i))+1
980 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
991 DO kj=jad_sms(i),lad_sms(i)
995 IF (t2main_sms(1,j) == 1)
THEN
997 lt_sms(nad_sms(j)) = ltij
998 lt_sms(nad_sms(n1))= ltij
999 nad_sms(j) =nad_sms(j)+1
1000 nad_sms(n1)=nad_sms(n1)+1
1002 lt_sms(nad_sms(j)) = ltij
1003 lt_sms(nad_sms(n2))= ltij
1004 nad_sms(j) =nad_sms(j)+1
1005 nad_sms(n2)=nad_sms(n2)+1
1007 lt_sms(nad_sms(j)) = ltij
1008 lt_sms(nad_sms(n3))= ltij
1009 nad_sms(j) =nad_sms(j)+1
1010 nad_sms(n3)=nad_sms(n3)+1
1012 lt_sms(nad_sms(j)) = ltij
1013 lt_sms(nad_sms(n4))= ltij
1014 nad_sms(j) =nad_sms(j)+1
1015 nad_sms(n4)=nad_sms(n4)+1
1020 lt_sms(nad_sms(j)) = zero
1021 lt_sms(nad_sms(n1))= zero
1022 nad_sms(j) =nad_sms(j)+1
1023 nad_sms(n1)=nad_sms(n1)+1
1025 lt_sms(nad_sms(j)) = zero
1026 lt_sms(nad_sms(n2))= zero
1027 nad_sms(j) =nad_sms(j)+1
1028 nad_sms(n2)=nad_sms(n2)+1
1030 lt_sms(nad_sms(j)) = zero
1031 lt_sms(nad_sms(n3))= zero
1032 nad_sms(j) =nad_sms(j)+1
1033 nad_sms(n3)=nad_sms(n3)+1
1035 lt_sms(nad_sms(j)) = zero
1036 lt_sms(nad_sms(n4))= zero
1037 nad_sms(j) =nad_sms(j)+1
1038 nad_sms(n4)=nad_sms(n4)+1
1043 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1044 lt_sms(nad_sms(t2main_sms(k,i))) = half*ltij
1045 lt_sms(nad_sms(t2main_sms(kk,j)))= half*ltij
1046 nad_sms(t2main_sms(k,i)) =nad_sms(t2main_sms(k,i))+1
1047 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
1059 ELSEIF(nty==2.AND.ilagm==0.AND.(ilev==25.or.ilev==26))
THEN
1064 i=intbuf_tab(n)%NSV(ii)
1067 IF(weight(abs(i))/=1)cycle
1069 l=intbuf_tab(n)%IRTLM(ii)
1070 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1071 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1072 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1073 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1075 IF(nativ_sms(i)==0.AND.nativ_sms
1076 . .AND.nativ_sms(n2)==0
1077 . .AND.nativ_sms(n3)==0
1078 . .AND.nativ_sms(n4)==0) cycle
1082 lt_sms(nad_sms(i)) = -dmint2(1,ksn)
1083 lt_sms(nad_sms(n1))= -dmint2(1,ksn)
1084 nad_sms(i) =nad_sms(i)+1
1085 nad_sms(n1)=nad_sms(n1)+1
1088 lt_sms(nad_sms(i)) = -dmint2(2,ksn)
1089 lt_sms(nad_sms(n2))= -dmint2(2,ksn)
1090 nad_sms(i) =nad_sms(i)+1
1091 nad_sms(n2)=nad_sms(n2)+1
1093 lt_sms(nad_sms(i)) = -dmint2(3,ksn)
1094 lt_sms(nad_sms(n3))= -dmint2(3,ksn)
1095 nad_sms(i) =nad_sms(i)+1
1096 nad_sms(n3)=nad_sms(n3)+1
1098 lt_sms(nad_sms(i)) = -dmint2(4,ksn)
1099 lt_sms(nad_sms(n4))= -dmint2(4,ksn)
1100 nad_sms(i) =nad_sms(i)+1
1108 lt_sms(nad_sms(i)) = ltij
1109 lt_sms(nad_sms(n1))= ltij
1110 nad_sms(i) =nad_sms(i)+1
1111 nad_sms(n1)=nad_sms(n1)+1
1114 lt_sms(nad_sms(i)) = ltij
1115 lt_sms(nad_sms(n2))= ltij
1116 nad_sms(i) =nad_sms(i)+1
1117 nad_sms(n2)=nad_sms(n2)+1
1119 lt_sms(nad_sms(i)) = ltij
1120 lt_sms(nad_sms(n3))= ltij
1121 nad_sms(i) =nad_sms(i)+1
1122 nad_sms(n3)=nad_sms(n3)+1
1124 lt_sms(nad_sms(i)) = ltij
1125 lt_sms(nad_sms(n4))= ltij
1126 nad_sms(i) =nad_sms(i)+1
1127 nad_sms(n4)=nad_sms(n4)+1
1131 ELSEIF(nty==2.AND.ilagm==0.AND.(ilev==27.or.ilev==28))
THEN
1136 i=intbuf_tab(n)%NSV(ii)
1139 IF (intbuf_tab(n)%IRUPT(ii)==0)
THEN
1141 l=intbuf_tab(n)%IRTLM(ii)
1142 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1143 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1144 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1145 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1146 fac_scal_i = t2fac_sms(i)
1148 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1149 . .AND.nativ_sms(n2)==0
1150 . .AND.nativ_sms(n3)==0
1151 . .AND.nativ_sms(n4)==0) cycle
1154 DO kj=jad_sms(i),lad_sms(i)
1158 fac_scal_j = t2fac_sms(j)
1160 IF (t2main_sms(1,j) == 1)
THEN
1162 ltij = ltij*fac_scal_i
1164 lt_sms(nad_sms(j)) = ltij
1165 lt_sms(nad_sms(n1))= ltij
1166 nad_sms(j) =nad_sms(j)+1
1167 nad_sms(n1)=nad_sms(n1)+1
1169 lt_sms(nad_sms(j)) = ltij
1170 lt_sms(nad_sms(n2))= ltij
1171 nad_sms(j) =nad_sms(j)+1
1172 nad_sms(n2)=nad_sms(n2)+1
1174 lt_sms(nad_sms(j)) = ltij
1175 lt_sms(nad_sms(n3))= ltij
1176 nad_sms(j) =nad_sms(j)+1
1177 nad_sms(n3)=nad_sms(n3)+1
1179 lt_sms(nad_sms(j)) = ltij
1180 lt_sms(nad_sms(n4))= ltij
1181 nad_sms(j) =nad_sms(j)+1
1182 nad_sms(n4)=nad_sms(n4)+1
1184 ELSEIF(t2main_sms(6,j)==0)
THEN
1187 ltij = ltij*
max(fac_scal_i,fac_scal_j)
1189 lt_sms(nad_sms(j)) = zero
1190 lt_sms(nad_sms(n1))= zero
1191 nad_sms(j) =nad_sms(j)+1
1192 nad_sms(n1)=nad_sms(n1)+1
1194 lt_sms(nad_sms(j)) = zero
1195 lt_sms(nad_sms(n2))= zero
1196 nad_sms(j) =nad_sms(j)+1
1197 nad_sms(n2)=nad_sms(n2)+1
1199 lt_sms(nad_sms(j)) = zero
1200 lt_sms(nad_sms(n3))= zero
1201 nad_sms(j) =nad_sms(j)+1
1202 nad_sms(n3)=nad_sms(n3)+1
1204 lt_sms(nad_sms(j)) = zero
1205 lt_sms(nad_sms(n4))= zero
1206 nad_sms(j) =nad_sms(j)+1
1207 nad_sms(n4)=nad_sms(n4)+1
1212 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1213 lt_sms(nad_sms(t2main_sms(k,i))) = half*ltij
1214 lt_sms(nad_sms(t2main_sms(kk,j)))= half*ltij
1225 lt_sms(nad_sms(j)) = ltij
1226 lt_sms(nad_sms(n1))= ltij
1227 nad_sms(j) =nad_sms(j)+1
1228 nad_sms(n1)=nad_sms(n1)+1
1230 lt_sms(nad_sms(j)) = ltij
1231 lt_sms(nad_sms(n2))= ltij
1232 nad_sms(j) =nad_sms(j)+1
1233 nad_sms(n2)=nad_sms(n2)+1
1235 lt_sms(nad_sms(j)) = ltij
1236 lt_sms(nad_sms(n3))= ltij
1237 nad_sms(j) =nad_sms(j)+1
1238 nad_sms(n3)=nad_sms(n3)+1
1240 lt_sms(nad_sms(j)) = ltij
1241 lt_sms(nad_sms(n4))= ltij
1242 nad_sms(j) =nad_sms(j)+1
1243 nad_sms(n4)=nad_sms(n4)+1
1248 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1249 lt_sms(nad_sms(t2main_sms(k,i))) = zero
1250 lt_sms(nad_sms(t2main_sms(kk,j)))= zero
1251 nad_sms(t2main_sms(k
1252 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
1263 DO kj=jad_sms(i),lad_sms
1267 IF (t2main_sms(1,j) == 1)
THEN
1269 lt_sms(nad_sms(j)) = ltij
1270 lt_sms(nad_sms(n1))= ltij
1271 nad_sms(j) =nad_sms(j)+1
1272 nad_sms(n1)=nad_sms(n1)+1
1274 lt_sms(nad_sms(j)) = ltij
1275 lt_sms(nad_sms(n2))= ltij
1276 nad_sms(j) =nad_sms(j)+1
1277 nad_sms(n2)=nad_sms(n2)+1
1279 lt_sms(nad_sms(j)) = ltij
1280 lt_sms(nad_sms(n3))= ltij
1281 nad_sms(j) =nad_sms(j)+1
1282 nad_sms(n3)=nad_sms(n3)+1
1284 lt_sms(nad_sms(j)) = ltij
1285 lt_sms(nad_sms(n4))= ltij
1286 nad_sms(j) =nad_sms(j)+1
1287 nad_sms(n4)=nad_sms(n4)+1
1292 lt_sms(nad_sms(j)) = zero
1293 lt_sms(nad_sms(n1))= zero
1294 nad_sms(j) =nad_sms(j)+1
1295 nad_sms(n1)=nad_sms(n1)+1
1297 lt_sms(nad_sms(j)) = zero
1298 lt_sms(nad_sms(n2))= zero
1299 nad_sms(j) =nad_sms(j)+1
1300 nad_sms(n2)=nad_sms(n2)+1
1302 lt_sms(nad_sms(j)) = zero
1303 lt_sms(nad_sms(n3))= zero
1304 nad_sms(j) =nad_sms(j)+1
1305 nad_sms(n3)=nad_sms(n3)+1
1307 lt_sms(nad_sms(j)) = zero
1308 lt_sms(nad_sms(n4))= zero
1309 nad_sms(j) =nad_sms(j)+1
1310 nad_sms(n4)=nad_sms(n4)+1
1315 IF (t2main_sms(k,i)/=t2main_sms(kk,j))
THEN
1316 lt_sms(nad_sms(t2main_sms(k,i))) = half*ltij
1317 lt_sms(nad_sms(t2main_sms(kk,j)))= half*ltij
1318 nad_sms(t2main_sms(k,i)) =nad_sms(t2main_sms(k,i))+1
1319 nad_sms(t2main_sms(kk,j))=nad_sms(t2main_sms(kk,j))+1
1334 IF(weight(abs(i))/=1)cycle
1336 l=intbuf_tab(n)%IRTLM(ii)
1337 n1 = intbuf_tab(n)%IRECTM(4*(l-1)+1)
1338 n2 = intbuf_tab(n)%IRECTM(4*(l-1)+2)
1339 n3 = intbuf_tab(n)%IRECTM(4*(l-1)+3)
1340 n4 = intbuf_tab(n)%IRECTM(4*(l-1)+4)
1342 IF(nativ_sms(i)==0.AND.nativ_sms(n1)==0
1343 . .AND.nativ_sms(n2)==0
1344 . .AND.nativ_sms(n3)==0
1345 . .AND.nativ_sms(n4)==0) cycle
1349 lt_sms(nad_sms(i)) = -dmint2(1,ksn)
1350 lt_sms(nad_sms(n1))= -dmint2(1,ksn)
1351 nad_sms(i) =nad_sms(i)+1
1352 nad_sms(n1)=nad_sms(n1)+1
1355 lt_sms(nad_sms(i)) = -dmint2(2,ksn)
1356 lt_sms(nad_sms(n2))= -dmint2(2,ksn)
1357 nad_sms(i) =nad_sms(i)+1
1358 nad_sms(n2)=nad_sms(n2)+1
1360 lt_sms(nad_sms(i)) = -dmint2(3,ksn)
1361 lt_sms(nad_sms(n3))= -dmint2(3,ksn)
1362 nad_sms(i) =nad_sms(i)+1
1363 nad_sms(n3)=nad_sms(n3)+1
1365 lt_sms(nad_sms(i)) = -dmint2(4,ksn)
1366 lt_sms(nad_sms(n4))= -dmint2(4,ksn)
1367 nad_sms(i) =nad_sms(i)+1
1368 nad_sms(n4)=nad_sms(n4)+1
1376 lt_sms(nad_sms(n1))= ltij
1377 nad_sms(i) =nad_sms(i)+1
1378 nad_sms(n1)=nad_sms(n1)+1
1381 lt_sms(nad_sms(i)) = ltij
1382 lt_sms(nad_sms(n2))= ltij
1383 nad_sms(i) =nad_sms(i)+1
1384 nad_sms(n2)=nad_sms(n2)+1
1386 lt_sms(nad_sms(i)) = ltij
1387 lt_sms(nad_sms(n3))= ltij
1388 nad_sms(i) =nad_sms(i)+1
1389 nad_sms(n3)=nad_sms(n3)+1
1391 lt_sms(nad_sms(i)) = ltij
1392 lt_sms(nad_sms(n4))= ltij
1393 nad_sms(i) =nad_sms(i)+1
1394 nad_sms(n4)=nad_sms(n4)+1
1425 IF(tagmsr_rby_sms(msr) /= 0)
THEN
1433 IF(jad_sms(i+1) > jad_sms(i)) nodxi_sms(i)=1
1434 DO kj=jad_sms(i),jad_sms(i+1)-1
1437 IF(itf(kinet(j))/=0)
THEN
1441 n = tagslv_rby_sms(j)
1457 DO ij=jad_sms(i),jad_sms(i+1)-1
1461 IF(lt_sms(ij)==zero.OR.lt_sms(ji)==zero)
THEN
1466 ltij=
min(lt_sms(ij),lt_sms(ji))
1481 loc_proc = ispmd + 1
1483 DO nn=itask+1,nisky_sms,nthread
1485 IF(p/=loc_proc) cycle
1489 m = tagslv_rby_sms(i)
1490 n = tagslv_rby_sms(j)
1491 IF(m/=0.AND.n==m)
THEN
1509 IF(p/=loc_proc) cycle
1513 IF(i==0.AND.j==0) cycle
1515 nadi_sms(i)=nadi_sms(i)+1
1516 nadi_sms(j)=nadi_sms(j)+1
1522 jadi_sms(n)=jadi_sms(n-1)+nadi_sms(n-1)
1523 kadi_sms(n)=jadi_sms(n)
1528 IF(p/=loc_proc) cycle
1532 IF(i==0.AND.j==0) cycle
1536 lti_sms(kk) =-mskyi_sms(nn)
1537 kadi_sms(i) = kadi_sms(i)+1
1541 lti_sms(kk) =-mskyi_sms(nn)
1542 kadi_sms(j) = kadi_sms(j)+1
1551 CALL spmd_list_sms(iskyi_sms,fr_sms,fr_rms,list_sms,list_rms,
1552 . npby ,tagslv_rby_sms)
1561 1 itask ,nodft ,nodlt ,ms ,nodii_sms ,
1562 2 jad_sms ,jdi_sms ,lt_sms ,diag_sms ,indx1_sms ,
1563 3 indx2_sms,iad_elem,fr_elem ,npby ,lpby ,
1564 4 lad_sms ,kad_sms ,jsm_sms ,mskyi_sms,iskyi_sms ,
1565 5 jadi_sms,jdii_sms ,lti_sms ,nodxi_sms ,fr_sms ,
1566 6 fr_rms ,list_sms ,list_rms ,mskyi_fi_sms,ilink ,
1567 7 rlink ,nnlink ,lnlink ,tag_lnk_sms,ljoint,
1568 8 iadcj ,fr_cj ,itab ,weight ,imv ,
1569 9 mv ,mv6 ,mw6 ,nprw ,lprw ,
1570 a fr_wall ,nrwl_sms ,tagmsr_rby_sms,rby ,awork ,
1572 c vr ,tagslv_rby_sms,irbe2,lrbe2 ,irbe3
1573 d lrbe3 ,iad_rbe3m,fr_rbe3m )
1577 DEALLOCATE(imv, mv, mv6)