5 &(op, x , da,typdia,xas,typext, y,c,
6 & iklem1,dimikm,limvoi,mxptvs,npmax,npoin,trav)
97 INTEGER,
INTENT(IN) :: DIMIKM,MXPTVS,NPMAX,NPOIN
100 INTEGER,
INTENT(IN) :: IKLEM1(dimikm,4,2),LIMVOI(11,2)
102 DOUBLE PRECISION,
INTENT(INOUT) :: X(*),TRAV(*)
103 DOUBLE PRECISION,
INTENT(IN) :: DA(*),Y(*)
104 DOUBLE PRECISION,
INTENT(IN) :: XAS(*),C
106 CHARACTER(LEN=8),
INTENT(IN) :: OP
107 CHARACTER(LEN=1),
INTENT(IN) :: TYPDIA,TYPEXT
112 DOUBLE PRECISION Z(1)
119 IF(op(3:3).EQ.
'T'.OR.op(4:4).EQ.
'T'.OR.
120 & op(5:5).EQ.
'T'.OR.op(6:6).EQ.
'T') i = 3
126 IF(typext(1:1).EQ.
'S'.OR.typext(1:1).EQ.
'Q')
THEN 128 IF(typext(1:1).EQ.
'Q')
THEN 129 CALL opass(
'X=WY ',trav,xas,iklem1(1,i,1),
130 & y,iklem1(1,i+1,1),limvoi,mxptvs,npmax)
131 ELSEIF(typext(1:1).EQ.
'S')
THEN 132 CALL opass(
'X=WY ',trav,xas,iklem1(1,i,2),
133 & y,iklem1(1,i+1,2),limvoi,mxptvs,npmax)
136 IF(typdia(1:1).EQ.
'Q')
THEN 137 CALL ov (
'X=X+YZ ', trav , y , da , c , npoin )
138 ELSEIF(typdia(1:1).EQ.
'I')
THEN 139 CALL ov (
'X=X+Y ', trav , y , z , c , npoin )
140 ELSEIF(typdia(1:1).NE.
'0')
THEN 141 WRITE(
lu,2001) typdia
146 ELSEIF(typext(1:1).EQ.
'0')
THEN 148 IF(typdia(1:1).EQ.
'Q')
THEN 149 CALL ov (
'X=YZ ', trav , y , da , c , npoin )
150 ELSEIF(typdia(1:1).EQ.
'I')
THEN 151 CALL ov (
'X=Y ', trav , y , z , c , npoin )
152 ELSEIF(typdia(1:1).EQ.
'0')
THEN 153 CALL ov (
'X=C ', trav , y , z , 0.d0 , npoin )
155 WRITE(
lu,2001) typdia
162 WRITE(
lu,1001) typext
172 IF(op(1:8).EQ.
'X=AY '.OR.op(1:8).EQ.
'X=TAY ')
THEN 173 CALL ov (
'X=Y ', x , trav , z , c , npoin )
174 ELSEIF(op(1:8).EQ.
'X=-AY '.OR.op(1:8).EQ.
'X=-TAY ')
THEN 175 CALL ov (
'X=-Y ', x , trav , z , c , npoin )
176 ELSEIF(op(1:8).EQ.
'X=X+AY '.OR.op(1:8).EQ.
'X=X+TAY ')
THEN 177 CALL ov (
'X=X+Y ', x , trav , z , c , npoin )
178 ELSEIF(op(1:8).EQ.
'X=X-AY '.OR.op(1:8).EQ.
'X=X-TAY ')
THEN 179 CALL ov (
'X=X-Y ', x , trav , z , c , npoin )
180 ELSEIF(op(1:8).EQ.
'X=X+CAY '.OR.op(1:8).EQ.
'X=X+CTAY')
THEN 181 CALL ov (
'X=X+CY ', x , trav , z , c , npoin )
182 ELSEIF(op(1:8).EQ.
'X=CAY ')
THEN 183 CALL ov (
'X=CY ', x , trav , z , c , npoin )
194 1001
FORMAT(1x,
'MW0303 (BIEF) : EXTRADIAG. TERMS UNKNOWN TYPE : ',a1)
195 2001
FORMAT(1x,
'MW0303 (BIEF) : DIAGONAL : UNKNOWN TYPE : ',a1)
196 3001
FORMAT(1x,
'MW0303 (BIEF) : UNKNOWN OPERATION : ',a8)
subroutine ov(OP, X, Y, Z, C, DIM1)
subroutine mw0303(OP, X, DA, TYPDIA, XAS, TYPEXT, Y, C, IKLEM1, DIMIKM, LIMVOI, MXPTVS, NPMAX, NPOIN, TRAV)
subroutine opass(OP, X, W, IW, Y, IY, LIMVOI, MXPTVS, NPMAX)