5 &(x1,x2,a11,a12,a21,a22,b1,b2,d11,d12,d21,d22,
56 LOGICAL,
INTENT(IN) :: PREXSM,DIADON
62 TYPE(bief_obj),
INTENT(INOUT) :: X1,B2,D11,D12,D21,D22
63 TYPE(bief_obj),
INTENT(IN) :: X2,B1
69 TYPE(bief_obj),
INTENT(INOUT) :: A11,A12,A21,A22
75 TYPE(bief_mesh),
INTENT(INOUT) :: MESH
79 INTEGER I,NPOIN1,NPOIN2
86 IF(npoin2.NE.npoin1)
THEN 88 200
FORMAT(1x,
'PREBD4 (BIEF) : RECTANGULAR MATRICES',/,1x,
89 &
'BLOCK-DIAGONAL PRECONDITIONING IMPOSSIBLE IN THIS CASE')
100 CALL os(
'X=Y ', x=d11, y=a11%D)
101 CALL os(
'X=Y ', x=d12, y=a12%D)
102 CALL os(
'X=Y ', x=d21, y=a21%D)
103 CALL os(
'X=Y ', x=d22, y=a22%D)
112 CALL os(
'X=1/Y ', x=d11, y=d11)
116 d21%R(i) = d21%R(i) * d11%R(i)
117 d22%R(i) = d22%R(i) - d21%R(i) * d12%R(i)
118 d12%R(i) = d12%R(i) * d11%R(i)
128 CALL os(
'X=X+YZ ', x=x1, y=x2, z=d12)
137 CALL os(
'X=1/Y ', x=d22, y=d22)
138 CALL os(
'X=SQR(Y)', x=d11, y=d11)
139 CALL os(
'X=SQR(Y)', x=d22, y=d22)
146 CALL om(
'M=M-DN ', m=a21, n=a11, d=d21, mesh=mesh)
148 CALL om(
'M=M-DN ', m=a22, n=a12, d=d21, mesh=mesh)
155 CALL om(
'M=M-ND ', m=a12, n=a11, d=d12, mesh=mesh)
157 CALL om(
'M=M-ND ', m=a22, n=a21, d=d12, mesh=mesh)
166 b2%R(i) = b2%R(i) - d21%R(i) * b1%R(i)
subroutine om(OP, M, N, D, C, MESH)
subroutine prebd4(X1, X2, A11, A12, A21, A22, B1, B2, D11, D12, D21, D22, MESH, PREXSM, DIADON)
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)