C DEVLC0    SOURCE    BP208322  15/07/22    21:15:22     8586
C DEVLC0
      SUBROUTINE DEVLC0(Q2,XASM,FAMOR,NA1,NB1C,IND)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
*--------------------------------------------------------------------*
*                                                                    *
*     Operateur DYNE                                                 *
*     ________________________________________________               *
*                                                                    *
*     Calcul des forces d'amortissement sur la base A                *
*     FAMOR = FAMOR - K*q                                            *
*     Calcule le produit matrice vecteur                             *
*     Distingue le cas matrice diagonal et pleine                    *
*                                                                    *
*     Parametres:                                                    *
*                                                                    *
* e   Q2(,)     Vitesse generalise                                   *
* e   XASM      Matrice d'amortissement generalisee                  *
* s   FAMOR     Forces  d'amortissement generalisee                  *
* e   NA1,NB1C  Dimension de la matrice                              *
*               (si NB1C=1, alors matrice diagonale)                 *
* e   IND       Indice du pas                                        *
*                                                                    *
*    -Auteur, date de creation:                                      *
*     Benoit PRABEL, 11/02/2015                                      *
*                                                                    *
*--------------------------------------------------------------------*
      REAL*8 Q2(NA1,*),XASM(NA1,*),FAMOR(NA1,*)
*
*
      IF (NB1C.EQ.1) THEN
         DO 100 I=1,NA1
           FAMOR(I,IND) = XASM(I,1)*Q2(I,IND)
 100     CONTINUE
c       ELSEIF(NB1C.NE.NA1) THEN
c         CALL ERREUR(832)
c on ne va pas tester a chaque fois que cette subroutine est appelee
      ELSE
         DO 200 I=1,NA1
           FAMOR(I,IND) = 0.D0
         DO 200 J=1,NB1C
           FAMOR(I,IND) = FAMOR(I,IND) + XASM(I,J)*Q2(J,IND)
 200     CONTINUE
      ENDIF

      END


