5 &(op, x , da,typdia,xa,typext, y,c,
6 & ikle1,ikle2,ikle3,ikle4,ikle5,ikle6,
7 & npoin,nelem,w1,w2,w3,w4,w5,w6,dim1xa)
84 INTEGER,
INTENT(IN) :: NELEM,NPOIN,DIM1XA
85 INTEGER,
INTENT(IN) :: IKLE1(*),IKLE2(*),IKLE3(*)
86 INTEGER,
INTENT(IN) :: IKLE4(*),IKLE5(*),IKLE6(*)
88 DOUBLE PRECISION,
INTENT(INOUT) :: W1(*),W2(*),W3(*)
89 DOUBLE PRECISION,
INTENT(INOUT) :: W4(*),W5(*),W6(*)
90 DOUBLE PRECISION,
INTENT(IN) :: Y(*),DA(*)
91 DOUBLE PRECISION,
INTENT(INOUT) :: X(*)
92 DOUBLE PRECISION,
INTENT(IN) :: XA(dim1xa,*)
93 DOUBLE PRECISION,
INTENT(IN) :: C
95 CHARACTER(LEN=8),
INTENT(IN) :: OP
96 CHARACTER(LEN=1),
INTENT(IN) :: TYPDIA,TYPEXT
100 INTEGER IELEM,I1,I2,I3,I4,I5,I6
101 DOUBLE PRECISION Z(1)
105 IF(op(1:8).EQ.
'X=AY ')
THEN 109 IF(typext(1:1).EQ.
'S')
THEN 121 & + xa(1,ielem) * y(i2)
122 & + xa(2,ielem) * y(i3)
123 & + xa(3,ielem) * y(i4)
124 & + xa(4,ielem) * y(i5)
125 & + xa(5,ielem) * y(i6)
128 & + xa(1,ielem) * y(i1)
129 & + xa(6,ielem) * y(i3)
130 & + xa(7,ielem) * y(i4)
131 & + xa(8,ielem) * y(i5)
132 & + xa(9,ielem) * y(i6)
135 & + xa(2,ielem) * y(i1)
136 & + xa(6,ielem) * y(i2)
137 & + xa(10,ielem) * y(i4)
138 & + xa(11,ielem) * y(i5)
139 & + xa(12,ielem) * y(i6)
142 & + xa(3,ielem) * y(i1)
143 & + xa(7,ielem) * y(i2)
144 & + xa(10,ielem) * y(i3)
145 & + xa(13,ielem) * y(i5)
146 & + xa(14,ielem) * y(i6)
149 & + xa(4,ielem) * y(i1)
150 & + xa(8,ielem) * y(i2)
151 & + xa(11,ielem) * y(i3)
152 & + xa(13,ielem) * y(i4)
153 & + xa(15,ielem) * y(i6)
156 & + xa(5,ielem) * y(i1)
157 & + xa(9,ielem) * y(i2)
158 & + xa(12,ielem) * y(i3)
159 & + xa(14,ielem) * y(i4)
160 & + xa(15,ielem) * y(i5)
164 ELSEIF(typext(1:1).EQ.
'Q')
THEN 176 & + xa(1,ielem) * y(i2)
177 & + xa(2,ielem) * y(i3)
178 & + xa(3,ielem) * y(i4)
179 & + xa(4,ielem) * y(i5)
180 & + xa(5,ielem) * y(i6)
183 & + xa(16,ielem) * y(i1)
184 & + xa(6,ielem) * y(i3)
185 & + xa(7,ielem) * y(i4)
186 & + xa(8,ielem) * y(i5)
187 & + xa(9,ielem) * y(i6)
190 & + xa(17,ielem) * y(i1)
191 & + xa(21,ielem) * y(i2)
192 & + xa(10,ielem) * y(i4)
193 & + xa(11,ielem) * y(i5)
194 & + xa(12,ielem) * y(i6)
197 & + xa(18,ielem) * y(i1)
198 & + xa(22,ielem) * y(i2)
199 & + xa(25,ielem) * y(i3)
200 & + xa(13,ielem) * y(i5)
201 & + xa(14,ielem) * y(i6)
204 & + xa(19,ielem) * y(i1)
205 & + xa(23,ielem) * y(i2)
206 & + xa(26,ielem) * y(i3)
207 & + xa(28,ielem) * y(i4)
208 & + xa(15,ielem) * y(i6)
211 & + xa(20,ielem) * y(i1)
212 & + xa(24,ielem) * y(i2)
213 & + xa(27,ielem) * y(i3)
214 & + xa(29,ielem) * y(i4)
215 & + xa(30,ielem) * y(i5)
219 ELSEIF(typext(1:1).EQ.
'0')
THEN 221 CALL ov (
'X=C ', w1 , y , z , 0.d0 , nelem )
222 CALL ov (
'X=C ', w2 , y , z , 0.d0 , nelem )
223 CALL ov (
'X=C ', w3 , y , z , 0.d0 , nelem )
224 CALL ov (
'X=C ', w4 , y , z , 0.d0 , nelem )
225 CALL ov (
'X=C ', w5 , y , z , 0.d0 , nelem )
226 CALL ov (
'X=C ', w6 , y , z , 0.d0 , nelem )
230 WRITE(
lu,1001) typext
238 IF(typdia(1:1).EQ.
'Q')
THEN 239 CALL ov (
'X=YZ ', x , y , da , c , npoin )
240 ELSEIF(typdia(1:1).EQ.
'I')
THEN 241 CALL ov (
'X=Y ', x , y , z , c , npoin )
242 ELSEIF(typdia(1:1).EQ.
'0')
THEN 243 CALL ov (
'X=C ', x , y , da , 0.d0 , npoin )
245 WRITE(
lu,2001) typdia
252 ELSEIF(op(1:8).EQ.
'X=-AY ')
THEN 256 IF(typext(1:1).EQ.
'S')
THEN 268 & - xa(1,ielem) * y(i2)
269 & - xa(2,ielem) * y(i3)
270 & - xa(3,ielem) * y(i4)
271 & - xa(4,ielem) * y(i5)
272 & - xa(5,ielem) * y(i6)
275 & - xa(1,ielem) * y(i1)
276 & - xa(6,ielem) * y(i3)
277 & - xa(7,ielem) * y(i4)
278 & - xa(8,ielem) * y(i5)
279 & - xa(9,ielem) * y(i6)
282 & - xa(2,ielem) * y(i1)
283 & - xa(6,ielem) * y(i2)
284 & - xa(10,ielem) * y(i4)
285 & - xa(11,ielem) * y(i5)
286 & - xa(12,ielem) * y(i6)
289 & - xa(3,ielem) * y(i1)
290 & - xa(7,ielem) * y(i2)
291 & - xa(10,ielem) * y(i3)
292 & - xa(13,ielem) * y(i5)
293 & - xa(14,ielem) * y(i6)
296 & - xa(4,ielem) * y(i1)
297 & - xa(8,ielem) * y(i2)
298 & - xa(11,ielem) * y(i3)
299 & - xa(13,ielem) * y(i4)
300 & - xa(15,ielem) * y(i6)
303 & - xa(5,ielem) * y(i1)
304 & - xa(9,ielem) * y(i2)
305 & - xa(12,ielem) * y(i3)
306 & - xa(14,ielem) * y(i4)
307 & - xa(15,ielem) * y(i5)
311 ELSEIF(typext(1:1).EQ.
'Q')
THEN 323 & - xa(1,ielem) * y(i2)
324 & - xa(2,ielem) * y(i3)
325 & - xa(3,ielem) * y(i4)
326 & - xa(4,ielem) * y(i5)
327 & - xa(5,ielem) * y(i6)
330 & - xa(16,ielem) * y(i1)
331 & - xa(6,ielem) * y(i3)
332 & - xa(7,ielem) * y(i4)
333 & - xa(8,ielem) * y(i5)
334 & - xa(9,ielem) * y(i6)
337 & - xa(17,ielem) * y(i1)
338 & - xa(21,ielem) * y(i2)
339 & - xa(10,ielem) * y(i4)
340 & - xa(11,ielem) * y(i5)
341 & - xa(12,ielem) * y(i6)
344 & - xa(18,ielem) * y(i1)
345 & - xa(22,ielem) * y(i2)
346 & - xa(25,ielem) * y(i3)
347 & - xa(13,ielem) * y(i5)
348 & - xa(14,ielem) * y(i6)
351 & - xa(19,ielem) * y(i1)
352 & - xa(23,ielem) * y(i2)
353 & - xa(26,ielem) * y(i3)
354 & - xa(28,ielem) * y(i4)
355 & - xa(15,ielem) * y(i6)
358 & - xa(20,ielem) * y(i1)
359 & - xa(24,ielem) * y(i2)
360 & - xa(27,ielem) * y(i3)
361 & - xa(29,ielem) * y(i4)
362 & - xa(30,ielem) * y(i5)
366 ELSEIF(typext(1:1).EQ.
'0')
THEN 368 CALL ov (
'X=C ', w1 , y , z , 0.d0 , nelem )
369 CALL ov (
'X=C ', w2 , y , z , 0.d0 , nelem )
370 CALL ov (
'X=C ', w3 , y , z , 0.d0 , nelem )
371 CALL ov (
'X=C ', w4 , y , z , 0.d0 , nelem )
372 CALL ov (
'X=C ', w5 , y , z , 0.d0 , nelem )
373 CALL ov (
'X=C ', w6 , y , z , 0.d0 , nelem )
377 WRITE(
lu,1001) typext
385 IF(typdia(1:1).EQ.
'Q')
THEN 386 CALL ov (
'X=-YZ ', x , y , da , c , npoin )
387 ELSEIF(typdia(1:1).EQ.
'I')
THEN 388 CALL ov (
'X=-Y ', x , y , z , c , npoin )
389 ELSEIF(typdia(1:1).EQ.
'0')
THEN 390 CALL ov (
'X=C ', x , y , da , 0.d0 , npoin )
392 WRITE(
lu,2001) typdia
399 ELSEIF(op(1:8).EQ.
'X=X+AY ')
THEN 403 IF(typext(1:1).EQ.
'S')
THEN 414 w1(ielem) = w1(ielem)
415 & + xa(1,ielem) * y(i2)
416 & + xa(2,ielem) * y(i3)
417 & + xa(3,ielem) * y(i4)
418 & + xa(4,ielem) * y(i5)
419 & + xa(5,ielem) * y(i6)
421 w2(ielem) = w2(ielem)
422 & + xa(1,ielem) * y(i1)
423 & + xa(6,ielem) * y(i3)
424 & + xa(7,ielem) * y(i4)
425 & + xa(8,ielem) * y(i5)
426 & + xa(9,ielem) * y(i6)
428 w3(ielem) = w3(ielem)
429 & + xa(2,ielem) * y(i1)
430 & + xa(6,ielem) * y(i2)
431 & + xa(10,ielem) * y(i4)
432 & + xa(11,ielem) * y(i5)
433 & + xa(12,ielem) * y(i6)
435 w4(ielem) = w4(ielem)
436 & + xa(3,ielem) * y(i1)
437 & + xa(7,ielem) * y(i2)
438 & + xa(10,ielem) * y(i3)
439 & + xa(13,ielem) * y(i5)
440 & + xa(14,ielem) * y(i6)
442 w5(ielem) = w5(ielem)
443 & + xa(4,ielem) * y(i1)
444 & + xa(8,ielem) * y(i2)
445 & + xa(11,ielem) * y(i3)
446 & + xa(13,ielem) * y(i4)
447 & + xa(15,ielem) * y(i6)
449 w6(ielem) = w6(ielem)
450 & + xa(5,ielem) * y(i1)
451 & + xa(9,ielem) * y(i2)
452 & + xa(12,ielem) * y(i3)
453 & + xa(14,ielem) * y(i4)
454 & + xa(15,ielem) * y(i5)
458 ELSEIF(typext(1:1).EQ.
'Q')
THEN 469 w1(ielem) = w1(ielem)
470 & + xa(1,ielem) * y(i2)
471 & + xa(2,ielem) * y(i3)
472 & + xa(3,ielem) * y(i4)
473 & + xa(4,ielem) * y(i5)
474 & + xa(5,ielem) * y(i6)
476 w2(ielem) = w2(ielem)
477 & + xa(16,ielem) * y(i1)
478 & + xa(6,ielem) * y(i3)
479 & + xa(7,ielem) * y(i4)
480 & + xa(8,ielem) * y(i5)
481 & + xa(9,ielem) * y(i6)
483 w3(ielem) = w3(ielem)
484 & + xa(17,ielem) * y(i1)
485 & + xa(21,ielem) * y(i2)
486 & + xa(10,ielem) * y(i4)
487 & + xa(11,ielem) * y(i5)
488 & + xa(12,ielem) * y(i6)
490 w4(ielem) = w4(ielem)
491 & + xa(18,ielem) * y(i1)
492 & + xa(22,ielem) * y(i2)
493 & + xa(25,ielem) * y(i3)
494 & + xa(13,ielem) * y(i5)
495 & + xa(14,ielem) * y(i6)
497 w5(ielem) = w5(ielem)
498 & + xa(19,ielem) * y(i1)
499 & + xa(23,ielem) * y(i2)
500 & + xa(26,ielem) * y(i3)
501 & + xa(28,ielem) * y(i4)
502 & + xa(15,ielem) * y(i6)
504 w6(ielem) = w6(ielem)
505 & + xa(20,ielem) * y(i1)
506 & + xa(24,ielem) * y(i2)
507 & + xa(27,ielem) * y(i3)
508 & + xa(29,ielem) * y(i4)
509 & + xa(30,ielem) * y(i5)
513 ELSEIF(typext(1:1).NE.
'0')
THEN 515 WRITE(
lu,1001) typext
523 IF(typdia(1:1).EQ.
'Q')
THEN 524 CALL ov (
'X=X+YZ ', x , y , da , c , npoin )
525 ELSEIF(typdia(1:1).EQ.
'I')
THEN 526 CALL ov (
'X=X+Y ', x , y , z , c , npoin )
527 ELSEIF(typdia(1:1).NE.
'0')
THEN 528 WRITE(
lu,2001) typdia
535 ELSEIF(op(1:8).EQ.
'X=X-AY ')
THEN 539 IF(typext(1:1).EQ.
'S')
THEN 550 w1(ielem) = w1(ielem)
551 & - xa(1,ielem) * y(i2)
552 & - xa(2,ielem) * y(i3)
553 & - xa(3,ielem) * y(i4)
554 & - xa(4,ielem) * y(i5)
555 & - xa(5,ielem) * y(i6)
557 w2(ielem) = w2(ielem)
558 & - xa(1,ielem) * y(i1)
559 & - xa(6,ielem) * y(i3)
560 & - xa(7,ielem) * y(i4)
561 & - xa(8,ielem) * y(i5)
562 & - xa(9,ielem) * y(i6)
564 w3(ielem) = w3(ielem)
565 & - xa(2,ielem) * y(i1)
566 & - xa(6,ielem) * y(i2)
567 & - xa(10,ielem) * y(i4)
568 & - xa(11,ielem) * y(i5)
569 & - xa(12,ielem) * y(i6)
571 w4(ielem) = w4(ielem)
572 & - xa(3,ielem) * y(i1)
573 & - xa(7,ielem) * y(i2)
574 & - xa(10,ielem) * y(i3)
575 & - xa(13,ielem) * y(i5)
576 & - xa(14,ielem) * y(i6)
578 w5(ielem) = w5(ielem)
579 & - xa(4,ielem) * y(i1)
580 & - xa(8,ielem) * y(i2)
581 & - xa(11,ielem) * y(i3)
582 & - xa(13,ielem) * y(i4)
583 & - xa(15,ielem) * y(i6)
585 w6(ielem) = w6(ielem)
586 & - xa(5,ielem) * y(i1)
587 & - xa(9,ielem) * y(i2)
588 & - xa(12,ielem) * y(i3)
589 & - xa(14,ielem) * y(i4)
590 & - xa(15,ielem) * y(i5)
594 ELSEIF(typext(1:1).EQ.
'Q')
THEN 605 w1(ielem) = w1(ielem)
606 & - xa(1,ielem) * y(i2)
607 & - xa(2,ielem) * y(i3)
608 & - xa(3,ielem) * y(i4)
609 & - xa(4,ielem) * y(i5)
610 & - xa(5,ielem) * y(i6)
612 w2(ielem) = w2(ielem)
613 & - xa(16,ielem) * y(i1)
614 & - xa(6,ielem) * y(i3)
615 & - xa(7,ielem) * y(i4)
616 & - xa(8,ielem) * y(i5)
617 & - xa(9,ielem) * y(i6)
619 w3(ielem) = w3(ielem)
620 & - xa(17,ielem) * y(i1)
621 & - xa(21,ielem) * y(i2)
622 & - xa(10,ielem) * y(i4)
623 & - xa(11,ielem) * y(i5)
624 & - xa(12,ielem) * y(i6)
626 w4(ielem) = w4(ielem)
627 & - xa(18,ielem) * y(i1)
628 & - xa(22,ielem) * y(i2)
629 & - xa(25,ielem) * y(i3)
630 & - xa(13,ielem) * y(i5)
631 & - xa(14,ielem) * y(i6)
633 w5(ielem) = w5(ielem)
634 & - xa(19,ielem) * y(i1)
635 & - xa(23,ielem) * y(i2)
636 & - xa(26,ielem) * y(i3)
637 & - xa(28,ielem) * y(i4)
638 & - xa(15,ielem) * y(i6)
640 w6(ielem) = w6(ielem)
641 & - xa(20,ielem) * y(i1)
642 & - xa(24,ielem) * y(i2)
643 & - xa(27,ielem) * y(i3)
644 & - xa(29,ielem) * y(i4)
645 & - xa(30,ielem) * y(i5)
649 ELSEIF(typext(1:1).NE.
'0')
THEN 651 WRITE(
lu,1001) typext
659 IF(typdia(1:1).EQ.
'Q')
THEN 660 CALL ov (
'X=X-YZ ', x , y , da , c , npoin )
661 ELSEIF(typdia(1:1).EQ.
'I')
THEN 662 CALL ov (
'X=X-Y ', x , y , z , c , npoin )
663 ELSEIF(typdia(1:1).NE.
'0')
THEN 664 WRITE(
lu,2001) typdia
671 ELSEIF(op(1:8).EQ.
'X=X+CAY ')
THEN 675 IF(typext(1:1).EQ.
'S')
THEN 686 w1(ielem) = w1(ielem) + c * (
687 & + xa(1,ielem) * y(i2)
688 & + xa(2,ielem) * y(i3)
689 & + xa(3,ielem) * y(i4)
690 & + xa(4,ielem) * y(i5)
691 & + xa(5,ielem) * y(i6) )
693 w2(ielem) = w2(ielem) + c * (
694 & + xa(1,ielem) * y(i1)
695 & + xa(6,ielem) * y(i3)
696 & + xa(7,ielem) * y(i4)
697 & + xa(8,ielem) * y(i5)
698 & + xa(9,ielem) * y(i6) )
700 w3(ielem) = w3(ielem) + c * (
701 & + xa(2,ielem) * y(i1)
702 & + xa(6,ielem) * y(i2)
703 & + xa(10,ielem) * y(i4)
704 & + xa(11,ielem) * y(i5)
705 & + xa(12,ielem)* y(i6) )
707 w4(ielem) = w4(ielem) + c * (
708 & + xa(3,ielem) * y(i1)
709 & + xa(7,ielem) * y(i2)
710 & + xa(10,ielem) * y(i3)
711 & + xa(13,ielem) * y(i5)
712 & + xa(14,ielem) * y(i6) )
714 w5(ielem) = w5(ielem) + c * (
715 & + xa(4,ielem) * y(i1)
716 & + xa(8,ielem) * y(i2)
717 & + xa(11,ielem) * y(i3)
718 & + xa(13,ielem) * y(i4)
719 & + xa(15,ielem) * y(i6) )
721 w6(ielem) = w6(ielem) + c * (
722 & + xa(5,ielem) * y(i1)
723 & + xa(9,ielem) * y(i2)
724 & + xa(12,ielem) * y(i3)
725 & + xa(14,ielem) * y(i4)
726 & + xa(15,ielem) * y(i5) )
730 ELSEIF(typext(1:1).EQ.
'Q')
THEN 741 w1(ielem) = w1(ielem) + c * (
742 & + xa(1,ielem) * y(i2)
743 & + xa(2,ielem) * y(i3)
744 & + xa(3,ielem) * y(i4)
745 & + xa(4,ielem) * y(i5)
746 & + xa(5,ielem) * y(i6) )
748 w2(ielem) = w2(ielem) + c * (
749 & + xa(16,ielem) * y(i1)
750 & + xa(6,ielem) * y(i3)
751 & + xa(7,ielem) * y(i4)
752 & + xa(8,ielem) * y(i5)
753 & + xa(9,ielem) * y(i6) )
755 w3(ielem) = w3(ielem) + c * (
756 & + xa(17,ielem) * y(i1)
757 & + xa(21,ielem) * y(i2)
758 & + xa(10,ielem) * y(i4)
759 & + xa(11,ielem) * y(i5)
760 & + xa(12,ielem) * y(i6) )
762 w4(ielem) = w4(ielem) + c * (
763 & + xa(18,ielem) * y(i1)
764 & + xa(22,ielem) * y(i2)
765 & + xa(25,ielem) * y(i3)
766 & + xa(13,ielem) * y(i5)
767 & + xa(14,ielem) * y(i6) )
769 w5(ielem) = w5(ielem) + c * (
770 & + xa(19,ielem) * y(i1)
771 & + xa(23,ielem) * y(i2)
772 & + xa(26,ielem) * y(i3)
773 & + xa(28,ielem) * y(i4)
774 & + xa(15,ielem) * y(i6) )
776 w6(ielem) = w6(ielem) + c * (
777 & + xa(20,ielem) * y(i1)
778 & + xa(24,ielem) * y(i2)
779 & + xa(27,ielem) * y(i3)
780 & + xa(29,ielem) * y(i4)
781 & + xa(30,ielem) * y(i5) )
785 ELSEIF(typext(1:1).NE.
'0')
THEN 787 WRITE(
lu,1001) typext
795 IF(typdia(1:1).EQ.
'Q')
THEN 796 CALL ov (
'X=X+CYZ ', x , y , da , c , npoin )
797 ELSEIF(typdia(1:1).EQ.
'I')
THEN 798 CALL ov (
'X=X+CY ', x , y , z , c , npoin )
799 ELSEIF(typdia(1:1).NE.
'0')
THEN 800 WRITE(
lu,2001) typdia
807 ELSEIF(op(1:8).EQ.
'X=TAY ')
THEN 811 IF(typext(1:1).EQ.
'S')
THEN 823 & + xa(1,ielem) * y(i2)
824 & + xa(2,ielem) * y(i3)
825 & + xa(3,ielem) * y(i4)
826 & + xa(4,ielem) * y(i5)
827 & + xa(5,ielem) * y(i6)
830 & + xa(1,ielem) * y(i1)
831 & + xa(6,ielem) * y(i3)
832 & + xa(7,ielem) * y(i4)
833 & + xa(8,ielem) * y(i5)
834 & + xa(9,ielem) * y(i6)
837 & + xa(2,ielem) * y(i1)
838 & + xa(6,ielem) * y(i2)
839 & + xa(10,ielem) * y(i4)
840 & + xa(11,ielem) * y(i5)
841 & + xa(12,ielem) * y(i6)
844 & + xa(3,ielem) * y(i1)
845 & + xa(7,ielem) * y(i2)
846 & + xa(10,ielem) * y(i3)
847 & + xa(13,ielem) * y(i5)
848 & + xa(14,ielem) * y(i6)
851 & + xa(4,ielem) * y(i1)
852 & + xa(8,ielem) * y(i2)
853 & + xa(11,ielem) * y(i3)
854 & + xa(13,ielem) * y(i4)
855 & + xa(15,ielem) * y(i6)
858 & + xa(5,ielem) * y(i1)
859 & + xa(9,ielem) * y(i2)
860 & + xa(12,ielem) * y(i3)
861 & + xa(14,ielem) * y(i4)
862 & + xa(15,ielem) * y(i5)
866 ELSEIF(typext(1:1).EQ.
'Q')
THEN 878 & + xa(16,ielem) * y(i2)
879 & + xa(17,ielem) * y(i3)
880 & + xa(18,ielem) * y(i4)
881 & + xa(19,ielem) * y(i5)
882 & + xa(20,ielem) * y(i6)
885 & + xa(1,ielem) * y(i1)
886 & + xa(21,ielem) * y(i3)
887 & + xa(22,ielem) * y(i4)
888 & + xa(23,ielem) * y(i5)
889 & + xa(24,ielem) * y(i6)
892 & + xa(2,ielem) * y(i1)
893 & + xa(6,ielem) * y(i2)
894 & + xa(25,ielem) * y(i4)
895 & + xa(26,ielem) * y(i5)
896 & + xa(27,ielem) * y(i6)
899 & + xa(3,ielem) * y(i1)
900 & + xa(7,ielem) * y(i2)
901 & + xa(10,ielem) * y(i3)
902 & + xa(28,ielem) * y(i5)
903 & + xa(29,ielem) * y(i6)
906 & + xa(4,ielem) * y(i1)
907 & + xa(8,ielem) * y(i2)
908 & + xa(11,ielem) * y(i3)
909 & + xa(13,ielem) * y(i4)
910 & + xa(30,ielem) * y(i6)
913 & + xa(5,ielem) * y(i1)
914 & + xa(9,ielem) * y(i2)
915 & + xa(12,ielem) * y(i3)
916 & + xa(14,ielem) * y(i4)
917 & + xa(15,ielem) * y(i5)
921 ELSEIF(typext(1:1).EQ.
'0')
THEN 923 CALL ov (
'X=C ', w1 , y , z , 0.d0 , nelem )
924 CALL ov (
'X=C ', w2 , y , z , 0.d0 , nelem )
925 CALL ov (
'X=C ', w3 , y , z , 0.d0 , nelem )
926 CALL ov (
'X=C ', w4 , y , z , 0.d0 , nelem )
927 CALL ov (
'X=C ', w5 , y , z , 0.d0 , nelem )
928 CALL ov (
'X=C ', w6 , y , z , 0.d0 , nelem )
932 WRITE(
lu,1001) typext
940 IF(typdia(1:1).EQ.
'Q')
THEN 941 CALL ov (
'X=YZ ', x , y , da , c , npoin )
942 ELSEIF(typdia(1:1).EQ.
'I')
THEN 943 CALL ov (
'X=Y ', x , y , z , c , npoin )
944 ELSEIF(typdia(1:1).EQ.
'0')
THEN 945 CALL ov (
'X=C ', x , y , da , 0.d0 , npoin )
947 WRITE(
lu,2001) typdia
954 ELSEIF(op(1:8).EQ.
'X=-TAY ')
THEN 958 IF(typext(1:1).EQ.
'S')
THEN 970 & - xa(1,ielem) * y(i2)
971 & - xa(2,ielem) * y(i3)
972 & - xa(3,ielem) * y(i4)
973 & - xa(4,ielem) * y(i5)
974 & - xa(5,ielem) * y(i6)
977 & - xa(1,ielem) * y(i1)
978 & - xa(6,ielem) * y(i3)
979 & - xa(7,ielem) * y(i4)
980 & - xa(8,ielem) * y(i5)
981 & - xa(9,ielem) * y(i6)
984 & - xa(2,ielem) * y(i1)
985 & - xa(6,ielem) * y(i2)
986 & - xa(10,ielem) * y(i4)
987 & - xa(11,ielem) * y(i5)
988 & - xa(12,ielem) * y(i6)
991 & - xa(3,ielem) * y(i1)
992 & - xa(7,ielem) * y(i2)
993 & - xa(10,ielem) * y(i3)
994 & - xa(13,ielem) * y(i5)
995 & - xa(14,ielem) * y(i6)
998 & - xa(4,ielem) * y(i1)
999 & - xa(8,ielem) * y(i2)
1000 & - xa(11,ielem) * y(i3)
1001 & - xa(13,ielem) * y(i4)
1002 & - xa(15,ielem) * y(i6)
1005 & - xa(5,ielem) * y(i1)
1006 & - xa(9,ielem) * y(i2)
1007 & - xa(12,ielem) * y(i3)
1008 & - xa(14,ielem) * y(i4)
1009 & - xa(15,ielem) * y(i5)
1013 ELSEIF(typext(1:1).EQ.
'Q')
THEN 1015 DO ielem = 1 , nelem
1025 & - xa(16,ielem) * y(i2)
1026 & - xa(17,ielem) * y(i3)
1027 & - xa(18,ielem) * y(i4)
1028 & - xa(19,ielem) * y(i5)
1029 & - xa(20,ielem) * y(i6)
1032 & - xa(1,ielem) * y(i1)
1033 & - xa(21,ielem) * y(i3)
1034 & - xa(22,ielem) * y(i4)
1035 & - xa(23,ielem) * y(i5)
1036 & - xa(24,ielem) * y(i6)
1039 & - xa(2,ielem) * y(i1)
1040 & - xa(6,ielem) * y(i2)
1041 & - xa(25,ielem) * y(i4)
1042 & - xa(26,ielem) * y(i5)
1043 & - xa(27,ielem) * y(i6)
1046 & - xa(3,ielem) * y(i1)
1047 & - xa(7,ielem) * y(i2)
1048 & - xa(10,ielem) * y(i3)
1049 & - xa(28,ielem) * y(i5)
1050 & - xa(29,ielem) * y(i6)
1053 & - xa(4,ielem) * y(i1)
1054 & - xa(8,ielem) * y(i2)
1055 & - xa(11,ielem) * y(i3)
1056 & - xa(13,ielem) * y(i4)
1057 & - xa(30,ielem) * y(i6)
1060 & - xa(5,ielem) * y(i1)
1061 & - xa(9,ielem) * y(i2)
1062 & - xa(12,ielem) * y(i3)
1063 & - xa(14,ielem) * y(i4)
1064 & - xa(15,ielem) * y(i5)
1068 ELSEIF(typext(1:1).EQ.
'0')
THEN 1070 CALL ov (
'X=C ', w1 , y , z , 0.d0 , nelem )
1071 CALL ov (
'X=C ', w2 , y , z , 0.d0 , nelem )
1072 CALL ov (
'X=C ', w3 , y , z , 0.d0 , nelem )
1073 CALL ov (
'X=C ', w4 , y , z , 0.d0 , nelem )
1074 CALL ov (
'X=C ', w5 , y , z , 0.d0 , nelem )
1075 CALL ov (
'X=C ', w6 , y , z , 0.d0 , nelem )
1079 WRITE(
lu,1001) typext
1087 IF(typdia(1:1).EQ.
'Q')
THEN 1088 CALL ov (
'X=-YZ ', x , y , da , c , npoin )
1089 ELSEIF(typdia(1:1).EQ.
'I')
THEN 1090 CALL ov (
'X=-Y ', x , y , z , c , npoin )
1091 ELSEIF(typdia(1:1).EQ.
'0')
THEN 1092 CALL ov (
'X=C ', x , y , da , 0.d0 , npoin )
1094 WRITE(
lu,2001) typdia
1101 ELSEIF(op(1:8).EQ.
'X=X+TAY ')
THEN 1105 IF(typext(1:1).EQ.
'S')
THEN 1107 DO ielem = 1 , nelem
1116 w1(ielem) = w1(ielem)
1117 & + xa(1,ielem) * y(i2)
1118 & + xa(2,ielem) * y(i3)
1119 & + xa(3,ielem) * y(i4)
1120 & + xa(4,ielem) * y(i5)
1121 & + xa(5,ielem) * y(i6)
1123 w2(ielem) = w2(ielem)
1124 & + xa(1,ielem) * y(i1)
1125 & + xa(6,ielem) * y(i3)
1126 & + xa(7,ielem) * y(i4)
1127 & + xa(8,ielem) * y(i5)
1128 & + xa(9,ielem) * y(i6)
1130 w3(ielem) = w3(ielem)
1131 & + xa(2,ielem) * y(i1)
1132 & + xa(6,ielem) * y(i2)
1133 & + xa(10,ielem) * y(i4)
1134 & + xa(11,ielem) * y(i5)
1135 & + xa(12,ielem) * y(i6)
1137 w4(ielem) = w4(ielem)
1138 & + xa(3,ielem) * y(i1)
1139 & + xa(7,ielem) * y(i2)
1140 & + xa(10,ielem) * y(i3)
1141 & + xa(13,ielem) * y(i5)
1142 & + xa(14,ielem) * y(i6)
1144 w5(ielem) = w5(ielem)
1145 & + xa(4,ielem) * y(i1)
1146 & + xa(8,ielem) * y(i2)
1147 & + xa(11,ielem) * y(i3)
1148 & + xa(13,ielem) * y(i4)
1149 & + xa(15,ielem) * y(i6)
1151 w6(ielem) = w6(ielem)
1152 & + xa(5,ielem) * y(i1)
1153 & + xa(9,ielem) * y(i2)
1154 & + xa(12,ielem) * y(i3)
1155 & + xa(14,ielem) * y(i4)
1156 & + xa(15,ielem) * y(i5)
1160 ELSEIF(typext(1:1).EQ.
'Q')
THEN 1162 DO ielem = 1 , nelem
1171 w1(ielem) = w1(ielem)
1172 & + xa(16,ielem) * y(i2)
1173 & + xa(17,ielem) * y(i3)
1174 & + xa(18,ielem) * y(i4)
1175 & + xa(19,ielem) * y(i5)
1176 & + xa(20,ielem) * y(i6)
1178 w2(ielem) = w2(ielem)
1179 & + xa(1,ielem) * y(i1)
1180 & + xa(21,ielem) * y(i3)
1181 & + xa(22,ielem) * y(i4)
1182 & + xa(23,ielem) * y(i5)
1183 & + xa(24,ielem) * y(i6)
1185 w3(ielem) = w3(ielem)
1186 & + xa(2,ielem) * y(i1)
1187 & + xa(6,ielem) * y(i2)
1188 & + xa(25,ielem) * y(i4)
1189 & + xa(26,ielem) * y(i5)
1190 & + xa(27,ielem) * y(i6)
1192 w4(ielem) = w4(ielem)
1193 & + xa(3,ielem) * y(i1)
1194 & + xa(7,ielem) * y(i2)
1195 & + xa(10,ielem) * y(i3)
1196 & + xa(28,ielem) * y(i5)
1197 & + xa(29,ielem) * y(i6)
1199 w5(ielem) = w5(ielem)
1200 & + xa(4,ielem) * y(i1)
1201 & + xa(8,ielem) * y(i2)
1202 & + xa(11,ielem) * y(i3)
1203 & + xa(13,ielem) * y(i4)
1204 & + xa(30,ielem) * y(i6)
1206 w6(ielem) = w6(ielem)
1207 & + xa(5,ielem) * y(i1)
1208 & + xa(9,ielem) * y(i2)
1209 & + xa(12,ielem) * y(i3)
1210 & + xa(14,ielem) * y(i4)
1211 & + xa(15,ielem) * y(i5)
1215 ELSEIF(typext(1:1).NE.
'0')
THEN 1217 WRITE(
lu,1001) typext
1225 IF(typdia(1:1).EQ.
'Q')
THEN 1226 CALL ov (
'X=X+YZ ', x , y , da , c , npoin )
1227 ELSEIF(typdia(1:1).EQ.
'I')
THEN 1228 CALL ov (
'X=X+Y ', x , y , z , c , npoin )
1229 ELSEIF(typdia(1:1).NE.
'0')
THEN 1230 WRITE(
lu,2001) typdia
1237 ELSEIF(op(1:8).EQ.
'X=X-TAY ')
THEN 1241 IF(typext(1:1).EQ.
'S')
THEN 1243 DO ielem = 1 , nelem
1252 w1(ielem) = w1(ielem)
1253 & - xa(1,ielem) * y(i2)
1254 & - xa(2,ielem) * y(i3)
1255 & - xa(3,ielem) * y(i4)
1256 & - xa(4,ielem) * y(i5)
1257 & - xa(5,ielem) * y(i6)
1259 w2(ielem) = w2(ielem)
1260 & - xa(1,ielem) * y(i1)
1261 & - xa(6,ielem) * y(i3)
1262 & - xa(7,ielem) * y(i4)
1263 & - xa(8,ielem) * y(i5)
1264 & - xa(9,ielem) * y(i6)
1266 w3(ielem) = w3(ielem)
1267 & - xa(2,ielem) * y(i1)
1268 & - xa(6,ielem) * y(i2)
1269 & - xa(10,ielem) * y(i4)
1270 & - xa(11,ielem) * y(i5)
1271 & - xa(12,ielem) * y(i6)
1273 w4(ielem) = w4(ielem)
1274 & - xa(3,ielem) * y(i1)
1275 & - xa(7,ielem) * y(i2)
1276 & - xa(10,ielem) * y(i3)
1277 & - xa(13,ielem) * y(i5)
1278 & - xa(14,ielem) * y(i6)
1280 w5(ielem) = w5(ielem)
1281 & - xa(4,ielem) * y(i1)
1282 & - xa(8,ielem) * y(i2)
1283 & - xa(11,ielem) * y(i3)
1284 & - xa(13,ielem) * y(i4)
1285 & - xa(15,ielem) * y(i6)
1287 w6(ielem) = w6(ielem)
1288 & - xa(5,ielem) * y(i1)
1289 & - xa(9,ielem) * y(i2)
1290 & - xa(12,ielem) * y(i3)
1291 & - xa(14,ielem) * y(i4)
1292 & - xa(15,ielem) * y(i5)
1296 ELSEIF(typext(1:1).EQ.
'Q')
THEN 1298 DO ielem = 1 , nelem
1307 w1(ielem) = w1(ielem)
1308 & - xa(16,ielem) * y(i2)
1309 & - xa(17,ielem) * y(i3)
1310 & - xa(18,ielem) * y(i4)
1311 & - xa(19,ielem) * y(i5)
1312 & - xa(20,ielem) * y(i6)
1314 w2(ielem) = w2(ielem)
1315 & - xa(1,ielem) * y(i1)
1316 & - xa(21,ielem) * y(i3)
1317 & - xa(22,ielem) * y(i4)
1318 & - xa(23,ielem) * y(i5)
1319 & - xa(24,ielem) * y(i6)
1321 w3(ielem) = w3(ielem)
1322 & - xa(2,ielem) * y(i1)
1323 & - xa(6,ielem) * y(i2)
1324 & - xa(25,ielem) * y(i4)
1325 & - xa(26,ielem) * y(i5)
1326 & - xa(27,ielem) * y(i6)
1328 w4(ielem) = w4(ielem)
1329 & - xa(3,ielem) * y(i1)
1330 & - xa(7,ielem) * y(i2)
1331 & - xa(10,ielem) * y(i3)
1332 & - xa(28,ielem) * y(i5)
1333 & - xa(29,ielem) * y(i6)
1335 w5(ielem) = w5(ielem)
1336 & - xa(4,ielem) * y(i1)
1337 & - xa(8,ielem) * y(i2)
1338 & - xa(11,ielem) * y(i3)
1339 & - xa(13,ielem) * y(i4)
1340 & - xa(30,ielem) * y(i6)
1342 w6(ielem) = w6(ielem)
1343 & - xa(5,ielem) * y(i1)
1344 & - xa(9,ielem) * y(i2)
1345 & - xa(12,ielem) * y(i3)
1346 & - xa(14,ielem) * y(i4)
1347 & - xa(15,ielem) * y(i5)
1351 ELSEIF(typext(1:1).NE.
'0')
THEN 1353 WRITE(
lu,1001) typext
1361 IF(typdia(1:1).EQ.
'Q')
THEN 1362 CALL ov (
'X=X-YZ ', x , y , da , c , npoin )
1363 ELSEIF(typdia(1:1).EQ.
'I')
THEN 1364 CALL ov (
'X=X-Y ', x , y , z , c , npoin )
1365 ELSEIF(typdia(1:1).NE.
'0')
THEN 1366 WRITE(
lu,2001) typdia
1373 ELSEIF(op(1:8).EQ.
'X=X+CTAY')
THEN 1377 IF(typext(1:1).EQ.
'S')
THEN 1379 DO ielem = 1 , nelem
1388 w1(ielem) = w1(ielem) + c * (
1389 & + xa(1,ielem) * y(i2)
1390 & + xa(2,ielem) * y(i3)
1391 & + xa(3,ielem) * y(i4)
1392 & + xa(4,ielem) * y(i5)
1393 & + xa(5,ielem) * y(i6) )
1395 w2(ielem) = w2(ielem) + c * (
1396 & + xa(1,ielem) * y(i1)
1397 & + xa(6,ielem) * y(i3)
1398 & + xa(7,ielem) * y(i4)
1399 & + xa(8,ielem) * y(i5)
1400 & + xa(9,ielem) * y(i6) )
1402 w3(ielem) = w3(ielem) + c * (
1403 & + xa(2,ielem) * y(i1)
1404 & + xa(6,ielem) * y(i2)
1405 & + xa(10,ielem) * y(i4)
1406 & + xa(11,ielem) * y(i5)
1407 & + xa(12,ielem)* y(i6) )
1409 w4(ielem) = w4(ielem) + c * (
1410 & + xa(3,ielem) * y(i1)
1411 & + xa(7,ielem) * y(i2)
1412 & + xa(10,ielem) * y(i3)
1413 & + xa(13,ielem) * y(i5)
1414 & + xa(14,ielem) * y(i6) )
1416 w5(ielem) = w5(ielem) + c * (
1417 & + xa(4,ielem) * y(i1)
1418 & + xa(8,ielem) * y(i2)
1419 & + xa(11,ielem) * y(i3)
1420 & + xa(13,ielem) * y(i4)
1421 & + xa(15,ielem) * y(i6) )
1423 w6(ielem) = w6(ielem) + c * (
1424 & + xa(5,ielem) * y(i1)
1425 & + xa(9,ielem) * y(i2)
1426 & + xa(12,ielem) * y(i3)
1427 & + xa(14,ielem) * y(i4)
1428 & + xa(15,ielem) * y(i5) )
1432 ELSEIF(typext(1:1).EQ.
'Q')
THEN 1434 DO ielem = 1 , nelem
1443 w1(ielem) = w1(ielem) + c * (
1444 & + xa(16,ielem) * y(i2)
1445 & + xa(17,ielem) * y(i3)
1446 & + xa(18,ielem) * y(i4)
1447 & + xa(19,ielem) * y(i5)
1448 & + xa(20,ielem) * y(i6) )
1450 w2(ielem) = w2(ielem) + c * (
1451 & + xa(1,ielem) * y(i1)
1452 & + xa(21,ielem) * y(i3)
1453 & + xa(22,ielem) * y(i4)
1454 & + xa(23,ielem) * y(i5)
1455 & + xa(24,ielem) * y(i6) )
1457 w3(ielem) = w3(ielem) + c * (
1458 & + xa(2,ielem) * y(i1)
1459 & + xa(6,ielem) * y(i2)
1460 & + xa(25,ielem) * y(i4)
1461 & + xa(26,ielem) * y(i5)
1462 & + xa(27,ielem) * y(i6) )
1464 w4(ielem) = w4(ielem) + c * (
1465 & + xa(3,ielem) * y(i1)
1466 & + xa(7,ielem) * y(i2)
1467 & + xa(10,ielem) * y(i3)
1468 & + xa(28,ielem) * y(i5)
1469 & + xa(29,ielem) * y(i6) )
1471 w5(ielem) = w5(ielem) + c * (
1472 & + xa(4,ielem) * y(i1)
1473 & + xa(8,ielem) * y(i2)
1474 & + xa(11,ielem) * y(i3)
1475 & + xa(13,ielem) * y(i4)
1476 & + xa(30,ielem) * y(i6) )
1478 w6(ielem) = w6(ielem) + c * (
1479 & + xa(5,ielem) * y(i1)
1480 & + xa(9,ielem) * y(i2)
1481 & + xa(12,ielem) * y(i3)
1482 & + xa(14,ielem) * y(i4)
1483 & + xa(15,ielem) * y(i5) )
1487 ELSEIF(typext(1:1).NE.
'0')
THEN 1489 WRITE(
lu,1001) typext
1497 IF(typdia(1:1).EQ.
'Q')
THEN 1498 CALL ov (
'X=X+CYZ ', x , y , da , c , npoin )
1499 ELSEIF(typdia(1:1).EQ.
'I')
THEN 1500 CALL ov (
'X=X+CY ', x , y , z , c , npoin )
1501 ELSEIF(typdia(1:1).NE.
'0')
THEN 1502 WRITE(
lu,2001) typdia
1523 1001
FORMAT(1x,
'MV0606_2 (BIEF) : EXTRADIAG. TERMS UNKNOWN TYPE: ',a1)
1524 2001
FORMAT(1x,
'MV0606_2 (BIEF) : DIAGONAL : UNKNOWN TYPE : ',a1)
1525 3001
FORMAT(1x,
'MV0606_2 (BIEF) : UNKNOWN OPERATION : ',a8)
subroutine ov(OP, X, Y, Z, C, DIM1)
subroutine mv0606_2(OP, X, DA, TYPDIA, XA, TYPEXT, Y, C, IKLE1, IKLE2, IKLE3, IKLE4, IKLE5, IKLE6, NPOIN, NELEM, W1, W2, W3, W4, W5, W6, DIM1XA)