C ELFREE    SOURCE    CHAT      05/01/12    23:32:33     5004
      SUBROUTINE ELFREE(V,A,D)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
C
C  ====================================================================
C    SOUS-PROGRAMME FORTRAN APPELE PAR ELFRES POUR LE CALCUL DU PRODUIT
C    DE CONVOLUTION PARTIEL SUR 1 ELEMENT ET 1 PAS DE TEMPS :
C
C          VN=AN*DN+BN*CN
C
C          V  : VECTEUR SECOND MEMBRE VN
C          A  : TERMES DES MATRICES AN ET BN
C          D  : VECTEUR DN ET CN
C
C    CREATION    :  3/11/86
C    PROGRAMMEUR : GUILBAUD
C  ====================================================================
C
      DIMENSION V(*),A(*),D(*)
C
      V( 1)=V( 1)+A( 2)*D( 1)            +A(16)*D(13)
      V( 2)=V( 2)+A( 8)*D( 2)+A( 7)*D( 6)+A(22)*D(14)-A(21)*D(18)
      V( 3)=V( 3)+A(13)*D( 3)-A(12)*D( 5)+A(27)*D(15)+A(26)*D(17)
      V( 4)=V( 4)            +A( 4)*D( 4)            +A(18)*D(16)
      V( 5)=V( 5)-A(14)*D( 3)+A(13)*D( 5)+A(28)*D(15)+A(27)*D(17)
      V( 6)=V( 6)+A( 9)*D( 2)+A( 8)*D( 6)-A(23)*D(14)+A(22)*D(18)
      V( 7)=V( 7)+A(16)*D( 1)            +A( 2)*D(13)
      V( 8)=V( 8)+A(22)*D( 2)+A(21)*D( 6)+A( 8)*D(14)-A( 7)*D(18)
      V( 9)=V( 9)+A(27)*D( 3)-A(26)*D( 5)+A(13)*D(15)+A(12)*D(17)
      V(10)=V(10)            +A(18)*D( 4)            +A( 4)*D(16)
      V(11)=V(11)-A(28)*D( 3)+A(27)*D( 5)+A(14)*D(15)+A(13)*D(17)
      V(12)=V(12)+A(23)*D( 2)+A(22)*D( 6)-A( 9)*D(14)+A( 8)*D(18)
C
      V( 1)=V( 1)+A( 1)*D( 7)            +A(15)*D(19)
      V( 2)=V( 2)+A( 5)*D( 8)            +A(19)*D(20)+A(20)*D(24)
      V( 3)=V( 3)+A(10)*D( 9)            +A(24)*D(21)-A(25)*D(23)
      V( 4)=V( 4)            +A( 3)*D(10)            +A(17)*D(22)
      V( 5)=V( 5)            -A(12)*D(11)+A(25)*D(21)-A(26)*D(23)
      V( 6)=V( 6)            -A( 7)*D(12)-A(20)*D(20)-A(21)*D(24)
      V( 7)=V( 7)+A(15)*D( 7)            +A( 1)*D(19)
      V( 8)=V( 8)+A(19)*D( 8)-A(20)*D(12)+A( 5)*D(20)
      V( 9)=V( 9)+A(24)*D( 9)+A(25)*D(11)+A(10)*D(21)
      V(10)=V(10)            +A(17)*D(10)            +A( 3)*D(22)
      V(11)=V(11)-A(25)*D( 9)-A(26)*D(11)            -A(12)*D(23)
      V(12)=V(12)+A(20)*D( 8)-A(21)*D(12)            -A( 7)*D(24)
C
C     WRITE(6,*) ' AN '
C     WRITE(6,1001)(A(J),J=1,28)
C     WRITE(6,*) ' DN '
C     WRITE(6,1001)(D(J),J=1,24)
C     WRITE(6,*) ' VN '
C     WRITE(6,1001)(V(J),J=1,12)
C1001 FORMAT(1X,12(1PE9.2,1X))
      RETURN
      END

