32
33
34
35#include "implicit_f.inc"
36
37
38
40 . x(3,*),tens(6),gama(6)
41 INTEGER IXS(NIXS), KCVT
42
43
44
46 . x1, x2, x3, x4,
47 . x5, x6, x7, x8,
48 . y1, y2, y3, y4,
49 . y5, y6, y7, y8,
50 . z1, z2, z3, z4,
51 . z5, z6, z7, z8,
52 . l11,l12,l13,l22,l23,l33,
53 . r11,r12,r13,r21,r22,r23,r31,r32,r33,
54 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
55 . t11,t22,t33,t12,t21,t23,t32,t13,t31,
56 . s11,s12,s21,s13,s31,s22,s23,s32,s33
57 INTEGER NC1, NC2, NC3, NC4,
58 . , NC6, NC7, NC8
59
60 nc1=ixs(2)
61 nc2=ixs(3)
62 nc3=ixs(4)
63 nc4=ixs(5)
64 nc5=ixs(6)
65 nc6=ixs(7)
66 nc7=ixs(8)
67 nc8=ixs(9)
68
69
70
71 x1=x(1,nc1)
72 y1=x(2,nc1)
73 z1=x(3,nc1)
74 x2=x(1,nc2)
75 y2=x(2,nc2)
76 z2=x(3,nc2)
77 x3=x(1,nc3)
78 y3=x(2,nc3)
79 z3=x(3,nc3)
80 x4=x(1,nc4)
81 y4=x(2,nc4)
82 z4=x(3,nc4)
83 x5=x(1,nc5)
84 y5=x(2,nc5)
85 z5=x(3,nc5)
86 x6=x(1,nc6)
87 y6=x(2,nc6)
88 z6=x(3,nc6)
89 x7=x(1,nc7)
90 y7=x(2,nc7)
91 z7=x(3,nc7)
92 x8=x(1,nc8)
93 y8=x(2,nc8)
94 z8=x(3,nc8)
95
96
97
99 . x1, x2, x3, x4, x5, x6, x7, x8,
100 . y1, y2, y3, y4, y5, y6, y7, y8,
101 . z1, z2, z3, z4, z5, z6, z7, z8,
102 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
103
104
105
106 IF (kcvt==2) THEN
107 g11=gama(1)
108 g21=gama(2)
109 g31=gama(3)
110 g12=gama(4)
111 g22=gama(5)
112 g32=gama(6)
113 g13=g21*g32-g31*g22
114 g23=g31*g12-g11*g32
115 g33=g11*g22-g21*g12
116
117 t11=r11*g11+r12*g21+r13*g31
118
119 t13=r11*g13+r12*g23+r13*g33
120 t21=r21*g11+r22*g21+r23*g31
121 t22=r21*g12+r22*g22+r23*g32
122 t23=r21*g13+r22*g23+r23*g33
123 t31=r31*g11+r32*g21+r33*g31
124 t32=r31*g12+r32*g22+r33*g32
125 t33=r31*g13+r32*g23+r33*g33
126 r11=t11
127 r12=t12
128 r13=t13
129 r21=t21
130 r22=t22
131 r23=t23
132 r31=t31
133 r32=t32
134 r33=t33
135 ENDIF
136
137
138
139
140
141
142
143
144
145
146
147 l11
148 l22 =tens(2)
149 l33 =tens(3)
150 l12 =tens(4)
151 l23 =tens(5)
152 l13 =tens(6)
153 s11 =l11*r11+l12*r12+l13*r13
154 s12 =l11*r21+l12*r22+l13*r23
155 s13 =l11*r31+l12*r32+l13*r33
156 s21 =l12*r11+l22*r12+l23*r13
157 s22 =l12*r21+l22*r22+l23*r23
158 s23 =l12*r31+l22*r32+l23*r33
159 s31 =l13*r11+l23*r12+l33*r13
160 s32 =l13*r21+l23*r22+l33*r23
161 s33 =l13*r31+l23*r32+l33*r33
162 tens(1)=r11*s11+r12*s21+r13*s31
163 tens(2)=r21*s12+r22*s22+r23*s32
164 tens(3)=r31*s13+r32*s23+r33*s33
165 tens(4)=r11*s12+r12*s22+r13*s32
166 tens(5)=r21*s13+r22*s23+r23*s33
167 tens(6)=r11*s13+r12*s23+r13*s33
168
169 RETURN
subroutine sortho31(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)