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