-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsdet.f90
221 lines (220 loc) · 10.8 KB
/
sdet.f90
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
!**************************************************************
!* AceGen 6.808 Linux (6 Sep 16) *
!* Co. J. Korelc 2013 6 Mar 20 17:56:38 *
!**************************************************************
! User : Full professional version
! Notebook : sdet
! Evaluation time : 6 s Mode : Optimal
! Number of formulae : 150 Method: Automatic
! Subroutine : sdet size: 5626
! Total size of Mathematica code : 5626 subexpressions
! Total size of Fortran code : 10503 bytes
!******************* S U B R O U T I N E **********************
SUBROUTINE sdet(v,qn,se,s,dsedgamma,dsedc,dsdgamma,dsdc)
USE SMSUtility
IMPLICIT NONE
DOUBLE PRECISION v(341),qn(3,3),se(6),s(6),dsedgamma(6),dsedc(6,6),dsdgamma(6),dsdc(6,6)
v(336)=dsedc(2,6)*qn(2,3)
v(335)=dsedc(1,6)*qn(2,2)
v(334)=dsedc(6,6)*qn(1,2)
v(333)=dsedc(5,6)*qn(1,1)
v(332)=dsedc(2,5)*qn(2,3)
v(331)=dsedc(1,5)*qn(2,2)
v(330)=dsedc(6,5)*qn(1,2)
v(329)=dsedc(5,5)*qn(1,1)
v(328)=dsedc(2,4)*qn(2,3)
v(327)=dsedc(1,4)*qn(2,2)
v(326)=dsedc(6,4)*qn(1,2)
v(325)=dsedc(5,4)*qn(1,1)
v(324)=dsedc(2,3)*qn(2,3)
v(323)=dsedc(1,3)*qn(2,2)
v(322)=dsedc(6,3)*qn(1,2)
v(321)=dsedc(5,3)*qn(1,1)
v(320)=dsedc(2,2)*qn(2,3)
v(319)=dsedc(1,2)*qn(2,2)
v(318)=dsedc(6,2)*qn(1,2)
v(317)=dsedc(5,2)*qn(1,1)
v(316)=dsedc(2,1)*qn(2,3)
v(315)=dsedc(1,1)*qn(2,2)
v(314)=dsedc(6,1)*qn(1,2)
v(313)=dsedc(5,1)*qn(1,1)
v(312)=2d0*qn(1,3)
v(311)=2d0*qn(1,2)
v(310)=dsedc(6,6)*qn(1,3)+dsedc(3,6)*qn(2,3)
v(309)=dsedc(6,5)*qn(1,3)+dsedc(3,5)*qn(2,3)
v(308)=dsedc(6,4)*qn(1,3)+dsedc(3,4)*qn(2,3)
v(307)=dsedc(6,3)*qn(1,3)+dsedc(3,3)*qn(2,3)
v(306)=dsedc(6,2)*qn(1,3)+dsedc(3,2)*qn(2,3)
v(305)=dsedc(6,1)*qn(1,3)+dsedc(3,1)*qn(2,3)
v(304)=dsedc(2,6)*qn(2,2)
v(303)=dsedc(5,6)*qn(1,2)
v(302)=dsedc(2,5)*qn(2,2)
v(301)=dsedc(5,5)*qn(1,2)
v(300)=dsedc(2,4)*qn(2,2)
v(299)=dsedc(5,4)*qn(1,2)
v(298)=dsedc(2,3)*qn(2,2)
v(297)=dsedc(5,3)*qn(1,2)
v(296)=dsedc(2,2)*qn(2,2)
v(295)=dsedc(5,2)*qn(1,2)
v(294)=dsedc(2,1)*qn(2,2)
v(293)=dsedc(5,1)*qn(1,2)
v(292)=2d0*qn(2,3)
v(291)=2d0*qn(2,1)
v(290)=dsedc(3,6)*qn(2,2)
v(289)=dsedc(2,6)*qn(2,1)
v(288)=dsedc(5,6)*qn(1,3)
v(287)=dsedc(4,6)*qn(1,2)
v(286)=dsedc(3,5)*qn(2,2)
v(285)=dsedc(2,5)*qn(2,1)
v(284)=dsedc(5,5)*qn(1,3)
v(283)=dsedc(4,5)*qn(1,2)
v(282)=dsedc(3,4)*qn(2,2)
v(281)=dsedc(2,4)*qn(2,1)
v(280)=dsedc(5,4)*qn(1,3)
v(279)=dsedc(4,4)*qn(1,2)
v(278)=dsedc(3,3)*qn(2,2)
v(277)=dsedc(2,3)*qn(2,1)
v(276)=dsedc(5,3)*qn(1,3)
v(275)=dsedc(4,3)*qn(1,2)
v(274)=dsedc(3,2)*qn(2,2)
v(273)=dsedc(2,2)*qn(2,1)
v(272)=dsedc(5,2)*qn(1,3)
v(271)=dsedc(4,2)*qn(1,2)
v(270)=dsedc(3,1)*qn(2,2)
v(269)=dsedc(2,1)*qn(2,1)
v(268)=dsedc(5,1)*qn(1,3)
v(267)=dsedc(4,1)*qn(1,2)
v(266)=2d0*qn(1,1)
v(265)=dsedc(4,6)*qn(1,1)+dsedc(1,6)*qn(2,1)
v(264)=dsedc(4,5)*qn(1,1)+dsedc(1,5)*qn(2,1)
v(263)=dsedc(4,4)*qn(1,1)+dsedc(1,4)*qn(2,1)
v(262)=dsedc(4,3)*qn(1,1)+dsedc(1,3)*qn(2,1)
v(261)=dsedc(4,2)*qn(1,1)+dsedc(1,2)*qn(2,1)
v(260)=dsedc(4,1)*qn(1,1)+dsedc(1,1)*qn(2,1)
v(259)=dsedgamma(5)*qn(1,1)+dsedgamma(6)*qn(1,2)+dsedgamma(1)*qn(2,2)+dsedgamma(2)*qn(2,3)+dsedgamma(3)*v(312)
v(258)=dsedgamma(2)*v(311)
v(257)=dsedgamma(6)*qn(1,3)+dsedgamma(3)*qn(2,3)
v(256)=dsedgamma(5)*qn(1,2)+dsedgamma(2)*qn(2,2)+dsedgamma(4)*v(291)+dsedgamma(6)*v(292)
v(255)=dsedgamma(4)*qn(1,2)+dsedgamma(5)*qn(1,3)+dsedgamma(2)*qn(2,1)+dsedgamma(3)*qn(2,2)+dsedgamma(1)*v(266)
v(254)=dsedgamma(4)*qn(1,1)+dsedgamma(1)*qn(2,1)
v(253)=qn(2,2)*qn(2,3)
v(252)=qn(2,1)*qn(2,2)
v(251)=dsedc(6,6)*qn(2,2)+dsedc(5,6)*qn(2,3)
v(250)=dsedc(6,5)*qn(2,2)+dsedc(5,5)*qn(2,3)
v(249)=dsedc(6,4)*qn(2,2)+dsedc(5,4)*qn(2,3)
v(248)=dsedc(6,3)*qn(2,2)+dsedc(5,3)*qn(2,3)
v(247)=dsedc(6,2)*qn(2,2)+dsedc(5,2)*qn(2,3)
v(246)=dsedc(6,1)*qn(2,2)+dsedc(5,1)*qn(2,3)
v(245)=dsedc(5,6)*qn(2,1)+dsedc(4,6)*qn(2,2)
v(244)=dsedc(5,5)*qn(2,1)+dsedc(4,5)*qn(2,2)
v(243)=dsedc(5,4)*qn(2,1)+dsedc(4,4)*qn(2,2)
v(242)=dsedc(5,3)*qn(2,1)+dsedc(4,3)*qn(2,2)
v(241)=dsedc(5,2)*qn(2,1)+dsedc(4,2)*qn(2,2)
v(240)=dsedc(5,1)*qn(2,1)+dsedc(4,1)*qn(2,2)
v(239)=dsedgamma(6)*qn(2,2)+dsedgamma(5)*qn(2,3)
v(238)=dsedgamma(5)*qn(2,1)+dsedgamma(4)*qn(2,2)
v(237)=qn(1,3)**2+qn(1,1)*qn(2,2)+qn(1,2)*qn(2,3)
v(236)=qn(1,2)**2
v(235)=qn(1,3)*qn(2,3)
v(234)=qn(2,1)**2+qn(1,2)*qn(2,2)+qn(2,3)**2
v(233)=qn(1,1)**2+qn(1,2)*qn(2,1)+qn(1,3)*qn(2,2)
v(232)=qn(1,1)*qn(2,1)
v(97)=v(232)+v(235)+v(236)
v(107)=v(235)+v(252)+v(253)
v(105)=v(107)+v(232)-v(235)
v(126)=v(238)+v(239)+v(254)
v(125)=v(126)-v(254)+v(257)
v(121)=v(254)+v(257)+v(258)
v(187)=v(240)+v(246)+v(260)
v(188)=v(241)+v(247)+v(261)
v(189)=v(242)+v(248)+v(262)
v(190)=v(243)+v(249)+v(263)
v(191)=v(244)+v(250)+v(264)
v(192)=v(245)+v(251)+v(265)
v(139)=dsedc(1,1)*v(266)+v(267)+v(268)+v(269)+v(270)
v(140)=dsedc(1,2)*v(266)+v(271)+v(272)+v(273)+v(274)
v(141)=dsedc(1,3)*v(266)+v(275)+v(276)+v(277)+v(278)
v(142)=dsedc(1,4)*v(266)+v(279)+v(280)+v(281)+v(282)
v(143)=dsedc(1,5)*v(266)+v(283)+v(284)+v(285)+v(286)
v(144)=dsedc(1,6)*v(266)+v(287)+v(288)+v(289)+v(290)
v(145)=dsedc(4,1)*v(291)+dsedc(6,1)*v(292)+v(293)+v(294)
v(146)=dsedc(4,2)*v(291)+dsedc(6,2)*v(292)+v(295)+v(296)
v(147)=dsedc(4,3)*v(291)+dsedc(6,3)*v(292)+v(297)+v(298)
v(148)=dsedc(4,4)*v(291)+dsedc(6,4)*v(292)+v(299)+v(300)
v(149)=dsedc(4,5)*v(291)+dsedc(6,5)*v(292)+v(301)+v(302)
v(150)=dsedc(4,6)*v(291)+dsedc(6,6)*v(292)+v(303)+v(304)
v(181)=v(187)-v(260)+v(305)
v(182)=v(188)-v(261)+v(306)
v(183)=v(189)-v(262)+v(307)
v(184)=v(190)-v(263)+v(308)
v(185)=v(191)-v(264)+v(309)
v(186)=v(192)-v(265)+v(310)
v(157)=v(260)+v(305)+dsedc(2,1)*v(311)
v(158)=v(261)+v(306)+dsedc(2,2)*v(311)
v(159)=v(262)+v(307)+dsedc(2,3)*v(311)
v(160)=v(263)+v(308)+dsedc(2,4)*v(311)
v(161)=v(264)+v(309)+dsedc(2,5)*v(311)
v(162)=v(265)+v(310)+dsedc(2,6)*v(311)
v(163)=dsedc(3,1)*v(312)+v(313)+v(314)+v(315)+v(316)
v(164)=dsedc(3,2)*v(312)+v(317)+v(318)+v(319)+v(320)
v(165)=dsedc(3,3)*v(312)+v(321)+v(322)+v(323)+v(324)
v(166)=dsedc(3,4)*v(312)+v(325)+v(326)+v(327)+v(328)
v(167)=dsedc(3,5)*v(312)+v(329)+v(330)+v(331)+v(332)
v(168)=dsedc(3,6)*v(312)+v(333)+v(334)+v(335)+v(336)
s(1)=qn(1,1)*v(233)+qn(1,3)*v(237)+qn(1,2)*v(97)
s(2)=qn(2,1)*v(105)+qn(2,3)*v(107)+qn(2,2)*v(234)
s(3)=qn(3,3)*(qn(2,2)*qn(3,1)+qn(2,3)*qn(3,2)+qn(1,3)*qn(3,3))+qn(3,1)*(qn(1,1)*qn(3,1)+qn(2,1)*qn(3,2)+qn(2,2)*qn(3,3)&
&)+qn(3,2)*(qn(2,1)*qn(3,1)+qn(1,2)*qn(3,2)+qn(2,3)*qn(3,3))
s(4)=qn(2,1)*v(233)+qn(2,3)*v(237)+qn(2,2)*v(97)
s(5)=qn(3,1)*v(233)+qn(3,3)*v(237)+qn(3,2)*v(97)
s(6)=qn(3,1)*v(105)+qn(3,3)*v(107)+qn(3,2)*v(234)
dsdgamma(1)=qn(1,2)*v(121)+dsedgamma(1)*v(233)+dsedgamma(3)*v(237)+qn(1,1)*v(255)+qn(1,3)*v(259)+dsedgamma(2)*v(97)
dsdgamma(2)=dsedgamma(4)*v(105)+dsedgamma(6)*v(107)+qn(2,3)*v(125)+qn(2,1)*v(126)+dsedgamma(5)*v(234)+qn(2,2)*v(256)
dsdgamma(3)=qn(3,3)*(dsedgamma(5)*qn(3,1)+dsedgamma(6)*qn(3,2)+dsedgamma(3)*qn(3,3))+qn(3,1)*(dsedgamma(1)*qn(3,1)&
&+dsedgamma(4)*qn(3,2)+dsedgamma(5)*qn(3,3))+qn(3,2)*(dsedgamma(4)*qn(3,1)+dsedgamma(2)*qn(3,2)+dsedgamma(6)*qn(3,3))
dsdgamma(4)=qn(2,2)*v(121)+dsedgamma(4)*v(233)+dsedgamma(6)*v(237)+qn(2,1)*v(255)+qn(2,3)*v(259)+dsedgamma(5)*v(97)
dsdgamma(5)=qn(3,2)*v(121)+qn(3,1)*v(255)+qn(3,3)*v(259)
dsdgamma(6)=qn(3,3)*v(125)+qn(3,1)*v(126)+qn(3,2)*v(256)
dsdc(1,1)=qn(1,1)*v(139)+qn(1,2)*v(157)+qn(1,3)*v(163)+dsedc(1,1)*v(233)+dsedc(3,1)*v(237)+dsedc(2,1)*v(97)
dsdc(1,2)=qn(1,1)*v(140)+qn(1,2)*v(158)+qn(1,3)*v(164)+dsedc(1,2)*v(233)+dsedc(3,2)*v(237)+dsedc(2,2)*v(97)
dsdc(1,3)=qn(1,1)*v(141)+qn(1,2)*v(159)+qn(1,3)*v(165)+dsedc(1,3)*v(233)+dsedc(3,3)*v(237)+dsedc(2,3)*v(97)
dsdc(1,4)=qn(1,1)*v(142)+qn(1,2)*v(160)+qn(1,3)*v(166)+dsedc(1,4)*v(233)+dsedc(3,4)*v(237)+dsedc(2,4)*v(97)
dsdc(1,5)=qn(1,1)*v(143)+qn(1,2)*v(161)+qn(1,3)*v(167)+dsedc(1,5)*v(233)+dsedc(3,5)*v(237)+dsedc(2,5)*v(97)
dsdc(1,6)=qn(1,1)*v(144)+qn(1,2)*v(162)+qn(1,3)*v(168)+dsedc(1,6)*v(233)+dsedc(3,6)*v(237)+dsedc(2,6)*v(97)
dsdc(2,1)=dsedc(4,1)*v(105)+dsedc(6,1)*v(107)+qn(2,2)*v(145)+qn(2,3)*v(181)+qn(2,1)*v(187)+dsedc(5,1)*v(234)
dsdc(2,2)=dsedc(4,2)*v(105)+dsedc(6,2)*v(107)+qn(2,2)*v(146)+qn(2,3)*v(182)+qn(2,1)*v(188)+dsedc(5,2)*v(234)
dsdc(2,3)=dsedc(4,3)*v(105)+dsedc(6,3)*v(107)+qn(2,2)*v(147)+qn(2,3)*v(183)+qn(2,1)*v(189)+dsedc(5,3)*v(234)
dsdc(2,4)=dsedc(4,4)*v(105)+dsedc(6,4)*v(107)+qn(2,2)*v(148)+qn(2,3)*v(184)+qn(2,1)*v(190)+dsedc(5,4)*v(234)
dsdc(2,5)=dsedc(4,5)*v(105)+dsedc(6,5)*v(107)+qn(2,2)*v(149)+qn(2,3)*v(185)+qn(2,1)*v(191)+dsedc(5,5)*v(234)
dsdc(2,6)=dsedc(4,6)*v(105)+dsedc(6,6)*v(107)+qn(2,2)*v(150)+qn(2,3)*v(186)+qn(2,1)*v(192)+dsedc(5,6)*v(234)
dsdc(3,1)=qn(3,3)*(dsedc(5,1)*qn(3,1)+dsedc(6,1)*qn(3,2)+dsedc(3,1)*qn(3,3))+qn(3,1)*(dsedc(1,1)*qn(3,1)+dsedc(4,1)*qn&
&(3,2)+dsedc(5,1)*qn(3,3))+qn(3,2)*(dsedc(4,1)*qn(3,1)+dsedc(2,1)*qn(3,2)+dsedc(6,1)*qn(3,3))
dsdc(3,2)=qn(3,3)*(dsedc(5,2)*qn(3,1)+dsedc(6,2)*qn(3,2)+dsedc(3,2)*qn(3,3))+qn(3,1)*(dsedc(1,2)*qn(3,1)+dsedc(4,2)*qn&
&(3,2)+dsedc(5,2)*qn(3,3))+qn(3,2)*(dsedc(4,2)*qn(3,1)+dsedc(2,2)*qn(3,2)+dsedc(6,2)*qn(3,3))
dsdc(3,3)=qn(3,3)*(dsedc(5,3)*qn(3,1)+dsedc(6,3)*qn(3,2)+dsedc(3,3)*qn(3,3))+qn(3,1)*(dsedc(1,3)*qn(3,1)+dsedc(4,3)*qn&
&(3,2)+dsedc(5,3)*qn(3,3))+qn(3,2)*(dsedc(4,3)*qn(3,1)+dsedc(2,3)*qn(3,2)+dsedc(6,3)*qn(3,3))
dsdc(3,4)=qn(3,3)*(dsedc(5,4)*qn(3,1)+dsedc(6,4)*qn(3,2)+dsedc(3,4)*qn(3,3))+qn(3,1)*(dsedc(1,4)*qn(3,1)+dsedc(4,4)*qn&
&(3,2)+dsedc(5,4)*qn(3,3))+qn(3,2)*(dsedc(4,4)*qn(3,1)+dsedc(2,4)*qn(3,2)+dsedc(6,4)*qn(3,3))
dsdc(3,5)=qn(3,3)*(dsedc(5,5)*qn(3,1)+dsedc(6,5)*qn(3,2)+dsedc(3,5)*qn(3,3))+qn(3,1)*(dsedc(1,5)*qn(3,1)+dsedc(4,5)*qn&
&(3,2)+dsedc(5,5)*qn(3,3))+qn(3,2)*(dsedc(4,5)*qn(3,1)+dsedc(2,5)*qn(3,2)+dsedc(6,5)*qn(3,3))
dsdc(3,6)=qn(3,3)*(dsedc(5,6)*qn(3,1)+dsedc(6,6)*qn(3,2)+dsedc(3,6)*qn(3,3))+qn(3,1)*(dsedc(1,6)*qn(3,1)+dsedc(4,6)*qn&
&(3,2)+dsedc(5,6)*qn(3,3))+qn(3,2)*(dsedc(4,6)*qn(3,1)+dsedc(2,6)*qn(3,2)+dsedc(6,6)*qn(3,3))
dsdc(4,1)=qn(2,1)*v(139)+qn(2,2)*v(157)+qn(2,3)*v(163)+dsedc(4,1)*v(233)+dsedc(6,1)*v(237)+dsedc(5,1)*v(97)
dsdc(4,2)=qn(2,1)*v(140)+qn(2,2)*v(158)+qn(2,3)*v(164)+dsedc(4,2)*v(233)+dsedc(6,2)*v(237)+dsedc(5,2)*v(97)
dsdc(4,3)=qn(2,1)*v(141)+qn(2,2)*v(159)+qn(2,3)*v(165)+dsedc(4,3)*v(233)+dsedc(6,3)*v(237)+dsedc(5,3)*v(97)
dsdc(4,4)=qn(2,1)*v(142)+qn(2,2)*v(160)+qn(2,3)*v(166)+dsedc(4,4)*v(233)+dsedc(6,4)*v(237)+dsedc(5,4)*v(97)
dsdc(4,5)=qn(2,1)*v(143)+qn(2,2)*v(161)+qn(2,3)*v(167)+dsedc(4,5)*v(233)+dsedc(6,5)*v(237)+dsedc(5,5)*v(97)
dsdc(4,6)=qn(2,1)*v(144)+qn(2,2)*v(162)+qn(2,3)*v(168)+dsedc(4,6)*v(233)+dsedc(6,6)*v(237)+dsedc(5,6)*v(97)
dsdc(5,1)=qn(3,1)*v(139)+qn(3,2)*v(157)+qn(3,3)*v(163)
dsdc(5,2)=qn(3,1)*v(140)+qn(3,2)*v(158)+qn(3,3)*v(164)
dsdc(5,3)=qn(3,1)*v(141)+qn(3,2)*v(159)+qn(3,3)*v(165)
dsdc(5,4)=qn(3,1)*v(142)+qn(3,2)*v(160)+qn(3,3)*v(166)
dsdc(5,5)=qn(3,1)*v(143)+qn(3,2)*v(161)+qn(3,3)*v(167)
dsdc(5,6)=qn(3,1)*v(144)+qn(3,2)*v(162)+qn(3,3)*v(168)
dsdc(6,1)=qn(3,2)*v(145)+qn(3,3)*v(181)+qn(3,1)*v(187)
dsdc(6,2)=qn(3,2)*v(146)+qn(3,3)*v(182)+qn(3,1)*v(188)
dsdc(6,3)=qn(3,2)*v(147)+qn(3,3)*v(183)+qn(3,1)*v(189)
dsdc(6,4)=qn(3,2)*v(148)+qn(3,3)*v(184)+qn(3,1)*v(190)
dsdc(6,5)=qn(3,2)*v(149)+qn(3,3)*v(185)+qn(3,1)*v(191)
dsdc(6,6)=qn(3,2)*v(150)+qn(3,3)*v(186)+qn(3,1)*v(192)
END