37
38
39
40
41#include "implicit_f.inc"
42#include "mvsiz_p.inc"
43#include "com04_c.inc"
44
45
46
47
48 INTEGER JFT,JLT,NPLAT,IPLAT(*),,IORTH
50 . vol(*),thk0(*),thk2(*),a_i(*),z1(*),
51 . hm(mvsiz,4),hf(mvsiz,4),hz(*),
52 . px1(*) ,px2(*) ,py1(*) ,py2(*) ,
53 . k11(3,3,*),k12(3,3,*),k13(3,3,*),k14(3,3,*),
54 . k22(3,3,*),k23(3,3,*),k24(3,3,*),k33(3,3,*),
55 . m11(3,3,*),m12(3,3,*),m13(3,3,*),m14(3,3,*),
56 . m22(3,3,*),m23(3,3,*),m24(3,3,*),m33(3,3,*),
57 . mf11(3,3,*),mf12(3,3,*),mf13(3,3,*),mf14(3,3,*),
58 . mf22(3,3,*),mf23(3,3,*),mf24(3,3,*),mf33(3,3,*),
59 . fm12(3,3,*),fm13(3,3,*),fm14(3,3,*),
60 . fm23(3,3,*),fm24(3,3,*),fm34(3,3,*),
61 . k34(3,3,*),k44(3,3,*),m34(3,3,*),m44(3,3,*),
62 . mf34(3,3,*),mf44(3,3,*),dhz(*),hmor(mvsiz,2),hfor(mvsiz,2),
63 . hmfor(mvsiz,6)
64
65
66
67
68
69
70 INTEGER EP,I,J,NF,M
72 . dm(2,2,mvsiz),df(2,2,mvsiz),
73 . c1,c2,gm(mvsiz),gf(mvsiz),dg(mvsiz),
74 . px1px1(mvsiz),px1px2(mvsiz) ,px2px2(mvsiz),
75 . px1py1(mvsiz),px1py2(mvsiz) ,px2py1(mvsiz),
76 . px2py2(mvsiz),py1py1(mvsiz),py1py2(mvsiz),py2py2(mvsiz),
77 . facz(mvsiz),facz2(mvsiz),dfz,dm5(mvsiz),dm6(mvsiz),df5(mvsiz),
78 . df6(mvsiz),dm5_2(mvsiz),dm6_2(mvsiz),df5_2(mvsiz),
79 . df6_2(mvsiz),dmf(3,3,mvsiz),
80 . bxibxj(2,2,mvsiz),bxibyj(2,2,mvsiz),byibxj(2,2,mvsiz),
81 . byibyj(2,2,mvsiz),fac2z
82
83 nf=nplat+1
84#include "vectorize.inc"
85
86 DO m=jft,jlt
87 ep=iplat(m)
88 c2=vol(ep)
89 c1=thk2(ep)*c2
90 dm(1,1,m)=hm(ep,1)*c2
91 dm(2,2,m)=hm(ep,2)*c2
92 dm(1,2,m)=hm(ep,3)*c2
93 dm(2,1,m)=dm(1,2,m)
94 gm(m) =hm(ep,4)*c2
95 df(1,1,m)=hf(ep,1)*c1
96 df(2,2,m)=hf(ep,2)*c1
97 df(1,2,m)=hf(ep,3)*c1
98 df(2,1,m)=df(1,2,m)
99 gf(m) =hf(ep,4)*c1
100 dhz(m)=hz(ep)*c1
101 ENDDO
102
103 DO ep=jft,jlt
104 px1px1(ep) = px1(ep)*px1(ep)
105 px1px2(ep) = px1(ep)*px2(ep)
106 px2px2(ep) = px2(ep)*px2(ep)
107 px1py1(ep) = px1(ep)*py1(ep)
108 px1py2(ep) = px1(ep)*py2(ep)
109 px2py1(ep) = px2(ep)*py1(ep)
110 px2py2(ep) = px2(ep)*py2(ep)
111 py1py1(ep) = py1(ep)*py1(ep)
112 py1py2(ep) = py1(ep)*py2(ep)
113 py2py2(ep) = py2(ep)*py2(ep)
114 ENDDO
115
116 DO ep=jft,jlt
117 k11(1,1,ep)=dm(1,1,ep)*px1px1(ep)+gm(ep)*py1py1(ep)
118 k12(1,1,ep)=dm(1,1,ep)*px1px2(ep)+gm(ep)*py1py2(ep)
119 k22(1,1,ep)=dm(1,1,ep)*px2px2(ep)+gm(ep)*py2py2(ep)
120
121 m11(2,2,ep)=df(1,1,ep)*px1px1(ep)+gf(ep)*py1py1(ep)
122 m12(2,2,ep)=df(1,1,ep)*px1px2(ep)+gf(ep)*py1py2(ep)
123 m22(2,2,ep)=df(1,1,ep)*px2px2(ep)+gf(ep)*py2py2(ep)
124 ENDDO
125
126 DO ep=jft,jlt
127 k11(1,2,ep)=(dm(1,2,ep)+gm(ep))*px1py1(ep)
128 k12(1,2,ep)=dm(1,2,ep)*px1py2(ep)+gm(ep)*px2py1(ep)
129 k22(1,2,ep)=(dm(1,2,ep)+gm(ep))*px2py2(ep)
130 k12(2,1,ep)=dm(1,2,ep)*px2py1(ep)+gm(ep)*px1py2(ep)
131
132 m11(1,2,ep)=-(df(1,2,ep)+gf(ep))*px1py1(ep)
133 m12(1,2,ep)=-df(1,2,ep)*px2py1(ep)-gf(ep)*px1py2(ep)
134 m22(1,2,ep)=-df(1,2,ep)*px2py2(ep)-gf(ep)*px2py2(ep)
135 m12(2,1,ep)=-df(1,2,ep)*px1py2(ep)-gf(ep)*px2py1(ep)
136 ENDDO
137
138 DO ep=jft,jlt
139 k11(2,2,ep)=dm(2,2,ep)*py1py1(ep)+gm(ep)*px1px1(ep)
140 k12(2,2,ep)=dm(2,2,ep)*py1py2(ep)+gm(ep)*px1px2(ep)
141 k22(2,2,ep)=dm(2,2,ep)*py2py2(ep)+gm(ep)*px2px2(ep)
142
143 m11(1,1,ep)=df(2,2,ep)*py1py1(ep)+gf(ep)*px1px1(ep)
144 m12(1,1,ep)=df(2,2,ep)*py1py2(ep)+gf(ep)*px1px2(ep)
145 m22(1,1,ep)=df(2,2,ep)*py2py2(ep)+gf(ep)*px2px2(ep)
146 ENDDO
147 IF (iorth >0 ) THEN
148#include "vectorize.inc"
149 DO m=jft,jlt
150 ep=iplat(m)
151 c2=vol(ep)
152 c1=thk2(ep)*c2
153 dm5(m)=hmor(ep,1)*c2
154 dm6(m)=hmor(ep,2)*c2
155 df5(m)=hfor(ep,1)*c1
156 df6(m)=hfor(ep,2)*c1
157 ENDDO
158 DO m=jft,jlt
159 dm5_2(m)=two*dm5(m)
160 dm6_2(m)=two*dm6(m)
161 df5_2(m)=two*df5(m)
162 df6_2(m)=two*df6(m)
163 ENDDO
164 DO ep=jft,jlt
165 k11(1,1,ep)=k11(1,1,ep)+px1py1(ep)*dm5_2(ep)
166 k11(1,2,ep)=k11(1,2,ep)+
167 1 px1px1(ep)*dm5(ep)+py1py1(ep)*dm6(ep)
168 k11(2,2,ep)=k11(2,2,ep)+px1py1(ep)*dm6_2(ep)
169 k12(1,1,ep)=k12(1,1,ep)+(px1py2(ep)+px2py1(ep))*dm5(ep)
170 c1 = px1px2(ep)*dm5(ep)+py1py2(ep)*dm6(ep)
171 k12(1,2,ep)=k12(1,2,ep)+c1
172 k12(2,1,ep)=k12(2,1,ep)+c1
173 k12(2,2,ep)=k12(2,2,ep)+(px1py2(ep)+px2py1(ep))*dm6(ep)
174 k22(1,1,ep)=k22(1,1,ep)+px2py2(ep)*dm5_2
175 k22(1,2,ep)=k22(1,2,ep)+
176 1 px2px2(ep)*dm5(ep)+py2py2(ep)*dm6(ep)
177 k22(2,2,ep)=k22(2,2,ep)+px2py2(ep)*dm6_2(ep)
178
179 m11(1,1,ep)=m11(1,1,ep)+px1py1(ep)*df6_2(ep)
180 m11(1,2,ep)=m11(1,2,ep)-
181 1 px1px1(ep)*df5(ep)-py1py1(ep)*df6(ep)
182 m11(2,2,ep)=m11(2,2,ep)+px1py1(ep)*df5_2(ep)
183 m12(1,1,ep)=m12(1,1,ep)+(px1py2(ep)+px2py1(ep))*df6(ep)
184 c2 = px1px2(ep)*df5(ep)+py1py2(ep)*df6(ep)
185 m12(1,2,ep)=m12(1,2,ep)-c2
186 m12(2,1,ep)=m12(2,1,ep)-c2
187 m12(2,2,ep)=m12(2,2,ep)+(px1py2(ep)+px2py1(ep))*df5(ep)
188 m22(1,1,ep)=m22(1,1,ep)+px2py2(ep)*df6_2(ep)
189 m22(1,2,ep)=m22(1,2,ep)-
190 1 px2px2(ep)*df5(ep)-py2py2(ep)*df6(ep)
191 m22(2,2,ep)=m22(2,2,ep)+px2py2(ep)*df5_2(ep)
192 ENDDO
193 DO m=jft,jlt
194 ep=iplat(m)
195 c2=vol(ep)*thk0(ep)
196 dmf(1,1,m)=hmfor(ep,1)*c2
197 dmf(2,2,m)=hmfor(ep,2)*c2
198 dmf(1,2,m)=hmfor(ep,3)*c2
199 dmf(1,3,m)=hmfor(ep,5)*c2
200 dmf(2,3,m)=hmfor(ep,6)*c2
201 dmf(2,1,m)=dmf(1,2,m)
202 dmf(3,1,m)=dmf(1,3,m)
203 dmf(3,2,m)=dmf(2,3,m)
204 dmf(3,3,m)=hmfor(ep,4)*c2
205 ENDDO
206
207 DO ep=jft,nplat
208 mf11(1,1,ep)=
209 1 -dmf(1,2,ep)*px1py1(ep)-dmf(1,3,ep)*px1px1(ep)
210 2 -dmf(2,3,ep)*py1py1(ep)-dmf(3,3,ep)*px1py1(ep)
211 mf11(1,2,ep)=
212 1 dmf(1,1,ep)*px1px1(ep)+dmf(1,3,ep)*px1py1(ep)
213 2 +dmf(1,3,ep)*px1py1(ep)+dmf(3,3,ep)*py1py1(ep)
214 mf11(2,1,ep)=
215 1 -dmf(2,2,ep)*py1py1(ep)-dmf(2,3,ep)*px1py1(ep)
216 2 -dmf(2,3,ep)*px1py1(ep)-dmf(3,3,ep)*px1px1(ep)
217 mf11(2,2,ep)=
218 1 dmf(1,2,ep)*px1py1(ep)+dmf(2,3,ep)*py1py1(ep)
219 2 +dmf(1,3,ep)*px1px1(ep)+dmf(3,3,ep)*px1py1(ep)
220 ENDDO
221 DO ep=jft,nplat
222 mf12(1,1,ep)=
223 1 -dmf(1,2,ep)*px1py2(ep)-dmf(1,3,ep)*px1px2(ep)
224
225 2 -dmf(2,3,ep)*py1py2(ep)-dmf(3,3,ep)*px2py1(ep)
226 mf12(1,2,ep)=
227 1 dmf(1,1,ep)*px1px2(ep)+dmf(1,3,ep)*px1py2(ep)
228
229 2 +dmf(1,3,ep)*px2py1(ep)+dmf(3,3,ep)*py1py2(ep)
230 mf12(2,1,ep)=
231
232 1 -dmf(2,2,ep)*py1py2(ep)-dmf(2,3,ep)*px2py1(ep)
233 2 -dmf(2,3,ep)*px1py2(ep)-dmf(3,3,ep)*px1px2(ep)
234 mf12(2,2,ep)=
235
236 1 dmf(1,2,ep)*px2py1(ep)+dmf(2,3,ep)*py1py2(ep)
237 2 +dmf(1,3,ep)*px1px2(ep)+dmf(3,3,ep)*px1py2(ep)
238 ENDDO
239 DO ep=jft,nplat
240 mf22(1,1,ep)=
241 1 -dmf(1,2,ep)*px2py2(ep)-dmf(1,3,ep)*px2px2(ep)
242
243 2 -dmf(2,3,ep)*py2py2(ep)-dmf(3,3,ep)*px2py2(ep)
244 mf22(1,2,ep)=
245 1 dmf(1,1,ep)*px2px2(ep)+dmf(1,3,ep)*px2py2(ep)
246
247 2 +dmf(1,3,ep)*px2py2(ep)+dmf(3,3,ep)*py2py2
248 mf22(2,1,ep)=
249
250 1 -dmf(2,2,ep)*py2py2(ep)-dmf(2,3,ep)*px2py2(ep)
251 2 -dmf(2,3,ep)*px2py2(ep)-dmf(3,3,ep)*px2px2(ep)
252 mf22(2,2,ep)=
253
254 1 dmf(1,2,ep)*px2py2(ep)+dmf(2,3,ep)*py2py2(ep)
255 2 +dmf(1,3,ep)*px2px2(ep)+dmf(3,3,ep)*px2py2(ep)
256 ENDDO
257 DO ep=jft,nplat
258 mf23(1,1,ep)=
259 1 dmf(1,2,ep)*px2py1(ep)+dmf(1,3,ep)*px1px2(ep)
260
261 2 +dmf(2,3,ep)*py1py2(ep)+dmf(3,
262 mf23(1,2,ep)=
263 1 -dmf(1,1,ep)*px1px2(ep)-dmf(1,3,ep)*px2py1(ep)
264
265 2 -dmf(1,3,ep)*px1py2(ep)-dmf(3,3,ep)*py1py2(ep)
266 mf23(2,1,ep)=
267
268 1 dmf(2,2,ep)*py1py2(ep)+dmf(2,3,ep)*px1py2(ep)
269 2 +dmf(2,3,ep)*px2py1(ep)+dmf(3,3,ep)*px1px2(ep)
270 mf23(2,2,ep)=
271
272 1 -dmf(1,2,ep)*px1py2(ep)-dmf(2,3,ep)*py1py2(ep)
273 2 -dmf(1,3,ep)*px1px2(ep)-dmf(3,3,ep)*px2py1(ep)
274 ENDDO
275 DO i=1,2
276 DO j=1,2
277 DO ep=jft,nplat
278 mf13(i,j,ep)=-mf11(i,j,ep)
279 mf14(i,j,ep)=-mf12(i,j,ep)
280 mf24(i,j,ep)=-mf22(i,j,ep)
281 mf33(i,j,ep)=mf11(i,j,ep)
282 mf34(i,j,ep)=mf12(i,j,ep)
283 mf44(i,j,ep)=mf22(i,j,ep)
284 ENDDO
285 ENDDO
286 ENDDO
287
288 DO i=1,2
289 DO j=1,2
290 DO ep=jft,nplat
291 fm12(i,j,ep)=-mf23(j,i,ep)
292 fm13(i,j,ep)=-mf11(j,i,ep)
293 fm14(i,j,ep)= mf23(j,i,ep)
294 fm23(i,j,ep)=-mf12(j,i,ep)
295 fm24(i,j,ep)=-mf22(j,i,ep)
296 fm34(i,j,ep)=-mf23(j,i,ep)
297 ENDDO
298 ENDDO
299 ENDDO
300 ENDIF
301
302#include "vectorize.inc"
303 DO m=nf,jlt
304 ep=iplat(m)
305 facz(m) = four*z1(ep)*a_i(ep)
306 facz2(m) = facz(m)*facz(m)
307 dg(m)=gf(m)*facz2(m)
308 ENDDO
309
310
311 DO ep=nf,jlt
312 dfz =df(1,1,ep)*facz2(ep)
313 k11(1,1,ep)=k11(1,1,ep)+dfz*py2py2(ep)+dg(ep)*px2px2(ep)
314 k12(1,1,ep)=k12(1,1,ep)+dfz*py1py2(ep)+dg(ep)*px1px2(ep)
315 k22(1,1,ep)=k22(1,1,ep)+dfz*py1py1(ep)+dg(ep)*px1px1(ep)
316 ENDDO
317
318 DO ep=nf,jlt
319 dfz =df(1,2,ep)*facz2(ep)
320 k11(1,2,ep)=k11(1,2,ep)-(dfz+dg(ep))*px2py2(ep)
321 k12(1,2,ep)=k12(1,2,ep)-dfz*px1py2(ep)-dg(ep)*px2py1(ep)
322 k22(1,2,ep)=k22(1,2,ep)-(dfz+dg(ep))*px1py1(ep)
323 k12(2,1,ep)=k12(2,1,ep)-dfz*px2py1(ep)-dg(ep)*px1py2(ep)
324 ENDDO
325
326 DO ep=nf,jlt
327 dfz =df(2,2,ep)*facz2(ep)
328 k11(2,2,ep)=k11(2,2,ep)+dfz*px2px2(ep)+dg(ep)*py2py2(ep)
329 k12(2,2,ep)=k12(2,2,ep)+dfz*px1px2(ep)+dg(ep)*py1py2(ep)
330 k22(2,2,ep)=k22(2,2,ep)+dfz*px1px1(ep)+dg(ep)*py1py1(ep)
331 ENDDO
332
333
334
335 IF (iorth > 0) THEN
336 DO ep=nf,jlt
337 k11(1,1,ep)=k11(1,1,ep)-px2py2(ep)*df5_2(ep)*facz2(ep)
338 k11(1,2,ep)=k11(1,2,ep)+facz2(ep)*(
339 1 py2py2(ep)*df5(ep)+px2px2(ep)*df6(ep))
340 k11(2,2,ep)=k11(2,2,ep)-px2py2(ep)*df6_2(ep)*facz2(ep)
341 k12(1,1,ep)=k12(1,1,ep)-facz2(ep)*(
342 1 px1py2(ep)+px2py1(ep))*df5(ep)
343 c1 = (py1py2(ep)*df5(ep)+px1px2(ep)*df6(ep))*facz2(ep)
344 k12(1,2,ep)=k12(1,2,ep)+c1
345 k12(2,1,ep)=k12(2,1,ep)+c1
346 k12(2,2,ep)=k12(2,2,ep)-facz2(ep)*(
347 1 px1py2(ep)+px2py1(ep))*df6(ep)
348 k22(1,1,ep)=k22(1,1,ep)-px1py1(ep)*df5_2(ep)*facz2(ep)
349 k22(1,2,ep)=k22(1,2,ep)+facz2(ep)*(
350 1 py1py1(ep)*df5(ep)+px1px1(ep)*df6(ep))
351 k22(2,2,ep)=k22(2,2,ep)-px1py1(ep)*df6_2(ep)*facz2(ep)
352 ENDDO
353
354
355
356
357 DO ep=nf,jlt
358 fac2z=two*facz(ep)
359 bxibxj(1,1,ep)=fac2z*px1py2(ep)
360 bxibxj(1,2,ep)=facz(ep)*(px1py1(ep)+px2py2(ep))
361 bxibxj(2,1,ep)=bxibxj(1,2,ep)
362 bxibxj(2,2,ep)=fac2z*px2py1(ep)
363
364 bxibyj(1,1,ep)=facz(ep)*(-px1px2(ep)+py1py2(ep))
365 bxibyj(1,2,ep)=facz(ep)*(-px1px1(ep)+py2py2(ep))
366 bxibyj(2,1,ep)=facz(ep)*(-px2px2(ep)+py1py1(ep))
367 bxibyj(2,2,ep)=bxibyj(1,1,ep)
368
369 byibyj(1,1,ep)=-fac2z*px2py1(ep)
370 byibyj(1,2,ep)=facz(ep)*(-px1py1(ep)-px2py2(ep))
371 byibyj(2,1,ep)=byibyj(1,2,ep)
372 byibyj(2,2,ep)=-fac2z*px1py2(ep)
373
374 byibxj(1,1,ep)=facz(ep)*(py1py2(ep)-px1px2(ep))
375 byibxj(1,2,ep)=facz(ep)*(py1py1(ep)-px2px2(ep))
376 byibxj(2,1,ep)=facz(ep)*(py2py2(ep)-px1px1(ep))
377 byibxj(2,2,ep)=byibxj(1,1,ep)
378
379 ENDDO
380 DO ep=nf,jlt
381 k11(1,1,ep)=k11(1,1,ep)+dmf(1,1,ep)*bxibxj(1,1,ep)+
382 1 dmf(1,3,ep)*(bxibyj(1,1,ep)+byibxj(1,1,ep))+
383 2 dmf(3,3,ep)*byibyj(1,1,ep)
384 k11(1,2,ep)=k11(1,2,ep)+dmf(1,2,ep)*bxibyj(1,1,ep)+
385 1 dmf(1,3,ep)*bxibxj(1,1,ep)+
386 2 dmf(2,3,ep)*byibyj(1,1,ep)+
387 3 dmf(3,3,ep)*byibxj(1,1,ep)
388 k11(2,2,ep)=k11(2,2,ep)+dmf(2,2,ep)*byibyj(1,1,ep)+
389 1 dmf(2,3,ep)*(bxibyj(1,1,ep)+byibxj(1,1,ep))+
390 2 dmf(3,3,ep)*bxibxj(1,1,ep)
391
392 k12(1,1,ep)=k12(1,1,ep)+dmf(1,1,ep)*bxibxj(1,2,ep)+
393 1 dmf(1,3,ep)*(bxibyj(1,2,ep)+byibxj(1,2,ep))+
394 2 dmf(3,3,ep)*byibyj(1,2,ep)
395 k12(1,2,ep)=k12(1,2,ep)+dmf(1,2,ep)*bxibyj(1,2,ep)+
396 1 dmf(1,3,ep)*bxibxj(1,2,ep)+
397 2 dmf(2,3,ep)*byibyj(1,2,ep)+
398 3 dmf(3,3,ep)*byibxj(1,2,ep)
399 k12(2,1,ep)=k12(2,1,ep)+dmf(1,2,ep)*byibxj(1,2,ep)+
400 1 dmf(1,3,ep)*bxibxj(1,2,ep)+
401 2 dmf(2,3,ep)*byibyj(1,2,ep)+
402 3 dmf(3,3,ep)*bxibyj(1,2,ep)
403 k12(2,2,ep)=k12(2,2,ep)+dmf(2,2,ep)*byibyj(1,2,ep)+
404 1 dmf(2,3,ep)*(bxibyj(1,2,ep)+byibxj(1,2,ep))+
405 2 dmf(3,3,ep)*bxibxj(1,2,ep)
406
407 k22(1,1,ep)=k22(1,1,ep)+dmf(1,1,ep)*bxibxj(2,2,ep)+
408 1 dmf(1,3,ep)*(bxibyj(2,2,ep)+byibxj(2,2,ep))+
409 2 dmf(3,3,ep)*byibyj(2,2,ep)
410 k22(1,2,ep)=k22(1,2,ep)+dmf(1,2,ep)*bxibyj(2,2,ep)+
411 1 dmf(1,3,ep)*bxibxj(2,2,ep)+
412 2 dmf(2,3,ep)*byibyj(2,2,ep)+
413 3 dmf(3,3,ep)*byibxj(2,2,ep)
414 k22(2,2,ep)=k22(2,2,ep)+dmf(2,2,ep)*byibyj(2,2,ep)+
415 1 dmf(2,3,ep)*(bxibyj(2,2,ep)+byibxj(2,2,ep))+
416 2 dmf(3,3,ep)*bxibxj(2,2,ep)
417 ENDDO
418
419 END IF
420
421
422 DO i=1,2
423 DO j=i,2
424 DO ep=jft,jlt
425 k13(i,j,ep)=-k11(i,j,ep)
426 k14(i,j,ep)=-k12(i,j,ep)
427 k23(i,j,ep)=-k12(j,i,ep)
428 k24(i,j,ep)=-k22(i,j,ep)
429 k33(i,j,ep)=k11(i,j,ep)
430 k34(i,j,ep)=k12(i,j,ep)
431 k44(i,j,ep)=k22(i,j,ep)
432 m13(i,j,ep)=-m11(i,j,ep)
433 m14(i,j,ep)=-m12(i,j,ep)
434 m23(i,j,ep)=-m12(j,i,ep)
435 m24(i,j,ep)=-m22(i,j,ep)
436 m33(i,j,ep)=m11(i,j,ep)
437 m34(i,j,ep)=m12(i,j,ep)
438 m44(i,j,ep)=m22(i,j,ep)
439 ENDDO
440 ENDDO
441 ENDDO
442
443 DO ep=jft,jlt
444 k13(2,1,ep)=-k11(1,2,ep)
445 k14(2,1,ep)=-k12(2,1,ep)
446 k23(2,1,ep)=-k12(1,2,ep)
447 k24(2,1,ep)=-k22(1,2,ep)
448 k34(2,1,ep)=k12(2,1,ep)
449 m13(2,1,ep)=-m11(1,2,ep)
450 m14(2,1,ep)=-m12(2,1,ep)
451 m23(2,1,ep)=-m12(1,2,ep)
452 m24(2,1,ep)=-m22(1,2,ep)
453 m34(2,1,ep)=m12(2,1,ep)
454 ENDDO
455
456
457
458
459
460 DO ep=nf,jlt
461 dg(ep)=gf(ep)*facz(ep)
462 dfz =df(1,1,ep)*facz(ep)
463 mf11(1,2,ep)=dfz*px1py2(ep)-dg(ep)*px2py1(ep)
464 mf12(1,2,ep)=(dfz-dg(ep))*px2py2(ep)
465 mf22(1,2,ep)=dfz*px2py1(ep)-dg(ep)*px1py2(ep)
466 mf23(1,2,ep)=-(dfz-dg(ep))*px1py1(ep)
467 ENDDO
468 DO ep=nf,jlt
469 dfz =df(1,2,ep)*facz(ep)
470 mf11(1,1,ep)=-dfz*py1py2(ep)+dg(ep)*px1px2(ep)
471 mf12(1,1,ep)=-dfz*py2py2(ep)+dg(ep)*px2px2(ep)
472 mf22(1,1,ep)=mf11(1,1,ep)
473 mf23(1,1,ep)=dfz*py1py1(ep)-dg(ep)*px1px1(ep)
474 mf11(2,2,ep)=-dfz*px1px2(ep)+dg(ep)*py1py2(ep)
475 mf12(2,2,ep)=-dfz*px2px2(ep)+dg(ep)*py2py2(ep)
476 mf22(2,2,ep)= mf11(2,2,ep)
477 mf23(2,2,ep)=dfz*px1px1(ep)-dg(ep)*py1py1(ep)
478 ENDDO
479 DO ep=nf,jlt
480 dfz =df(2,2,ep)*facz(ep)
481 mf11(2,1,ep)=dfz*px2py1(ep)-dg(ep)*px1py2(ep)
482 mf12(2,1,ep)=dfz*px2py2(ep)-dg(ep)*px2py2(ep)
483 mf22(2,1,ep)=dfz*px1py2(ep)-dg(ep)*px2py1(ep)
484 mf23(2,1,ep)=-(dfz-dg(ep))*px1py1(ep)
485 ENDDO
486 IF (iorth>0) THEN
487 DO m=nf,jlt
488 df5(m)=facz(m)*df5(m)
489 df6(m)=facz(m)*df6(m)
490 ENDDO
491
492 DO ep=nf,jlt
493 dfz=df5(ep)*px1py2(ep)-df6(ep)*px2py1(ep)
494 mf11(1,1,ep)=mf11(1,1,ep)-dfz
495 mf11(1,2,ep)=mf11(1,2,ep)+df5(ep)*(py1py2(ep)-px1px2(ep))
496 mf11(2,1,ep)=mf11(2,1,ep)+df6(ep)*(px1px2(ep)-py1py2(ep))
497 mf11(2,2,ep)=mf11(2,2,ep)+dfz
498 ENDDO
499 DO ep=nf,jlt
500 dfz=(df5(ep)-df6(ep))*px2py2(ep)
501 mf12(1,1,ep)=mf12(1,1,ep)-dfz
502 mf12(1,2,ep)=mf12(1,2,ep)+df5(ep)*(py2py2(ep)-px2px2(ep))
503 mf12(2,1,ep)=mf12(2,1,ep)+df6(ep)*(px2px2(ep)-py2py2(ep))
504 mf12(2,2,ep)=mf12(2,2,ep)+dfz
505 ENDDO
506 DO ep=nf,jlt
507 dfz=df5(ep)*px2py1(ep)-df6(ep)*px1py2(ep)
508 mf22(1,1,ep)=mf22(1,1,ep)-dfz
509 mf22(1,2,ep)=mf22(1,2,ep)+df5(ep)*(py1py2
510 mf22(2,1,ep)=mf22(2,1,ep)+df6(ep)*(px1px2(ep)-py1py2(ep))
511 mf22(2,2,ep)=mf22(2,2,ep)+dfz
512 ENDDO
513 DO ep=nf,jlt
514 dfz=(df6(ep)-df5(ep))*px1py1(ep)
515 mf23(1,1,ep)=mf23(1,1,ep)-dfz
516 mf23(1,2,ep)=mf23(1,2,ep)-df5(ep)*(py1py1(ep)-px1px1(ep))
517 mf23(2,1,ep)=mf23(2,1,ep)-df6(ep)*(px1px1(ep)-py1py1(ep))
518 mf23(2,2,ep)=mf23(2,2,ep)+dfz
519 ENDDO
520
521 DO ep=nf,jlt
522 mf11(1,1,ep)=mf11(1,1,ep)
523 1 -dmf(1,2,ep)*px1py1(ep)-dmf(1,3,ep)*px1px1(ep)
524 2 -dmf(2,3,ep)*py1py1(ep)-dmf(3,3,ep)*px1py1(ep)
525 mf11(1,2,ep)=mf11(1,2,ep)
526 1 +dmf(1,1,ep)*px1px1(ep)+dmf(1,3,ep)*px1py1(ep)
527 2 +dmf(1,3,ep)*px1py1(ep)+dmf(3,3,ep)*py1py1(ep)
528 mf11(2,1,ep)=mf11(2,1,ep)
529 1 -dmf(2,2,ep)*py1py1
530 2 -dmf(2,3,ep)*px1py1(ep)-dmf(3,3,ep)*px1px1(ep)
531 mf11(2,2,ep)=mf11(2,2,ep)
532 1 +dmf(1,2,ep)*px1py1(ep)+dmf(2,3,ep)*py1py1(ep)
533 2 +dmf(1,3,ep)*px1px1(ep)+dmf(3,3,ep)*px1py1
534 ENDDO
535 DO ep=nf,jlt
536 mf12(1,1,ep)=mf12(1,1,ep)
537 1 -dmf(1,2,ep)*px1py2(ep)-dmf(1,3,ep)*px1px2(ep)
538 2 -dmf(2,3,ep)*py1py2(ep)-dmf(3,3,ep)*px2py1(ep)
539 mf12(1,2,ep)=mf12(1,2,ep)
540 1 +dmf(1,1,ep)*px1px2(ep)+dmf(1,3,ep)*px1py2(ep)
541 2 +dmf(1,3,ep)*px2py1(ep)+dmf(3,3,ep)*py1py2(ep)
542 mf12(2,1,ep)=mf12(2,1,ep)
543 1 -dmf(2,2,ep)*py1py2(ep)-dmf(2,3,ep)*px2py1
544 2 -dmf(2,3,ep)*px1py2(ep)-dmf(3,3,ep)*px1px2(ep)
545 mf12(2,2,ep)=mf12(2,2,ep)
546 1 +dmf(1,2,ep)*px2py1(ep)+dmf(2,3,ep)*py1py2(ep)
547 2 +dmf(1,3,ep)*px1px2(ep)+dmf(3,3,ep)*px1py2(ep)
548 ENDDO
549 DO ep=nf,jlt
550 mf22(1,1,ep)=mf22(1,1,ep)
551 1 -dmf(1,2,ep)*px2py2(ep)-dmf(1,3,ep)*px2px2(ep)
552 2 -dmf(2,3,ep)*py2py2(ep)-dmf(3,3,ep)*px2py2(ep)
553 mf22(1,2,ep)=mf22(1,2,ep)
554 1 +dmf(1,1,ep)*px2px2(ep)+dmf(1,3,ep)*px2py2(ep)
555 2 +dmf(1,3,ep)*px2py2(ep)+dmf(3,3,ep)*py2py2(ep)
556 mf22(2,1,ep)=mf22(2,1,ep)
557 1 -dmf(2,2,ep)*py2py2(ep)-dmf(2,3,ep)*px2py2(ep)
558 2 -dmf(2,3,ep)*px2py2(ep)-dmf(3,3,ep)*px2px2(ep)
559 mf22(2,2,ep)=mf22(2,2,ep)
560 1 +dmf(1,2,ep)*px2py2(ep)+dmf(2,3,ep)*py2py2(ep)
561 2 +dmf(1,3,ep)*px2px2(ep)+dmf(3,3,ep)*px2py2(ep)
562 ENDDO
563 DO ep=nf,jlt
564 mf23(1,1,ep)=mf23(1,1,ep)
565 1 +dmf(1,2,ep)*px2py1(ep)+dmf(1,3,ep)*px1px2(ep)
566 2 +dmf(2,3,ep)*py1py2(ep)+dmf(3,3,ep)*px1py2(ep)
567 mf23(1,2,ep)=mf23(1,2,ep)
568 1 -dmf(1,1,ep)*px1px2(ep)-dmf(1,3,ep)*px2py1(ep)
569 2 -dmf(1,3,ep)*px1py2(ep)-dmf(3,3,ep)*py1py2(ep)
570 mf23(2,1,ep)=mf23(2,1,ep)
571 1 +dmf(2,2,ep)*py1py2(ep)+dmf(2,3,ep)*px1py2(ep)
572 2 +dmf(2,3,ep)*px2py1(ep)+dmf(3,3,ep)*px1px2(ep)
573 mf23(2,2,ep)=mf23(2,2,ep)
574 1 -dmf(1,2,ep)*px1py2(ep)-dmf(2,3,ep)*py1py2(ep)
575 2 -dmf(1,3,ep)*px1px2(ep)-dmf(3,3,ep)*px2py1(ep)
576 ENDDO
577 END IF
578
579 DO i=1,2
580 DO j=1,2
581 DO ep=nf,jlt
582 mf13(i,j,ep)=-mf11(i,j,ep)
583 mf14(i,j,ep)=-mf12(i,j,ep)
584 mf24(i,j,ep)=-mf22(i,j,ep)
585 mf33(i,j,ep)=mf11(i,j,ep)
586 mf34(i,j,ep)=mf12(i,j,ep)
587 mf44(i,j,ep)=mf22(i,j,ep)
588 ENDDO
589 ENDDO
590 ENDDO
591
592 DO i=1,2
593 DO j=1,2
594 DO ep=nf,jlt
595 fm12(i,j,ep)=-mf23(j,i,ep)
596 fm13(i,j,ep)=-mf11(j,i,ep)
597 fm14
598 fm23(i,j,ep)=-mf12(j,i,ep)
599 fm24(i,j,ep)=-mf22(j,i,ep)
600 fm34(i,j,ep)=-mf23(j,i,ep)
601 ENDDO
602 ENDDO
603 ENDDO
604
605 DO ep=jft,jlt
606 m11(3,3,ep)=dhz(ep)*(px1px1(ep)+py1py1(ep))
607 m12(3,3,ep)=dhz(ep)*(px1px2(ep)+py1py2(ep))
608 m13(3,3,ep)=-m11(3,3,ep)
609 m14(3,3,ep)=-m12(3,3,ep)
610 m22(3,3,ep)=dhz(ep)*(px2px2(ep)+py2py2(ep))
611 m23(3,3,ep)=-m12(3,3,ep)
612 m24(3,3,ep)=-m22(3,3,ep)
613 m33(3,3,ep)=m11(3,3,ep)
614 m34(3,3,ep)=m12(3,3,ep)
615 m44(3,3,ep)=m22(3,3,ep)
616 ENDDO
617
618 IF (neig==0) THEN
619 DO ep=jft,jlt
620 c1 = em8*m11(3,3,ep)
621 c2 = em8*m22(3,3,ep)
622 m11(3,3,ep)=m11(3,3,ep)+c1
623 m22(3,3,ep)=m22(3,3,ep)+c2
624 m33(3,3,ep)=m11(3,3,ep)
625 m44(3,3,ep)=m22(3,3,ep)
626 ENDDO
627 ENDIF
628
629 RETURN