39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50 INTEGER JFT,JLT
52 . dr(3,3,*),vq(3,3,*),
53 . r1(3,3,*),r2(3,3,*),r3(3,3,*),r4(3,3,*),r5(3,3,*),r6(3,3,*),
54 . k11(3,3,*),k12(3,3,*),k13(3,3,*),k14(3,3,*) ,k15(3,3,*) ,
55 . k16(3,3,*),k22(3,3,*),k23(3,3,*),k24(3,3,*) ,k25(3,3,*) ,
56 . k26(3,3,*),k33(3,3,*),k34(3,3,*),k35(3,3,*) ,k36(3,3,*) ,
57 . k44(3,3,*),k45(3,3,*),k46(3,3,*),k55(3,3,*) ,k56(3,3,*) ,
58 . k66(3,3,*)
59
60
61
62 INTEGER I,J,EP,,IAS,IT,IAT,SHI,SHJ
64 . kl(3,3,mvsiz),kq(3,3,mvsiz)
65 DATA is/1/,ias/0/,it/1/,iat/0/
67 . DIMENSION(:,:,:), ALLOCATABLE:: p,ke
68
69 ALLOCATE(p(18,18,mvsiz))
70 ALLOCATE(ke(18,18,mvsiz))
71
73 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,is ,it)
74 shi=0
75 DO i=1,3
76 DO j=1,3
77 DO ep=jft,jlt
78 p(i,j,ep)= kq(i,j,ep)
79 ENDDO
80 ENDDO
81 ENDDO
82 DO i=1,3
83 DO j=i,3
84 DO ep=jft,jlt
85 ke(i,j,ep)= k11(i,j,ep)
86 ENDDO
87 ENDDO
88 ENDDO
89
91 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,is ,it)
92 shi=shi+3
93 DO i=1,3
94 DO j=1,3
95 DO ep=jft,jlt
96 p(i+shi,j+shi,ep)= kq(i,j,ep)
97 ENDDO
98 ENDDO
99 ENDDO
100 DO i=1,3
101 DO j=i,3
102 DO ep=jft,jlt
103 ke(i+shi,j+shi,ep)= k22(i,j,ep)
104 ENDDO
105 ENDDO
106 ENDDO
107
109 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,is ,it)
110 shi=shi+3
111 DO i=1,3
112 DO j=1,3
113 DO ep=jft,jlt
114 p(i+shi,j+shi,ep)= kq(i,j,ep)
115 ENDDO
116 ENDDO
117 ENDDO
118 DO i=1,3
119 DO j=i,3
120 DO ep=jft,jlt
121 ke(i+shi,j+shi,ep)= k33(i,j,ep)
122 ENDDO
123 ENDDO
124 ENDDO
125
127 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,is ,it)
128 shi=shi+3
129 DO i=1,3
130 DO j=1,3
131 DO ep=jft,jlt
132 p(i+shi,j+shi,ep)= kq(i,j,ep)
133 ENDDO
134 ENDDO
135 ENDDO
136 DO i=1,3
137 DO j=i,3
138 DO ep=jft,jlt
139 ke(i+shi,j+shi,ep)= k44(i,j,ep)
140 ENDDO
141 ENDDO
142 ENDDO
143
145 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,is ,it)
146 shi=shi+3
147 DO i=1,3
148 DO j=1,3
149 DO ep=jft,jlt
150 p(i+shi,j+shi,ep)= kq(i,j,ep)
151 ENDDO
152 ENDDO
153 ENDDO
154 DO i=1,3
155 DO j=i,3
156 DO ep=jft,jlt
157 ke(i+shi,j+shi,ep)= k55(i,j,ep)
158 ENDDO
159 ENDDO
160 ENDDO
161
163 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,is ,it)
164 shi=shi+3
165 if (shi/=15) print *,'error,SHI=',shi
166 DO i=1,3
167 DO j=1,3
168 DO ep=jft,jlt
169 p(i+shi,j+shi,ep)= kq(i,j,ep)
170 ENDDO
171 ENDDO
172 ENDDO
173 DO i=1,3
174 DO j=i,3
175 DO ep=jft,jlt
176 ke(i+shi,j+shi,ep)= k66(i,j,ep)
177 ENDDO
178 ENDDO
179 ENDDO
180
182 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
183 shj=3
184 DO i=1,3
185 DO j=1,3
186 DO ep=jft,jlt
187 p(i,j+shj,ep)= kq(i,j,ep)
188 ke(i,j+shj,ep)= k12(i,j,ep)
189 ENDDO
190 ENDDO
191 ENDDO
192
193 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
194 DO i=1,3
195 DO j=1,3
196 DO ep=jft,jlt
197 p(i+shj,j,ep)= kq(i,j,ep)
198 ENDDO
199 ENDDO
200 ENDDO
201
203 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
204 shj=shj+3
205 DO i=1,3
206 DO j=1,3
207 DO ep=jft,jlt
208 p(i,j+shj,ep)= kq(i,j,ep)
209 ke(i,j+shj,ep)= k13(i,j,ep)
210 ENDDO
211 ENDDO
212 ENDDO
213
214 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
215 DO i=1,3
216 DO j=1,3
217 DO ep=jft,jlt
218 p(i+shj,j,ep)= kq(i,j,ep)
219 ENDDO
220 ENDDO
221 ENDDO
222
224 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
225 shj=shj+3
226 DO i=1,3
227 DO j=1,3
228 DO ep=jft,jlt
229 p(i,j+shj,ep)= kq(i,j,ep)
230 ke(i,j+shj,ep)= k14(i,j,ep)
231 ENDDO
232 ENDDO
233 ENDDO
234
235 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
236 DO i=1,3
237 DO j=1,3
238 DO ep=jft,jlt
239 p(i+shj,j,ep)= kq(i,j,ep)
240 ENDDO
241 ENDDO
242 ENDDO
243
245 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
246 shj=shj+3
247 DO i=1,3
248 DO j=1,3
249 DO ep=jft,jlt
250 p(i,j+shj,ep)= kq(i,j,ep)
251 ke(i,j+shj,ep)= k15(i,j,ep)
252 ENDDO
253 ENDDO
254 ENDDO
255
257 DO i=1,3
258 DO j=1,3
259 DO ep=jft,jlt
260 p(i+shj,j,ep)= kq(i,j,ep)
261 ENDDO
262 ENDDO
263 ENDDO
264
266 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
267 shj=shj+3
268 DO i=1,3
269 DO j=1,3
270 DO ep=jft,jlt
271 p(i,j+shj,ep)= kq(i,j,ep)
272 ke(i,j+shj,ep)= k16(i,j,ep)
273 ENDDO
274 ENDDO
275 ENDDO
276
277 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
278 DO i=1,3
279 DO j=1,3
280 DO ep=jft,jlt
281 p(i+shj,j,ep)= kq(i,j,ep)
282 ENDDO
283 ENDDO
284 ENDDO
285
287 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
288 shi=3
289 shj=3+3
290 DO i=1,3
291 DO j=1,3
292 DO ep=jft,jlt
293 p(i+shi,j+shj,ep)= kq(i,j,ep)
294 ke(i+shi,j+shj,ep)= k23(i,j,ep)
295 ENDDO
296 ENDDO
297 ENDDO
298
299 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
300 DO i=1,3
301 DO j=1,3
302 DO ep=jft,jlt
303 p(i+shj,j+shi,ep)= kq(i,j,ep)
304 ENDDO
305 ENDDO
306 ENDDO
307
309 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
310 shi=3
311 shj=3+3+3
312 DO i=1,3
313 DO j=1,3
314 DO ep=jft,jlt
315 p(i+shi,j+shj,ep)= kq(i,j,ep)
316 ke(i+shi,j+shj,ep)= k24(i,j,ep)
317 ENDDO
318 ENDDO
319 ENDDO
320
321 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
322 DO i=1,3
323 DO j=1,3
324 DO ep=jft,jlt
325 p(i+shj,j+shi,ep)= kq(i,j,ep)
326 ENDDO
327 ENDDO
328 ENDDO
329
331 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
332 shi=3
333 shj=3+3+3+3
334 DO i=1,3
335 DO j=1,3
336 DO ep=jft,jlt
337 p(i+shi,j+shj,ep)= kq(i,j,ep)
338 ke(i+shi,j+shj,ep)= k25(i,j,ep)
339 ENDDO
340 ENDDO
341 ENDDO
342
343 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
344 DO i=1,3
345 DO j=1,3
346 DO ep=jft,jlt
347 p(i+shj,j+shi,ep)= kq(i,j,ep)
348 ENDDO
349 ENDDO
350 ENDDO
351
353 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
354 shi=3
355 shj=3+3+3+3+3
356 DO i=1,3
357 DO j=1,3
358 DO ep=jft,jlt
359 p(i+shi,j+shj,ep)= kq(i,j,ep)
360 ke(i+shi,j+shj,ep)= k26(i,j,ep)
361 ENDDO
362 ENDDO
363 ENDDO
364
365 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
366 DO i=1,3
367 DO j=1,3
368 DO ep=jft,jlt
369 p(i+shj,j+shi,ep)= kq(i,j,ep)
370 ENDDO
371 ENDDO
372 ENDDO
373
375 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
376 shi=3+3
377 shj=3+3+3
378 DO i=1,3
379 DO j=1,3
380 DO ep=jft,jlt
381 p(i+shi,j+shj,ep)= kq(i,j,ep)
382 ke(i+shi,j+shj,ep)= k34(i,j,ep)
383 ENDDO
384 ENDDO
385 ENDDO
386
387 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
388 DO i=1,3
389 DO j=1,3
390 DO ep=jft,jlt
391 p(i+shj,j+shi,ep)= kq(i,j,ep)
392 ENDDO
393 ENDDO
394 ENDDO
395
397 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
398 shi=3+3
399 shj=3+3+3+3
400 DO i=1,3
401 DO j=1,3
402 DO ep=jft,jlt
403 p(i+shi,j+shj,ep)= kq(i,j,ep)
404 ke(i+shi,j+shj,ep)= k35(i,j,ep)
405 ENDDO
406 ENDDO
407 ENDDO
408
409 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
410 DO i=1,3
411 DO j=1,3
412 DO ep=jft,jlt
413 p(i+shj,j+shi,ep)= kq(i,j,ep)
414 ENDDO
415 ENDDO
416 ENDDO
417
419 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
420 shi=3+3
421 shj=3+3+3+3+3
422 DO i=1,3
423 DO j=1,3
424 DO ep=jft,jlt
425 p(i+shi,j+shj,ep)= kq(i,j,ep)
426 ke(i+shi,j+shj,ep)= k36(i,j,ep)
427 ENDDO
428 ENDDO
429 ENDDO
430
431 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
432 DO i=1,3
433 DO j=1,3
434 DO ep=jft,jlt
435 p(i+shj,j+shi,ep)= kq(i,j,ep)
436 ENDDO
437 ENDDO
438 ENDDO
439
441 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
442 shi=3+3+3
443 shj=3+3+3+3
444 DO i=1,3
445 DO j=1,3
446 DO ep=jft,jlt
447 p(i+shi,j+shj,ep)= kq(i,j,ep)
448 ke(i+shi,j+shj,ep)= k45(i,j,ep)
449 ENDDO
450 ENDDO
451 ENDDO
452
453 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
454 DO i=1,3
455 DO j=1,3
456 DO ep=jft,jlt
457 p(i+shj,j+shi,ep)= kq(i,j,ep)
458 ENDDO
459 ENDDO
460 ENDDO
461
463 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
464 shi=3+3+3
465 shj=3+3+3+3+3
466 DO i=1,3
467 DO j=1,3
468 DO ep=jft,jlt
469 p(i+shi,j+shj,ep)= kq(i,j,ep)
470 ke(i+shi,j+shj,ep)= k46(i,j,ep)
471 ENDDO
472 ENDDO
473 ENDDO
474
475 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
476 DO i=1,3
477 DO j=1,3
478 DO ep=jft,jlt
479 p(i+shj,j+shi,ep)= kq(i,j,ep)
480 ENDDO
481 ENDDO
482 ENDDO
483
485 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,it)
486 shi=3+3+3+3
487 shj=3+3+3+3+3
488 DO i=1,3
489 DO j=1,3
490 DO ep=jft,jlt
491 p(i+shi,j+shj,ep)= kq(i,j,ep)
492 ke(i+shi,j+shj,ep)= k56(i,j,ep)
493 ENDDO
494 ENDDO
495 ENDDO
496
497 CALL tranpvq33(jft ,jlt ,kl ,kq ,vq ,ias ,iat)
498 DO i=1,3
499 DO j=1,3
500 DO ep=jft,jlt
501 p(i+shj,j+shi,ep)= kq(i,j,ep)
502 ENDDO
503 ENDDO
504 ENDDO
505
506 DO i=1,18
507 DO j=i+1,18
508 DO ep=jft,jlt
509 ke(j,i,ep)= ke(i,j,ep)
510 ENDDO
511 ENDDO
512 ENDDO
513
514 CALL tranqikqj(jft ,jlt ,p ,ke,p ,18 ,is )
515
516 shi=0
517 shj=0
518
519 DO i=1,3
520 DO j=i,3
521 DO ep=jft,jlt
522 k11(i,j,ep) =ke(i,j,ep)
523 k11(j,i,ep) =ke(i,j,ep)
524 ENDDO
525 ENDDO
526 ENDDO
527
528 shi=shi+3
529 shj=shj+3
530 DO i=1,3
531 DO j=i,3
532 DO ep=jft,jlt
533 k22(i,j,ep) = ke(i+shi,j+shj,ep)
534 k22(j,i,ep) = ke(i+shi,j+shj,ep)
535 ENDDO
536 ENDDO
537 ENDDO
538
539 shi=shi+3
540 shj=shj+3
541 DO i=1,3
542 DO j=i,3
543 DO ep=jft,jlt
544 k33(i,j,ep) = ke(i+shi,j+shj,ep)
545 k33(j,i,ep) = ke(i+shi,j+shj,ep)
546 ENDDO
547 ENDDO
548 ENDDO
549
550 shi=shi+3
551 shj=shj+3
552 DO i=1,3
553 DO j=i,3
554 DO ep=jft,jlt
555 k44(i,j,ep) = ke(i+shi,j+shj,ep)
556 k44(j,i,ep) = ke(i+shi,j+shj,ep)
557 ENDDO
558 ENDDO
559 ENDDO
560
561 shi=shi+3
562 shj=shj+3
563 DO i=1,3
564 DO j=i,3
565 DO ep=jft,jlt
566 k55(i,j,ep) = ke(i+shi,j+shj,ep)
567 k55(j,i,ep) = ke(i+shi,j+shj,ep)
568 ENDDO
569 ENDDO
570 ENDDO
571
572 shi=shi+3
573 shj=shj+3
574 DO i=1,3
575 DO j=i,3
576 DO ep=jft,jlt
577 k66(i,j,ep) = ke(i+shi,j+shj,ep)
578 k66(j,i,ep) = ke(i+shi,j+shj,ep)
579 ENDDO
580 ENDDO
581 ENDDO
582
583 shi=0
584 shj=3
585 DO i=1,3
586 DO j=1,3
587 DO ep=jft,jlt
588 k12(i,j,ep) = ke(i+shi,j+shj,ep)
589 ENDDO
590 ENDDO
591 ENDDO
592
593 shi=0
594 shj=3+3
595 DO i=1,3
596 DO j=1,3
597 DO ep=jft,jlt
598 k13(i,j,ep) = ke(i+shi,j+shj,ep)
599 ENDDO
600 ENDDO
601 ENDDO
602
603 shi=0
604 shj=3+3+3
605 DO i=1,3
606 DO j=1,3
607 DO ep=jft,jlt
608 k14(i,j,ep) = ke(i+shi,j+shj,ep)
609 ENDDO
610 ENDDO
611 ENDDO
612
613 shi=0
614 shj=3+3+3+3
615 DO i=1,3
616 DO j=1,3
617 DO ep=jft,jlt
618 k15(i,j,ep) = ke(i+shi,j+shj,ep)
619 ENDDO
620 ENDDO
621 ENDDO
622
623 shi=0
624 shj=3+3+3+3+3
625 DO i=1,3
626 DO j=1,3
627 DO ep=jft,jlt
628 k16(i,j,ep) = ke(i+shi,j+shj,ep)
629 ENDDO
630 ENDDO
631 ENDDO
632
633 shi=3
634 shj=3+3
635 DO i=1,3
636 DO j=1,3
637 DO ep=jft,jlt
638 k23(i,j,ep) = ke(i+shi,j+shj,ep)
639 ENDDO
640 ENDDO
641 ENDDO
642
643 shi=3
644 shj=3+3+3
645 DO i=1,3
646 DO j=1,3
647 DO ep=jft,jlt
648 k24(i,j,ep) = ke(i+shi,j+shj,ep)
649 ENDDO
650 ENDDO
651 ENDDO
652
653 shi=3
654 shj=3+3+3+3
655 DO i=1,3
656 DO j=1,3
657 DO ep=jft,jlt
658 k25(i,j,ep) = ke(i+shi,j+shj,ep)
659 ENDDO
660 ENDDO
661 ENDDO
662
663 shi=3
664 shj=3+3+3+3+3
665 DO i=1,3
666 DO j=1,3
667 DO ep=jft,jlt
668 k26(i,j,ep) = ke(i+shi,j+shj,ep)
669 ENDDO
670 ENDDO
671 ENDDO
672
673 shi=3+3
674 shj=3+3+3
675 DO i=1,3
676 DO j=1,3
677 DO ep=jft,jlt
678 k34(i,j,ep) = ke(i+shi,j+shj,ep)
679 ENDDO
680 ENDDO
681 ENDDO
682
683 shi=3+3
684 shj=3+3+3+3
685 DO i=1,3
686 DO j=1,3
687 DO ep=jft,jlt
688 k35(i,j,ep) = ke(i+shi,j+shj,ep)
689 ENDDO
690 ENDDO
691 ENDDO
692
693 shi=3+3
694 shj=3+3+3+3+3
695 DO i=1,3
696 DO j=1,3
697 DO ep=jft,jlt
698 k36(i,j,ep) = ke(i+shi,j+shj,ep)
699 ENDDO
700 ENDDO
701 ENDDO
702
703 shi=3+3+3
704 shj=3+3+3+3
705 DO i=1,3
706 DO j=1,3
707 DO ep=jft,jlt
708 k45(i,j,ep) = ke(i+shi,j+shj,ep)
709 ENDDO
710 ENDDO
711 ENDDO
712
713 shi=3+3+3
714 shj=3+3+3+3+3
715 DO i=1,3
716 DO j=1,3
717 DO ep=jft,jlt
718 k46(i,j,ep) = ke(i+shi,j+shj,ep)
719 ENDDO
720 ENDDO
721 ENDDO
722
723 shi=3+3+3+3
724 shj=3+3+3+3+3
725 DO i=1,3
726 DO j=1,3
727 DO ep=jft,jlt
728 k56(i,j,ep) = ke(i+shi,j+shj,ep)
729 ENDDO
730 ENDDO
731 ENDDO
732
733 DEALLOCATE(p)
734 DEALLOCATE(ke)
735
736 RETURN
subroutine tranqikqj(jft, jlt, vqi, kk, vqj, nd, isym)
subroutine tranpvq33(jft, jlt, kd, pvq, vq, is, it)
subroutine tranridrrj33(jft, jlt, ri, rd, rj, kd, is)