30 SUBROUTINE i2cin_rot27(STBRK,RS,RM,X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3,
31 . X4,Y4,Z4,DPARA,DWDU,E1X,E1Y,E1Z,E2X,E2Y,E2Z,E3X,E3Y,E3Z,
36#include "implicit_f.inc"
48 . stbrk,rs(3),rm(3),dpara(7),x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,dwdu,
49 . e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,betax,betay
56 . x12,x22,x32,x42,y12,y22,y32,y42,z12,z22,z32,z42,
57 . xx,yy,zz,xxx,yyy,zzz,xy,yz,zx,xy2,yz2,zx2,
58 . b1,b2,b3,c1,c2,c3,det,bb1,bb2,bb3,cc1,cc2,cc3,
59 . mloc(3,3),mloc2(3,3),mglob(3,3),pass(3,3),tpass(3,3),
60 . vect_sx,vect_sy,vect_sz,surf,ratio,l12_2,l23_2,l34_2,l41_2
79 xx=x12 + x22 + x32 + x42
80 yy=y12 + y22 + y32 + y42
81 zz=z12 + z22 + z32 + z42
82 xy=x1*y1 + x2*y2 + x3*y3 + x4*y4
83 yz=y1*z1 + y2*z2 + y3*z3 + y4*z4
84 zx=z1*x1 + z2*x2 + z3*x3 + z4*x4
91 det= xxx*yyy*zzz - xxx*yz2 - yyy*zx2 - zzz*xy2
97 vect_sx = y1*z2+y2*z3+y3*z4+y4*z1-z1*y2-z2*y3-z3*y4
98 vect_sy = z1*x2+z2*x3+z3*x4+z4*x1-x1*z2-x2*z3-x3*z4-x4*z1
99 vect_sz = x1*y2+x2*y3+x3*y4+x4*y1-y1*x2-y2*x3-y3*x4-y4*x1
101 vect_sx = y1*z2+y2*z3+y3*z1-z1*y2-z2*y3-z3*y1
103 vect_sz = x1*y2+x2*y3+x3*y1-y1*x2-y2*x3-y3*x1
106 surf = sqrt(vect_sx*vect_sx+vect_sy*vect_sy+vect_sz*vect_sz)
108 l12_2 = (x2-x1)**2+(y2-y1)**2+(z2-z1)**2
109 l23_2 = (x3-x2)**2+(y3-y2)**2+(z3-z2)**2
110 l34_2 = (x4-x3)**2+(y4-y3)**2+(z4-z3)**2
111 l41_2 = (x1-x4)**2+(y1-y4)**2+(z1-z4)**2
115 ratio = surf /
max(l12_2,l23_2,l34_2,l41_2)
119 IF (ratio > 5e-3)
THEN
130 ELSEIF (yy < xx)
THEN
161 dwdu=det*sqrt(
max(bb1*(yy+zz)+cc3*(zz+xx)+cc2*(xx+yy),
162 . bb2*(zz+xx)+cc1*(xx+yy)+cc3*(yy+zz),
163 . bb3*(xx+yy)+cc2*(yy+zz)+cc1*(zz+xx)))
165 stbrk=sqrt((r(1)*r(1)+r(2)*r(2)+r(3)*r(3)))*dwdu
199 mloc2(1:3,1:3) = matmul(mloc(1:3,1:3),tpass(1:3,1:3))
200 mglob(1:3,1:3) = matmul(pass(1:3,1:3),mloc2(1:3,1:3))
subroutine i2cin_rot27(stbrk, rs, rm, x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, dpara, dwdu, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, nir, betax, betay)