29 1 NSN , NMN , A , IRECT, CRST,
30 2 MSR , NSV , IRTL, V , MS ,
35#include "implicit_f.inc"
40 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
43 . a(*), crst(2,*), v(*),ms(*), mmass(*)
51 INTEGER NIR, I, J, I3, J3, I2, J2, I1, J1, ISK, ICOD, II, L, JJ,
55 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm
116 1 NSN , NMN , A , IRECT, CRST,
117 2 MSR , NSV , IRTL, V , MS ,
122#include "implicit_f.inc"
127 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
130 . A(*), CRST(2,*), V(*),MS(*), MMASS(*)
134#include "com01_c.inc"
138 INTEGER NIR, I, J, I3, J3, I2, J2, I1, J1, ISK, ICOD, II, L, JJ,
142 . H(4), SS, TT, AMX, AMY, AMZ, VMX, VMY, VMZ,SP,SM,TP,TM,MAS
211 SUBROUTINE i2rot3(NSN,NMN,AR ,IRECT,CRST,MSR ,
212 2 NSV,IRTL,VR ,IN ,A ,V ,X )
216#include "implicit_f.inc"
220#include
"com01_c.inc"
225 . IRECT(4,*), MSR(*), NSV(*), IRTL(*)
228 . AR(3,*), CRST(2,*), VR(3,*),
229 . IN(*), A(3,*), V(3,*), X(3,*)
233 INTEGER I, J, I3, J3, I2, , I1, J1, ISK, ICOD, II, L, JJ,
236 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,inm,
237 . x0,x1,x2,x3,x4,y0,y1,y2,y3,y4,z0,z1,z2,z3,z4,aa,
238 . nx,ny,nz,x13,x24,y13,y24,z13,z24,xc0,yc0,zc0,sp,sm,tp,tm,
239 . xc,yc,zc,vmxx,vmyy,vmzz
275 amx=amx+ar(1,j)*h(jj)
276 amy=amy+ar(2,j)*h(jj)
277 amz=amz+ar(3,j)*h(jj)
278 vmx=vmx+vr(1,j)*h(jj)
279 vmy=vmy+vr(2,j)*h(jj)
280 vmz=vmz+vr(3,j)*h(jj)
281 xc0=xc0 - x(1,j) * h(jj)
282 yc0=yc0 - x(2,j) * h(jj)
283 zc0=zc0 - x(3,j) * h(jj)
293 vmxx = vmy*zc0 - vmz*yc0
294 vmyy = vmz*xc0 - vmx*zc0
295 vmzz = vmx*yc0 - vmy*xc0
297 a(1,i)= a(1,i) + amy*zc0 -amz*yc0 +half*(vmy
298 a(2,i)= a(2,i) + amz*xc0 -amx*zc0 +half*(vmz*vmxx-vmx*vmzz)
299 a(3,i)= a(3,i) + amx*yc0 -amy*xc0 +half*(vmx*vmyy-vmy*vmxx)
300 v(1,i)= v(1,i) + vmxx
301 v(2,i)= v(2,i) + vmyy
302 v(3,i)= v(3,i) + vmzz
317 2 NSV,IRTL,V ,MS ,AR ,VR ,
322#include "implicit_f.inc"
327 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
330 . A(3,*), DPARA(7,*), (3,*),
331 . MS(*),VR(3,*),(3,*),X(3,*)
335#include "com01_c.inc"
339 INTEGER NIR, I, J, J1, , J3, J4, ISK, ICOD, II, L, JJ,
343 . H(4), SS, TT, AMX, AMY, AMZ, VMX, VMY, VMZ,SP,SM,TP,TM,MAS,
344 . MRX,MRY,MRZ,MGX,MGY,MGZ,DET,ARX,ARY,ARZ,
345 . X0,X1,X2,X3,X4,XS,Y0,Y1,Y2,Y3,Y4,YS,Z0,Z1,Z2,Z3,Z4,ZS,
346 . X12,X22,X32,X42,Y12,Y22,Y32,Y42,Z12,Z22,Z32,Z42,
347 . XX,YY,ZZ,XXX,YYY,ZZZ,XY,YZ,ZX,XY2,YZ2,ZX2,
392 vmx=fourth*(v(1,j1)+v(1,j2)+v(1,j3)+v(1,j4))
393 vmy=fourth*(v(2,j1)+v(2,j2)+v(2,j3)+v(2,j4))
394 vmz=fourth*(v(3,j1)+v(3,j2)+v(3,j3)+v(3,j4))
395 amx=fourth*(a(1,j1)+a(1,j2)+a(1,j3)+a(1,j4))
396 amy=fourth*(a(2,j1)+a(2,j2)+a(2,j3)+a(2,j4))
397 amz=fourth*(a(3,j1)+a(3,j2)+a(3,j3)+a(3,j4))
413 x0=fourth*(x1+x2+x3+x4)
414 y0=fourth*(y1+y2+y3+y4)
415 z0=fourth*(z1+z2+z3+z4)
474 mgx = y1*v(3,j1) + y2*v(3,j2) + y3*v(3,j3) + y4*v(3,j4)
476 mgy = z1*v(1,j1) + z2*v(1,j2) + z3*v(1,j3) + z4*v(1,j4)
477 . - x1*v(3,j1) - x2*v(3,j2) - x3*v(3,j3) - x4*v(3,j4)
478 mgz = x1*v(2,j1) + x2*v(2,j2) + x3*v(2,j3) + x4*v(2,j4)
479 . - y1*v(1,j1) - y2*v(1,j2) - y3*v(1,j3) - y4*v(1,j4)
481 mrx = y1*a(3,j1) + y2*a(3,j2) + y3*a(3,j3) + y4*a(3,j4)
482 . - z1*a(2,j1) - z2*a(2,j2) - z3*a(2,j3) - z4*a(2,j4)
483 mry = z1*a(1,j1) + z2*a(1,j2) + z3*a(1,j3) + z4*a(1,j4)
484 . - x1*a(3,j1) - x2*a(3,j2) - x3*a(3,j3) - x4*a(3,j4)
485 mrz = x1*a(2,j1) + x2*a(2,j2) + x3*a(2,j3) + x4*a(2,j4)
486 . - y1*a(1,j1) - y2*a(1,j2) - y3*a(1,j3) - y4*a(1,j4)
489 vrx=det*(mgx*b1+mgy*c3+mgz*c2)
490 vry=det*(mgy*b2+mgz*c1+mgx*c3)
491 vrz=det*(mgz*b3+mgx*c2+mgy*c1)
492 arx=det*(mrx*b1+mry*c3+mrz*c2)
493 ary=det*(mry*b2+mrz*c1+mrx*c3)
494 arz=det*(mrz*b3+mrx*c2+mry*c1)
499 IF (iroddl == 1)
THEN
510 v(1,i)=vmx + vry*zs - vrz*ys
511 v(2,i)=vmy + vrz*xs - vrx*zs
512 v(3,i)=vmz + vrx*ys - vry*xs
513 a(1,i)=amx + ary*zs - arz*ys
514 a(2,i)=amy + arz*xs - arx*zs
515 a(3,i)=amz + arx*ys - ary*xs
527 2 NSV,IRTL,VR ,IN ,A ,V ,X,
528 3 SINER,DPARA,MSEGTYP2)
532#include "implicit_f.inc"
537 . irect(4,*), msr(*), nsv(*), irtl(*),msegtyp2(*)
540 . ar(3,*), crst(2,*), vr(3,*),
541 . in(*), a(3,*), v(3,*), x(3,*), siner(*),dpara(7,*)
545#include "com01_c.inc"
549 INTEGER I, J, I3, J3, I2, J2, I1, J1, ISK, ICOD, II, L, JJ,
552 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,inm,
553 . x0,x1,x2,x3,x4,y0,y1,y2,y3,y4,z0,z1,z2,z3,z4,aa,
554 . nx,ny,nz,x13,x24,y13,y24,z13,z24,xc0,yc0,zc0,sp,sm,tp,tm,
555 . xc,yc,zc,mgx,mgy,mgz,mrx,mry,mrz,vmxx,vmyy,vmzz,
556 . det,c1,c2,c3,b1,b2,b3
570 IF (irect(3,l) == irect(4,l))
THEN
580 tp = fourth*(one + tt)
581 tm = fourth*(one - tt)
595 xc0=xc0 - x(1,j) * h(jj)
596 yc0=yc0 - x(2,j) * h(jj)
597 zc0=zc0 - x(3,j) * h(jj)
605 IF (msegtyp2(l)==0)
THEN
629 x0=fourth*(x1+x2+x3+x4)
630 y0=fourth*(y1+y2+y3+y4)
631 z0=fourth*(z1+z2+z3+z4)
661 mgx = y1*v(3,j1) + y2*v(3,j2) + y3*v(3,j3) + y4*v(3,j4)
662 . - z1*v(2,j1) - z2*v(2,j2) - z3*v(2,j3) - z4*v(2,j4)
663 mgy = z1*v(1,j1) + z2*v(1,j2) + z3*v(1,j3) + z4*v(1,j4)
664 . - x1*v(3,j1) - x2*v(3,j2) - x3*v(3,j3) - x4*v
665 mgz = x1*v(2,j1) + x2*v(2,j2) + x3*v(2,j3) + x4*v(2,j4)
666 . - y1*v(1,j1) - y2*v(1,j2) - y3*v(1,j3) - y4*v(1,j4)
668 mrx = y1*a(3,j1) + y2*a(3,j2) + y3*a(3,j3) + y4*a(3,j4)
669 . - z1*a(2,j1) - z2*a(2,j2) - z3*a(2,j3) - z4*a(2,j4)
670 mry = z1*a(1,j1) + z2*a(1,j2) + z3*a(1,j3) + z4*a(1,j4)
671 . - x1*a(3,j1) - x2*a(3,j2) - x3*a(3,j3) - x4*a(3,j4)
672 mrz = x1*a(2,j1) + x2*a(2,j2) + x3*a(2,j3) + x4*a(2,j4)
673 . - y1*a(1,j1) - y2*a(1,j2) - y3*a(1,j3) - y4*a(1,j4)
675 vmx=det*(mgx*b1+mgy*c3+mgz*c2)
676 vmy=det*(mgy*b2+mgz*c1+mgx*c3)
677 vmz=det*(mgz*b3+mgx*c2+mgy*c1)
678 amx=det*(mrx*b1+mry*c3+mrz*c2)
679 amy=det*(mry*b2+mrz*c1+mrx*c3)
680 amz=det*(mrz*b3+mrx*c2+mry*c1)
696 amx=amx+ar(1,j)*h(jj)
697 amy=amy+ar(2,j)*h(jj)
698 amz=amz+ar(3,j)*h(jj)
699 vmx=vmx+vr(1,j)*h(jj)
700 vmy=vmy+vr(2,j)*h(jj)
701 vmz=vmz+vr(3,j)*h(jj)
715 vmxx = vmy*zc0 - vmz*yc0
716 vmyy = vmz*xc0 - vmx*zc0
717 vmzz = vmx*yc0 - vmy*xc0
719 a(1,i)= a(1,i) + amy*zc0 -amz*yc0 +half*(vmy*vmzz-vmz*vmyy)
720 a(2,i)= a(2,i) + amz*xc0 -amx*zc0 +half*(vmz*vmxx-vmx*vmzz)
721 a(3,i)= a(3,i) + amx*yc0 -amy*xc0 +half*(vmx*vmyy-vmy*vmxx)
722 v(1,i)= v(1,i) + vmxx
723 v(2,i)= v(2,i) + vmyy
724 v(3,i)= v(3,i) + vmzz
737 1 NSN , NMN , A , IRECT, CRST,
738 2 MSR , NSV , IRTL, V , MS ,
743#include "implicit_f.inc"
748 . IRECT(4,*), (*), NSV(*), IRTL(*),WEIGHT(*)
751 . a(*), crst(2,*), v(*),ms(*), mmass(*)
755#include "com01_c.inc"
759 INTEGER NIR, I, J, I3, J3, I2, J2, I1, , ISK, ICOD, II, L, JJ
763 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm,mas
776 IF (irect(3,l) == irect(4,l))
THEN
786 tp = fourth*(one + tt)
787 tm = fourth*(one - tt)