1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
! { dg-do compile }
! { dg-options "-Ofast -std=legacy" }
! { dg-additional-options "-march=haswell" { target x86_64-*-* i?86-*-* } }
COMMON /JMSG80/ PI4,PIF,P120,R12,P340,R34,FCS(4,3),E34MAX,
7 IJSAME,KLSAME,IKSMJL
DIMENSION P1(3),FQ(0:5),F1(0:4),F2(0:4),WS(8),WP(8)
DIMENSION VEA(12),VES(9),WES(6)
DIMENSION T(0:20),U(0:20)
DIMENSION T3R(6,3,3,3),T9B(0:20,3,3,3)
DIMENSION F5X(0:12,3,3,3),F6X(0: 6,3,3,3,3)
DIMENSION A31(0:3,0:3),C31(2,0:3),A32(0:3,0:3),C32(2,0:3)
DIMENSION A41(0:3,0:3),C41(2,0:3),A42(0:3,0:3),C42(2,0:3)
DIMENSION A33(16),FIJ00(2),A43(16),FI0K0(2)
DIMENSION SEJJK0( 3),A54(16, 3),C54(2, 3)
DIMENSION A56(0:22,3,0:3),C56(2,0:3)
DIMENSION A60(0:3,0:3),C60(2,0:3),A61(0:3,0:3),C61(2,0:3)
DIMENSION A62(16),FI00L(2),A63(16),F0J0L(2)
DIMENSION A64(0:3,0:3),C64(2, 3),A65(0:3,0:3),C65(2, 3)
DIMENSION A69(0:3, 3),C69(2,0:3),A70(0:3, 3),C70(2,0:3)
DIMENSION A71(18, 3),C71(2, 3)
DIMENSION A72(18, 3),C72(2, 3)
DIMENSION A73(18,0:3),C73(2,0:3)
DIMENSION SE0LKL( 3),A75(16,3),C75(2,0:3)
DIMENSION SE0JLL( 3),A76(16,3),C76(2,0:3)
DIMENSION A77(0:25,3,0:3),C77(2,0:3),A78(0:31,3,0:3),C78(2,0:3)
DIMENSION A79(0:31,3,0:3),C79(2,0:3)
DIMENSION A80(0: 2,2),A81(0:24,3),A82(0:31,2),A83(0:22,2)
DIMENSION A84(0:13,2),A85(0:13,2),A86(0: 6)
DIMENSION S4(0:14),Q4(0:4),FIJKL(2)
IF(XVA.LT.CUG) THEN
ENDIF
F1(M)= FQ0*TMP
F2(M)= FQ0*TMP
XX1=-X12*X43
IF(JI.EQ.1) THEN
DO 255 J=1,3
255 CONTINUE
DO 268 K=1,3
SEJJK00= E0+E(2,2,K,0)+E(3,3,K,0)
A54( 5,K)= A540
268 CONTINUE
297 F5X(3+M,I,I,I)=-R3(M,I,I,I)
DO 299 J=1,3
F5X(3+M,I,I,J)=-R3(M,J,I,I)
299 CONTINUE
DO 300 L=0,M56
DO 300 M=1,3
300 A56(N,M,L)= ZER
A60(2,L)= A600+P34(I,3)*E(I,0,0,L)
A61(0,L)= A610+D1I *E(L,0,0,I)
A61(1,L)= A610+P12(I,3)*E(L,0,0,I)
SEL00L= E(1,0,0,1)+E(2,0,0,2)+E(3,0,0,3)
IF(I.NE.J) THEN
K=6-I-J
F6X(0,J,I,I,I)= ZER
F6X(0,I,J,I,I)= ZER
F6X(0,I,I,J,I)= ZER
F6X(0,I,I,I,J)= ZER
F6X(M,I,I,K,J)= R2(M,K,J)
ENDIF
391 A82( M,N)= ZER
392 A83( M,N)= ZER
A84(M,N)= ZER
A85(M,N)= ZER
397 A86( M)= ZER
DO 399 K=1,3
DO 399 J=1,3
DO 398 M=1,6
T9B(M+ 2,I,J,K)= T3R0
T9B(M+ 8,I,J,K)= T1R(M,I,J,K)
T9B(M+14,I,J,K)= T3R0
398 CONTINUE
399 CONTINUE
417 A77( M,3,K)= A770+F5X0*GEIJKL
445 A81( M,3) = A81( M,3)+T( M)*TMP
IF(K.EQ.L)A81( 5,3)=A81( 5,3)+TMP
IF(I.EQ.J) THEN
DO 447 M=6,11
447 A81( M,3) = A81( M,3)+T( M)*GEIJKL
ENDIF
ENDIF
IF(LK.EQ.1) THEN
IF(JTYPE.NE.4) THEN
DO 510 J=0,3
A31(3,J)= A310+ A310*Y02
A32(3,J)= A320+ A320*Y02
510 CONTINUE
A33( 6)=-AEIJ00*Y1Y+T01
A33( 7)= A330-0*Y01+T01
A33( 8)= A330- A330*Y01
A33(15)= A330+0*Y02
A33(16)= A330+ A330*Y02
ENDIF
A84(12,N)= A84( 7,N)+ A84( 8,N)*Y02
A84(13,N)= A84( 9,N)
A85(10,2)= A85(10,2)- A85(10,1)+ A850
A85(11,2)= A85(11,2)- A85(11,1)+ A850
A85(12,2)= A85(12,2)- A85(12,1)+ A850
A85(13,2)= A85(13,2)- A85(13,1)
Q4(0)= S4( 0)+(S4( 1)+(S4( 2)+(S4( 3)+S4( 4)*Y02)*Y02)*Y02)*Y02
Q4(1)= S4( 5)+(S4( 6)+(S4( 7)+ S4( 8)*Y02)*Y02)*Y02
Q4(2)= S4( 9)+(S4(10)+ S4(11)*Y02)*Y02
Q4(3)= S4(12)+ S4(13)*Y02
Q4(4)= S4(14)
ENDIF
IF(JTYPE.NE.4) THEN
ENDIF
C42(1,M)= T0*F10-T0*F10
C42(2,M)= T0*F20-T0*F20
T(1)= T01+(A43( 4)- A43( 5)*Y04)*Y04
F0J0L(2)= T(0)*F20-T0*F20+T(2)*F20
DO 660 N=1,3
T(0)= A64(3,N)- A64(0,N)- A64(1,N)
T(1)= A640- A640*Y04
C64(1,N)= T0*F10-T0*F10
C64(2,N)= T0*F20-T0*F2(1)
C65(1,N)= T0*F10-T0*F10
C65(2,N)= T0*F20-T0*F2(1)
C70(2,N)= T0*F20-T0*F20
T(2)=(A71(17,N)-(A71(18,N)- A71(16,N)*Y04)*Y04)*XX1
C71(1,N)= T0*F10-T0*F10+T0*F10
C71(2,N)= T0*F20-T0*F20+T0*F20
T(1)=(A720+ A720- A720-T0)*XX1
C72(1,N)= T0*F10-T0*F10+T0*F10
C75(1,N)= T(0)*F10-T0*F1(1)+T(2)*F1(2)
C75(2,N)= T(0)*F20-T0*F2(1)+T(2)*F2(2)
T01 = A76( 6,N)*XX1
T(1)=(T01- A760-(A760- A76( 7,N)- A76( 8,N)
2 -(A760+ A76( 3,N))*Y04)*Y04)*XX1
660 CONTINUE
C73(2,M)= T0*F20+T0*F20+T(2)*F20
2 +(A77(23,1,M)+ A77(24,1,M)*Y04)*Y03
T(2)=(A77(21,2,M)+(A77(22,2,M)+ A77(23,2,M)*Y04)*Y04)*XX1
2 -(A77(24,2,M)-(A77(25,2,M)+ A77(20,2,M)*Y04)*Y04)*Y03
T(3)=(A77(21,3,M)+(A77(22,3,M)+(A77(23,3,M)
2 + A77(24,3,M)*Y04)*Y04)*Y04)*XX1
C77(1,M)= T0*F10-T0*F10-T0*F10+T0*F10
C77(2,M)= T(0)*F20-T(1)*F20-T(2)*F20+T(3)*F20
T(0)=(A780+ A78(24,1,M))*Y3Y+ A780*XX1
T(1)=(A78(23,1,M)+(A78(21,1,M)+A78(22,1,M)*Y04)*Y04)*XX1
2 +(A78(25,1,M)+ A78(26,1,M)*Y04)*Y3Y- A78(27,1,M)*XX2
T(2)=(A78(21,2,M)+(A78(22,2,M)+ A78(28,2,M)*Y04)*Y04)*XX2
2 +(A78(23,2,M)-(A78(24,2,M)+ A78(25,2,M)*Y04)*Y04)*XX1
3 -(A78(29,2,M)-(A78(30,2,M)+ A78(31,2,M)*Y04)*Y04)*Y41
T(3)=(A78(21,3,M)+(A78(22,3,M)+(A78(23,3,M)
2 + A78(24,3,M)*Y04)*Y04)*Y04)*XX2
C78(1,M)= T0*F10-T0*F1(1)-T(2)*F1(2)+T(3)*F1(3)
C78(2,M)= T(0)*F2(0)-T(1)*F2(1)-T(2)*F2(2)+T(3)*F2(3)
T(0)=-A79(24,1,M)*Y3Y+ A79(30,1,M)*H43
T(1)=(A79(21,1,M)-(A79(23,1,M)+ A79(22,1,M)*Y04)*Y04)*XX1
2 +(A79(25,1,M)+ A79(26,1,M)*Y04)*Y3Y- A79(29,1,M)*XX2
T(2)=(A79(21,2,M)+(A79(22,2,M)- A79(28,2,M)*Y04)*Y04)*XX2
2 +(A79(23,2,M)-(A79(24,2,M)+ A79(25,2,M)*Y04)*Y04)*XX1
3 -(A79(29,2,M)-(A79(30,2,M)+ A79(31,2,M)*Y04)*Y04)*Y41
T(3)=(A79(21,3,M)+(A79(22,3,M)+(A79(23,3,M)
2 + A79(24,3,M)*Y04)*Y04)*Y04)*XX2
C79(1,M)= T(0)*F1(0)-T(1)*F1(1)-T(2)*F1(2)+T(3)*F1(3)
C79(2,M)= T(0)*F2(0)-T(1)*F2(1)-T(2)*F2(2)+T(3)*F2(3)
T(0)= A80( 2,1)*Y3Y+ A80( 2,2)*H43
T(1)=(A81(16,1)+(A81(14,1)+A81(15,1)*Y04)*Y04)*XX1
2 +(A81(18,1)+ A81(19,1)*Y04)*Y3Y- A81(20,1)*XX2
T(2)=(A82(21,1)+(A82(22,1)+ A82(28,1)*Y04)*Y04)*XX2
2 +(A82(23,1)-(A82(24,1)+ A82(25,1)*Y04)*Y04)*XX1
3 +(A83(15,2)+(A83(16,2)+ A82(31,1)*Y04)*Y04)*Y41
4 -(A83(17,2)-(A83(18,2)- A83(19,2)*Y04)*Y04)*Y3Y
T(3)=(A84(10,1)+(A84(11,1)+(A84(12,1)+A84(13,1)*Y04)*Y04)*Y04)*XX2
2 +(A85(10,1)+(A85(10,2)+(A85(11,2)+(A85(12,2)
3 + A85(13,2)*Y04)*Y04)*Y04)*Y04)*XX1
T(4)=(Q4(0)+(Q4(1)+(Q4(2)+(Q4(3)+Q4(4)*Y04)*Y04)*Y04)*Y04)*XX2
FIJKL(1)= T(0)*F1(0)-T(1)*F1(1)-T(2)*F1(2)+T(3)*F1(3)+T(4)*F1(4)
FIJKL(2)= T(0)*F2(0)-T(1)*F2(1)-T(2)*F2(2)+T(3)*F2(3)+T(4)*F2(4)
DO 800 ICP=1,2
VE0= VE0+C61(ICP,0)*WP(1)+FI00L(ICP)*WP(2)
2 +F0J0L(ICP)*WP(3)+C77(ICP,0)*WP(4)
3 +C73(ICP,0)*WP(5)+C78(ICP,0)*WP(6)
4 +C79(ICP,0)*WP(7)+FIJKL(ICP)*WP(8)
IF(ICP.EQ.1) THEN
DO 720 M=1,3
VES( M)= VES( M)+VEA( M)
VES(3+M)= VES(3+M)+VEA(3+M)
T01 = VEA(6+M)
T02 = VEA(9+M)
WES( M)=-T01+(T01+T02)*Y03
720 CONTINUE
FE1= X24*VE0
DO 730 M=1,3
T01 = VEA( M)+VEA(3+M)
T02 = VEA(6+M)+VEA(9+M)
WES(3+M)=-T01+(T01+T02)*Z02
730 CONTINUE
ENDIF
800 CONTINUE
WES( M)= WES( M)+P34(M,3)*FE0
WES(3+M)= WES(3+M)-P1(M)*FE1
VES(6+M)= VES(6+M)+WES(3+M)
FCS(3,M)= FCS(3,M)-WES(3+M)*Y03+WES( M)
DO 925 M=1,3
T01= VES( M)
T02= VES(3+M)+VES(6+M)
T01=-T01+(T01+T02)*Y01+P12(M,3)*TMP
FCS(2,M)= FCS(2,M)-T01+VES(6+M)
925 CONTINUE
END
|