!copyright (C) 2001  MSC-RPN COMM  %%%RPNPHY%%%
***S/P LIN_DIFUVD1_AD ADJ of LIN_DIFUVD1
*

      SUBROUTINE LIN_DIFUVD1_AD (E, SC, A, B, C, U, D, N, NK, 1
     &                           A5, B5, C5, U5)
*

      IMPLICIT NONE
      INTEGER N, NK
      REAL E(N, NK), A(N, NK), B(N, NK), C(N, NK), U(N, NK), D(N, NK)
      REAL A5(N, NK), B5(N, NK), C5(N, NK), U5(N, NK)
      REAL SC
*
*Author
*          S. Laroche (oct 2000)
*
*Object
*          adjoint of  E=SC*(A,B,C)*U + D
*
*Arguments
*
**
*
      INTEGER K, I
*
      DO K=NK,1,-1

         IF (K.LT.NK) THEN
         DO I=N,1,-1
          U(I,K+1) = SC*C5(I,K)*E(I,K)   + U(I,K+1)
          C(I,K)   = SC*E(I,K)*U5(I,K+1) + C(I,K)
         ENDDO
         ENDIF
         IF (K.GT.1) THEN
         DO I=N,1,-1
          U(I,K-1) = SC*A5(I,K)*E(I,K)   + U(I,K-1)
          A(I,K)   = SC*E(I,K)*U5(I,K-1) + A(I,K)
         ENDDO
         ENDIF
         DO I=N,1,-1
          U(I,K)   = SC*B5(I,K)*E(I,K) + U(I,K)
          B(I,K)   = SC*E(I,K)*U5(I,K) + B(I,K)
          D(I,K)   = E(I,K)            + D(I,K)
          E(I,K)   = 0.0
         ENDDO

      ENDDO
 
      RETURN
      END