33 2 N2,N3,NSTRF,X,V,FSAV,
34 3 IXS,FOPTA,SECFCUM,FX,FY,
35 4 FZ,TYPE,NSINT,IFRAM,NNOD,NOD,MS,
36 6 IXS10,ISOLNOD,XSEC,FBSAV6,
41#include "implicit_f.inc"
57 INTEGER LFT, LLT, NFT, NSEG, N1, N2, N3,
TYPE,NSINT
58 INTEGER NSTRF(2,*),IXS(NIXS,*),IFRAM,NNOD,NOD(*),
61 my_real X(3,*), FSAV(NTHVKI), FOPTA(6), SECFCUM(7,*),XSEC(4,3),
62 . fx(mvsiz,10), fy(mvsiz,10), fz(mvsiz,10), v(3,*) ,ms(*)
63 DOUBLE PRECISION FBSAV6(12,6)
67 INTEGER JJJ(MVSIZ), UNPACK(0:511,10),
68 . nsa, j, i, k, i1, i2, ipack, n,power2(14),iperm(4),ii,jj
70 . fx1(mvsiz), fy1(mvsiz), fz1(mvsiz),
71 . dx1(mvsiz),dy1(mvsiz), dz1(mvsiz),fst(16),
72 . msx, msy, msz, xx1, yy1, zz1, xx2, yy2, zz2, xx3, yy3, zz3,
73 . xx4, yy4, zz4, xx5, yy5, zz5, xx6, yy6, zz6, xxn, yyn, zzn,
74 . d13, xxc, yyc, zzc, fsx, fsy, fsz, fn, fsnx, fsny, fsnz, fstx,
75 . fsty, fstz, dmx, dmy, dmz
77 . msxphi, msyphi, mszphi, fsxphi,
78 . fsyphi, fszphi, fnphi, fsnxphi, fsnyphi, fsnzphi, fstxphi,
79 . fstyphi, fstzphi, dmxphi, dmyphi, dmzphi
81 . xx1phi,xx3phi,xx4phi,xx5phi,xx6phi
83 . yy1phi,yy3phi,yy4phi,yy5phi,yy6phi
85 . zz1phi,zz3phi,zz4phi,zz5phi
87 . al4phi,al5phi,al6phi,xx5t,yy5t,zz5t
90 DATA power2/1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192/
92 my_real,
DIMENSION(:,:),
ALLOCATABLE :: fstparit
96 IF(lft+nft>nstrf(1,nseg))
RETURN
97 IF(llt+nft<nstrf(1,1 ))
RETURN
103 unpack(j,i)=mod(j/power2(i),2)
117 IF(type+nsint==0)
THEN
120 ALLOCATE(fstparit(12,nsa))
134 2 xx4, yy4, zz4, xx5, yy5, zz5, xx6, yy6, zz6,
135 3 xxn, yyn, zzn,ifram,nnod,nod,ms)
138 2 xx5, yy5, zz5, xx6 , yy6 , zz6 ,
139 3 xxn, yyn, zzn, ifram, n1 , xsec)
146 ipack = mod(nstrf(2,j),256)
149 IF(unpack(ipack,i1)/=0)
THEN
154 n = ixs(i1+1,nstrf(1,j))
163 fn=fsx*xxn+fsy*yyn+fsz*zzn
175 msx =dy1(k)*fz1(k)-dz1(k)*fy1(k)
176 msy =dz1(k)*fx1(k)-dx1(k)*fz1(k)
177 msz =dx1(k)*fy1(k)-dy1(k)*fx1(k)
179 dmx =msx*xx4+msy*yy4+msz*zz4
180 dmy =msx*xx5+msy*yy5+msz*zz5
181 dmz =msx*xx6+msy*yy6+msz*zz6
192 fst(10) = fst(10) + fsx
193 fst(11) = fst(11) + fsy
194 fst(12) = fst(12) + fsz
195 fst(13) = fst(13) + msx
196 fst(14) = fst(14) + msy
197 fst(15) = fst(15) + msz
199 . +fx1(k)*v(1,n)+fy1(k)*v(2,n)+fz1(k)*v(3,n)
208 ipack = mod(nstrf(2,j),256)
211 IF(unpack(ipack,i1)/=0)
THEN
216 n = ixs(i1+1,nstrf(1,j))
225 fn=fsx*xxn+fsy*yyn+fsz*zzn
237 msx =dy1(k)*fz1(k)-dz1(k)*fy1(k)
238 msy =dz1(k)*fx1(k)-dx1(k)*fz1(k)
239 msz =dx1(k)*fy1(k)-dy1(k)*fx1(k)
241 dmx =msx*xx4+msy*yy4+msz*zz4
242 dmy =msx*xx5+msy*yy5+msz*zz5
243 dmz =msx*xx6+msy*yy6+msz*zz6
254 fst(10) = fst(10) + fsx
255 fst(11) = fst(11) + fsy
256 fst(12) = fst(12) + fsz
257 fst(13) = fst(13) + msx
258 fst(14) = fst(14) + msy
259 fst(15) = fst(15) + msz
261 . +fx1(k)*v(1,n)+fy1(k)*v(2,n)+fz1(k)*v(3,n)
263 fstparit(1,k)=fstparit(1,k)+fsnx
264 fstparit(2,k)=fstparit(2,k)+fsny
265 fstparit(3,k)=fstparit(3,k)+fsnz
266 fstparit(4,k)=fstparit(4,k)+fstx
267 fstparit(5,k)=fstparit(5,k)+fsty
268 fstparit(6,k)=fstparit(6,k)+fstz
269 fstparit(7,k)=fstparit(7,k)+msx
270 fstparit(8,k)=fstparit(8,k)+msy
271 fstparit(9,k)=fstparit(9,k)+msz
272 fstparit(10,k)=fstparit(10,k) +
273 . ( xx4*(fsnx+fstx) +
276 fstparit(11,k)=fstparit(11,k) +
277 . ( xx5*(fsnx+fstx) +
280 fstparit(12,k)=fstparit(12,k) +
281 . ( xx6*(fsnx+fstx) +
297 IF(mod(ipack/power2(i1),2)/=0)
THEN
302 n = ixs10(i1-8,nstrf(1,j)-numels8)
311 fn=fsx*xxn+fsy*yyn+fsz*zzn
323 msx =dy1(k)*fz1(k)-dz1(k)*fy1(k)
324 msy =dz1(k)*fx1(k)-dx1(k)*fz1(k)
325 msz =dx1(k)*fy1(k)-dy1(k)*fx1(k)
327 dmx =msx*xx4+msy*yy4+msz*zz4
328 dmy =msx*xx5+msy*yy5+msz*zz5
329 dmz =msx*xx6+msy*yy6+msz*zz6
340 fst(10) = fst(10) + fsx
341 fst(11) = fst(11) + fsy
342 fst(12) = fst(12) + fsz
343 fst(13) = fst(13) + msx
344 fst(14) = fst(14) + msy
345 fst(15) = fst(15) + msz
359 IF(mod(ipack/power2(i1),2)/=0)
THEN
364 n = ixs10(i1-8,nstrf(1,j)-numels8)
373 fn=fsx*xxn+fsy*yyn+fsz*zzn
385 msx =dy1(k)*fz1(k)-dz1(k)*fy1(k)
386 msy =dz1(k)*fx1(k)-dx1(k)*fz1(k)
387 msz =dx1(k)*fy1(k)-dy1(k)*fx1(k)
389 dmx =msx*xx4+msy*yy4+msz*zz4
390 dmy =msx*xx5+msy*yy5+msz*zz5
391 dmz =msx*xx6+msy*yy6+msz*zz6
402 fst(10) = fst(10) + fsx
403 fst(11) = fst(11) + fsy
404 fst(12) = fst(12) + fsz
405 fst(13) = fst(13) + msx
406 fst(14) = fst(14) + msy
407 fst(15) = fst(15) + msz
409 . +fx1(k)*v(1,n)+fy1(k)*v(2,n)+fz1(k)*v(3,n)
411 fstparit(1,k)=fstparit(1,k)+fsnx
412 fstparit(2,k)=fstparit(2,k)+fsny
413 fstparit(3,k)=fstparit(3,k)+fsnz
414 fstparit(4,k)=fstparit(4,k)+fstx
415 fstparit(5,k)=fstparit(5,k)+fsty
416 fstparit(6,k)=fstparit(6,k)+fstz
417 fstparit(7,k)=fstparit(7,k)+msx
418 fstparit(8,k)=fstparit(8,k)+msy
419 fstparit(9,k)=fstparit(9,k)+msz
420 fstparit(10,k)=fstparit(10,k) +
421 . ( xx4*(fsnx+fstx) +
424 fstparit(11,k)=fstparit(11,k) +
425 . ( xx5*(fsnx+fstx) +
428 fstparit(12,k)=fstparit(12,k) +
429 . ( xx6*(fsnx+fstx) +
439 fsav(1)=fsav(1)+dt12*fst(1)
440 fsav(2)=fsav(2)+dt12*fst(2)
441 fsav(3)=fsav(3)+dt12*fst(3)
442 fsav(4)=fsav(4)+dt12*fst(4)
443 fsav(5)=fsav(5)+dt12*fst(5)
444 fsav(6)=fsav(6)+dt12*fst(6)
445 fsav(7)=fsav(7)+dt12*fst(7)
446 fsav(8)=fsav(8)+dt12*fst(8)
447 fsav(9)=fsav(9)+dt12*fst(9)
448 fsav(10)=fsav(10)+dt12*fst(16)
449 fsav(31)=fsav(31)+dt12*fst(13)
450 fsav(32)=fsav(32)+dt12*fst(14)
451 fsav(33)=fsav(33)+dt12*fst(15)
452 fsav(34)=fsav(34) + dt12* (xx4*(fst(1)+fst(4)) +
453 . yy4*(fst(2)+fst(5)) + zz4*(fst(3)+fst(6)))
454 fsav(35)=fsav(35) + dt12* (xx5*(fst(1)+fst(4)) +
455 . yy5*(fst(2)+fst(5)) + zz5*(fst(3)+fst(6)))
456 fsav(36)=fsav(36) + dt12* (xx6*(fst(1)+fst(4)) +
457 . yy6*(fst(2)+fst(5)) + zz6*(fst(3)+fst(6)))
461 fopta(1) = fopta(1) + fst(10)
462 fopta(2) = fopta(2) + fst(11)
463 fopta(3) = fopta(3) + fst(12)
464 fopta(4) = fopta(4) + fst(13)
465 fopta(5) = fopta(5) + fst(14)
466 fopta(6) = fopta(6) + fst(15)
467#include "lockoff.inc"
482 ipack = mod(nstrf(2,j),256)
483 IF(unpack(ipack,i1)/=0)
THEN
484 n = ixs(i1+1,nstrf(1,j))
485 secfcum(1,n)=secfcum(1,n)- fx(i,ii)
486 secfcum(2,n)=secfcum(2,n)- fy(i,ii)
487 secfcum(3,n)=secfcum(3,n)- fz(i,ii)
498 IF(mod(ipack/power2(i1),2)/=0)
THEN
499 n = ixs10(i1-8,nstrf(1,j)-numels8)
500 secfcum(1,n)=secfcum(1,n)- fx(i,ii)
501 secfcum(2,n)=secfcum(2,n)- fy(i,ii)
502 secfcum(3,n)=secfcum(3,n)- fz(i,ii)
507#include "lockoff.inc"