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, II, L, JJ
54 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm
115 1 NSN , NMN , A , IRECT, CRST,
116 2 MSR , NSV , IRTL, V , MS ,
121#include "implicit_f.inc"
126 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
129 . A(*), CRST(2,*), (*),MS(*), MMASS(*)
133#include "com01_c.inc"
137 INTEGER NIR, I, J, I3, J3, I2, J2, I1, J1, II, L, JJ
140 . H(4), SS, TT, AMX, AMY, AMZ, VMX, VMY, VMZ,SP,SM,TP,TM
209 SUBROUTINE i2rot3(NSN,NMN,AR ,IRECT,CRST,MSR ,
210 2 NSV,IRTL,VR ,IN ,A ,V ,X )
214#include "implicit_f.inc"
218#include "com01_c.inc"
223 . IRECT(4,*), MSR(*), NSV(*), IRTL(*)
226 . AR(3,*), CRST(2,*), VR(3,*),
227 . IN(*), A(3,*), V(3,*), X(3,*)
231 INTEGER I, J, II, L, JJ,
234 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,
236 . xc0,yc0,zc0,sp,sm,tp,tm,
273 amx=amx+ar(1,j)*h(jj)
274 amy=amy+ar(2,j)*h(jj)
275 amz=amz+ar(3,j)*h(jj)
276 vmx=vmx+vr(1,j)*h(jj)
277 vmy=vmy+vr(2,j)*h(jj)
278 vmz=vmz+vr(3,j)*h(jj)
279 xc0=xc0 - x(1,j) * h(jj)
280 yc0=yc0 - x(2,j) * h(jj)
281 zc0=zc0 - x(3,j) * h(jj)
291 vmxx = vmy*zc0 - vmz*yc0
292 vmyy = vmz*xc0 - vmx*zc0
293 vmzz = vmx*yc0 - vmy*xc0
295 a(1,i)= a(1,i) + amy*zc0 -amz*yc0 +half*(vmy*vmzz-vmz*vmyy)
296 a(2,i)= a(2,i) + amz*xc0
297 a(3,i)= a(3,i) + amx*yc0 -amy*xc0 +half*(vmx*vmyy-vmy*vmxx)
298 v(1,i)= v(1,i) + vmxx
299 v(2,i)= v(2,i) + vmyy
300 v(3,i)= v(3,i) + vmzz
315 2 NSV,IRTL,V ,MS ,AR ,VR ,
320#include "implicit_f.inc"
325 . (4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
328 . A(3,*), DPARA(7,*), V(3,*),
329 . MS(*),VR(3,*),AR(3,*),X(3,*)
333#include "com01_c.inc"
337 INTEGER NIR, I, J1, J2, J3, J4, II, L
340 . AMX, AMY, AMZ, VMX, VMY, VMZ,
341 . MRX,MRY,MRZ,MGX,MGY,MGZ,DET,ARX,ARY,ARZ,
342 . X0,X1,X2,X3,X4,XS,Y0,Y1,Y2,Y3,Y4,YS,Z0,Z1,Z2,Z3,Z4,ZS,
344 . VRX,VRY,VRZ,B1,B2,B3,C1,C2,C3
387 vmx=fourth*(v(1,j1)+v(1,j2
388 vmy=fourth*(v(2,j1)+v(2,j2)+v(2,j3)+v(2,j4))
389 vmz=fourth*(v(3,j1)+v(3,j2)+v(3,j3)+v(3,j4))
390 amx=fourth*(a(1,j1)+a(
391 amy=fourth*(a(2,j1)+a(2,j2)+a(2,j3)+a(2,j4))
392 amz=fourth*(a(3,j1)+a(3,j2)+a(3,j3)+a(3,j4))
408 x0=fourth*(x1+x2+x3+x4)
409 y0=fourth*(y1+y2+y3+y4)
410 z0=fourth*(z1+z2+z3+z4)
469 mgx = y1*v(3,j1) + y2*v(3,j2) + y3*v(3,j3) + y4*v(3,j4)
470 . - z1*v(2,j1) - z2*v(2,j2) - z3*v(2,j3) - z4*v(2,j4)
471 mgy = z1*v(1,j1) + z2*v(1,j2) + z3*v(1,j3) + z4*v(1,j4)
472 . - x1*v(3,j1) - x2*v(3,j2) - x3*v(3,j3) - x4*v(3,j4)
473 mgz = x1*v(2,j1) + x2*v(2,j2) + x3*v(2,j3) + x4*v(2,j4)
474 . - y1*v(1,j1) - y2*v(1,j2) - y3*v(1,j3) - y4*v(1,j4)
476 mrx = y1*a(3,j1) + y2*a(3,j2) + y3*a(3,j3) + y4*a(3,j4)
477 . - z1*a(2,j1) - z2*a(2,j2) - z3*a(2,j3) - z4*a(2,j4)
478 mry = z1*a(1,j1) + z2*a(1,j2) + z3*a(1,j3) + z4*a(1,j4)
479 . - x1*a(3,j1) - x2*a(3,j2) - x3*a(3,j3) - x4*a(3,j4)
480 mrz = x1*a(2,j1) + x2*a(2,j2) + x3*a(2,j3) + x4*a(2,j4)
484 vrx=det*(mgx*b1+mgy*c3+mgz*c2)
485 vry=det*(mgy*b2+mgz*c1+mgx*c3)
486 vrz=det*(mgz*b3+mgx*c2+mgy*c1)
487 arx=det*(mrx*b1+mry*c3+mrz*c2)
488 ary=det*(mry*b2+mrz*c1+mrx*c3)
489 arz=det*(mrz*b3+mrx*c2+mry*c1)
494 IF (iroddl == 1)
THEN
505 v(1,i)=vmx + vry*zs - vrz*ys
506 v(2,i)=vmy + vrz*xs - vrx*zs
507 v(3,i)=vmz + vrx*ys - vry*xs
508 a(1,i)=amx + ary*zs - arz*ys
509 a(2,i)=amy + arz*xs - arx*zs
510 a(3,i)=amz + arx*ys - ary*xs
522 2 NSV,IRTL,VR ,IN ,A ,V ,X,
523 3 SINER,DPARA,MSEGTYP2)
527#include "implicit_f.inc"
532 . irect(4,*), msr(*), nsv(*), irtl(*),msegtyp2(*)
535 . ar(3,*), crst(2,*), vr(3,*),
536 . in(*), a(3,*), v(3,*), x(3,*), siner(*),dpara(7,*)
540#include "com01_c.inc"
544 INTEGER I, J, J3, J2, J1, II, L, ,
547 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,
548 . x0,x1,x2,x3,x4,y0,y1,y2,y3,y4,z0,z1,z2,z3,z4,
549 . xc0,yc0,zc0,sp,sm,tp,tm,
550 . mgx,mgy,mgz,mrx,mry,mrz,vmxx,vmyy,vmzz,
551 . det,c1,c2,c3,b1,b2,b3
565 IF (irect(3,l) == irect(4,l))
THEN
575 tp = fourth*(one + tt)
576 tm = fourth*(one - tt)
590 xc0=xc0 - x(1,j) * h(jj)
591 yc0=yc0 - x(2,j) * h(jj)
592 zc0=zc0 - x(3,j) * h(jj)
600 IF (msegtyp2(l)==0)
THEN
624 x0=fourth*(x1+x2+x3+x4)
625 y0=fourth*(y1+y2+y3+y4)
626 z0=fourth*(z1+z2+z3+z4)
656 mgx = y1*v(3,j1) + y2*v(3,j2) + y3*v(3,j3) + y4*v(3,j4)
657 . - z1*v(2,j1) - z2*v(2,j2) - z3*v(2,j3) - z4*v(2,j4)
658 mgy = z1*v(1,j1) + z2*v(1,j2) + z3*v(1,j3) + z4*v(1,j4)
659 . - x1*v(3,j1) - x2*v(3,j2) - x3*v(3,j3) - x4*v(3,j4)
660 mgz = x1*v(2,j1) + x2*v(2,j2) + x3*v(2,j3) + x4*v(2,j4)
661 . - y1*v(1,j1) - y2*v(1,j2) - y3*v(1,j3) - y4*v(1,j4)
663 mrx = y1*a(3,j1) + y2*a(3,j2) + y3*a(3,j3) + y4*a(3,j4)
664 . - z1*a(2,j1) - z2*a(2,j2) - z3*a(2,j3) - z4*a(2,j4)
665 mry = z1*a(1,j1) + z2*a(1,j2) + z3*a(1,j3) + z4*a(1,j4)
666 . - x1*a(3,j1) - x2*a(3,j2) - x3*a(3,j3) - x4*a(3,j4)
667 mrz = x1*a(2,j1) + x2*a(2,j2) + x3*a(2,j3) + x4*a(2,j4)
668 . - y1*a(1,j1) - y2*a(1,j2) - y3*a(1,j3) - y4*a(1,j4)
670 vmx=det*(mgx*b1+mgy*c3+mgz*c2)
671 vmy=det*(mgy*b2+mgz*c1+mgx*c3)
672 vmz=det*(mgz*b3+mgx*c2+mgy*c1)
673 amx=det*(mrx*b1+mry*c3+mrz*c2)
674 amy=det*(mry*b2+mrz*c1+mrx*c3)
675 amz=det*(mrz*b3+mrx*c2+mry*c1)
691 amx=amx+ar(1,j)*h(jj)
692 amy=amy+ar(2,j)*h(jj)
693 amz=amz+ar(3,j)*h(jj)
694 vmx=vmx+vr(1,j)*h(jj)
695 vmy=vmy+vr(2,j)*h(jj)
696 vmz=vmz+vr(3,j)*h(jj)
710 vmxx = vmy*zc0 - vmz*yc0
711 vmyy = vmz*xc0 - vmx*zc0
712 vmzz = vmx*yc0 - vmy*xc0
714 a(1,i)= a(1,i) + amy*zc0 -amz*yc0 +half*(vmy*vmzz-vmz*vmyy)
715 a(2,i)= a(2,i) + amz*xc0 -amx*zc0 +half*(vmz*vmxx-vmx*vmzz)
716 a(3,i)= a(3,i) + amx*yc0 -amy*xc0 +half*(vmx*vmyy-vmy*vmxx)
717 v(1,i)= v(1,i) + vmxx
718 v(2,i)= v(2,i) + vmyy
719 v(3,i)= v(3,i) + vmzz
732 1 NSN , NMN , A , IRECT, CRST,
733 2 MSR , NSV , IRTL, V , MS ,
738#include "implicit_f.inc"
743 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
746 . a(*), crst(2,*), v(*),ms(*), mmass(*)
750#include "com01_c.inc"
754 INTEGER NIR, , J, I3, J3, I2, J2, I1, J1, II, L, JJ
757 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm
770 IF (irect(3,l) == irect(4,l))
THEN
780 tp = fourth*(one + tt)
781 tm = fourth*(one - tt)