33 2 N2,N3,NSTRF,X,V,VR,FSAV,
36 5 ITYPE,NSINT,IFRAM,NNOD,NOD,MS,
37 7 XSEC,FBSAV6,IPARSENS)
41#include
"implicit_f.inc"
56 INTEGER LFT, LLT, NFT, NSEG, N1, N2, N3,ITYPE,NSINT
57 INTEGER NSTRF(2,*),IXR(NIXR,*),IFRAM,NNOD,NOD(*)
60 . X(3,*), FSAV(NTHVKI), (6), SECFCUM(7,*),
61 . fx(mvsiz,2), fy(mvsiz,2), fz(mvsiz,2), mx(mvsiz,2),
62 . my(mvsiz,2), mz(mvsiz,2),
63 . v(3,*), vr(3,*),ms(*),xsec(4,3)
64 DOUBLE PRECISION FBSAV6(12,6)
68 INTEGER JJJ(MVSIZ), UNPACK(3,2),
69 . nsa, j, i, k, i1, i2, ipack, n, jj
71 . fx1(mvsiz), fy1(mvsiz), fz1(mvsiz),
72 . mx1(mvsiz), my1(mvsiz), mz1(mvsiz), dx1(mvsiz),
73 . dy1(mvsiz), dz1(mvsiz),fst(16),
74 . msx, msy, msz, xx1, yy1, zz1, xx2, yy2, zz2, xx3, yy3, zz3,
75 . xx4, yy4, zz4, xx5, yy5, zz5, xx6, yy6, zz6, xxn, yyn, zzn,
76 . d13, xxc, yyc, zzc, fsx, fsy, fsz, fn, fsnx, fsny,
77 . fsty, fstz, dmx, dmy, dmz
79 . msxphi, msyphi, mszphi, fsxphi,
80 . fsyphi, fszphi, fnphi, fsnxphi, fsnyphi, fsnzphi, fstxphi,
81 . fstyphi, fstzphi, dmxphi, dmyphi, dmzphi
83 . xx1phi,xx3phi,xx4phi,xx5phi,xx6phi
85 . yy1phi,yy3phi,yy4phi,yy5phi,yy6phi
87 . zz1phi,zz3phi,zz4phi,zz5phi,zz6phi
89 . al4phi,al5phi,al6phi,xx5t,yy5t,zz5t
92 my_real,
DIMENSION(:,:),
ALLOCATABLE :: fstparit
98 IF(lft+nft>nstrf(1,nseg))
RETURN
99 IF(llt+nft<nstrf(1,1 ))
RETURN
114 IF(itype+nsint==0)
THEN
121 ALLOCATE(fstparit(12,nsa))
132 2 xx4, yy4, zz4, xx5, yy5, zz5, xx6, yy6, zz6,
133 3 xxn, yyn, zzn,ifram,nnod,nod,ms)
136 2 xx5, yy5, zz5, xx6 , yy6 , zz6 ,
137 3 xxn, yyn, zzn, ifram, n1 , xsec)
146 IF(unpack(ipack,i1)/=0)
THEN
155 n = ixr(i1+1,nstrf(1,j))
164 fn=fsx*xxn+fsy*yyn+fsz*zzn
176 msx =dy1(k)*fz1(k)-dz1(k)*fy1(k)
177 msy =dz1(k)*fx1(k)-dx1(k)*fz1(k)
178 msz =dx1(k)*fy1(k)-dy1(k)*fx1(k)
184 dmx =msx*xx4+msy*yy4+msz*zz4
185 dmy =msx*xx5+msy*yy5+msz*zz5
186 dmz =msx*xx6+msy*yy6+msz*zz6
197 fst(10) = fst(10) + fsx
198 fst(11) = fst(11) + fsy
199 fst(12) = fst(12) + fsz
200 fst(13) = fst(13) + msx
201 fst(14) = fst(14) + msy
202 fst(15) = fst(15) + msz
204 . +fx1(k)*v(1,n) +fy1(k)*v(2,n) +fz1(k)*v(3,n)
205 . +mx1(k)*vr(1,n)+my1(k)*vr(2,n)+mz1(k)*vr(3,n)
216 IF(unpack(ipack,i1)/=0)
THEN
225 n = ixr(i1+1,nstrf(1,j))
234 fn=fsx*xxn+fsy*yyn+fsz*zzn
246 msx =dy1(k)*fz1(k)-dz1(k)*fy1(k)
247 msy =dz1(k)*fx1(k)-dx1(k)*fz1(k)
248 msz =dx1(k)*fy1(k)-dy1(k)*fx1(k)
254 dmx =msx*xx4+msy*yy4+msz*zz4
255 dmy =msx*xx5+msy*yy5+msz*zz5
256 dmz =msx*xx6+msy*yy6+msz*zz6
267 fst(10) = fst(10) + fsx
268 fst(11) = fst(11) + fsy
269 fst(12) = fst(12) + fsz
270 fst(13) = fst(13) + msx
271 fst(14) = fst(14) + msy
272 fst(15) = fst(15) + msz
274 . +fx1(k)*v(1,n) +fy1(k)*v(2,n) +fz1(k)*v(3,n)
275 . +mx1(k)*vr(1,n)+my1(k)*vr(2,n)+mz1(k)*vr(3,n)
277 fstparit(1,k)=fstparit(1,k)+fsnx
278 fstparit(2,k)=fstparit(2,k)+fsny
279 fstparit(3,k)=fstparit(3,k)+fsnz
280 fstparit(4,k)=fstparit(4,k)+fstx
281 fstparit(5,k)=fstparit(5,k)+fsty
282 fstparit(6,k)=fstparit(6,k)+fstz
283 fstparit(7,k)=fstparit(7,k)+msx
284 fstparit(8,k)=fstparit(8,k)+msy
285 fstparit(9,k)=fstparit(9,k)+msz
286 fstparit(10,k)=fstparit(10,k) +
287 . ( xx4*(fsnx+fstx) +
290 fstparit(11,k)=fstparit(11,k) +
291 . ( xx5*(fsnx+fstx) +
294 fstparit(12,k)=fstparit(12,k) +
295 . ( xx6*(fsnx+fstx) +
308 fsav(1)=fsav(1)+dt12*fst(1)
309 fsav(2)=fsav(2)+dt12*fst(2)
310 fsav(3)=fsav(3)+dt12*fst(3)
311 fsav(4)=fsav(4)+dt12*fst(4)
312 fsav(5)=fsav(5)+dt12*fst(5)
313 fsav(6)=fsav(6)+dt12*fst(6)
314 fsav(7)=fsav(7)+dt12*fst(7)
315 fsav(8)=fsav(8)+dt12*fst(8)
316 fsav(9)=fsav(9)+dt12*fst(9)
317 fsav(10)=fsav(10)+dt12*fst(16)
318 fsav(31)=fsav(31)+dt12*fst(13)
319 fsav(32)=fsav(32)+dt12*fst(14)
320 fsav(33)=fsav(33)+dt12*fst(15)
321 fsav(34)=fsav(34) + dt12* (xx4*(fst(1)+fst(4)) +
322 . yy4*(fst(2)+fst(5)) + zz4*(fst(3)+fst(6)))
324 . yy5*(fst(2)+fst(5)) + zz5*(fst(3)+fst(6)))
325 fsav(36)=fsav(36) + dt12* (xx6*(fst(1)+fst(4)) +
326 . yy6*(fst(2)+fst(5)) + zz6*(fst(3)+fst(6)))
331 fopta(2) = fopta(2) + fst(11)
332 fopta(3) = fopta(3) + fst(12)
333 fopta(4) = fopta(4) + fst(13)
334 fopta(5) = fopta(5) + fst(14)
335 fopta(6) = fopta(6) + fst(15)
336#include "lockoff.inc"
346 IF(unpack(ipack,i1)/=0)
THEN
347 n = ixr(i1+1,nstrf(1,j))
348 secfcum(1,n)=secfcum(1,n)+fx(i,i1)
349 secfcum(2,n)=secfcum(2,n)+fy(i,i1)
350 secfcum(3,n)=secfcum(3,n)+fz(i,i1)
351 secfcum(5,n)=secfcum(5,n)+mx(i,i1)
352 secfcum(6,n)=secfcum(6,n)+my(i,i1)
353 secfcum(7,n)=secfcum(7,n)+mz(i,i1)
357#include "lockoff.inc"