5 &(xaux,x,b,npoin,npoin2)
46 INTEGER,
INTENT(IN) :: NPOIN,NPOIN2
48 DOUBLE PRECISION,
INTENT(IN) :: B(npoin2,*)
49 DOUBLE PRECISION,
INTENT(INOUT) :: XAUX(npoin,*),X(npoin2,*)
53 INTEGER I,IPLAN,I3D,NPLAN
82 IF(abs(xaux(i,4)).LT.eps)
THEN 83 WRITE(
lu,*)
'TRID3D: SYSTEM ILL-DEFINED' 87 x(i,1)=b(i,1)/xaux(i,4)
92 i3d=i+npoin2*(iplan-1)
93 xaux(i3d,5)=xaux(i3d-npoin2,3)/xaux(i,4)
94 xaux(i,4)=xaux(i3d,2)-xaux(i3d,1)*xaux(i3d,5)
95 IF(abs(xaux(i,4)).LT.eps)
THEN 96 WRITE(
lu,*)
'TRID3D: SYSTEM ILL-DEFINED' 97 WRITE(
lu,*)
' PRECONDITIONING 17 IMPOSSIBLE' 101 x(i,iplan)=(b(i,iplan)-xaux(i3d,1)*x(i,iplan-1))/xaux(i,4)
105 DO iplan=nplan-1,1,-1
108 x(i,iplan)=x(i,iplan)-xaux(i3d,5)*x(i,iplan+1)
subroutine trid3d(XAUX, X, B, NPOIN, NPOIN2)