C DYNE18    SOURCE    CB215821  20/11/25    13:26:25     10792          
      SUBROUTINE DYNE18(ICHP,KTQ,I1,I2,KCPR)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
*--------------------------------------------------------------------*
*                                                                    *
*     Op{rateur DYNE : algorithme de Fu - de Vogelaere               *
*     ________________________________________________               *
*                                                                    *
*     Remplissage du tableau des variables g{n{ralis{es.             *
*                                                                    *
*     Param}tres:                                                    *
*                                                                    *
* e   ICHP  : CHPOINT dans lequel on va chercher les valeurs         *
* es  ITQ   : Segment des variables de mouvement g{n{ralis{es        *
* e   I1    : Indique si l'on travaille sur les d{placements,        *
*             sur les vitesses, ou les acc{l{rations                 *
* e   I2    : Indice du pas                                          *
* e   KCPR  : Segment des points                                     *
*                                                                    *
*     Auteur, date de cr{ation:                                      *
*                                                                    *
*     Lionel VIVAN, le 26 Juillet 1989.                              *
*                                                                    *
*--------------------------------------------------------------------*

-INC PPARAM
-INC CCOPTIO
-INC SMCHPOI
-INC SMCOORD
-INC SMELEME
*
      SEGMENT,ICPR(nbpts)
      SEGMENT,ICOR(NP1)
      SEGMENT,MTQ
         REAL*8 Q1(NA1,4),Q2(NA1,4),Q3(NA1,4)
         REAL*8 WEXT(NA1,2),WINT(NA1,2)
      ENDSEGMENT
*
      MTQ  = KTQ
      ICPR = KCPR
*
      MCHPOI = ICHP
      SEGACT,MCHPOI
      NSOUPO = IPCHP(/1)
      DO 10 II1=1,NSOUPO
         MSOUPO = IPCHP(II1)
         SEGACT,MSOUPO
         MELEME = IGEOC
         SEGACT,MELEME
         NP = NUM(/2)
         NP1 = NP
         SEGINI,ICOR
         DO 2 IP = 1,NP
            KNOE = ICPR(NUM(1,IP))
            IF (KNOE.NE.0) ICOR(IP) = KNOE
 2          CONTINUE
*        end do
         SEGDES,MELEME
         NC = NOCOMP(/2)
         MPOVAL = IPOVAL
         SEGACT,MPOVAL
         N = VPOCHA(/1)
         IF (I1.EQ.1) THEN
            DO 20 J=1,N
               DO 20 K=1,NC
                  IA = ICOR(J)
                  IF (IA.NE.0) Q1(IA,I2) = VPOCHA(J,K)
 20            CONTINUE

         ELSE IF (I1.EQ.2) THEN
            DO 30 J=1,N
               DO 30 K=1,NC
                  IA = ICOR(J)
                  IF (IA.NE.0) Q2(IA,I2) = VPOCHA(J,K)
 30            CONTINUE

         ELSE IF (I1.EQ.3) THEN
            DO 40 J=1,N
               DO 40 K=1,NC
                  IA = ICOR(J)
                  IF (IA.NE.0) Q3(IA,I2) = VPOCHA(J,K)
 40            CONTINUE

         ELSE IF (I1.EQ.4) THEN
            DO 50 J=1,N
               DO 50 K=1,NC
                  IA = ICOR(J)
                  IF (IA.NE.0) WEXT(IA,I2) = VPOCHA(J,K)
 50            CONTINUE

         ELSE IF (I1.EQ.5) THEN
            DO 60 J=1,N
               DO 60 K=1,NC
                  IA = ICOR(J)
                  IF (IA.NE.0) WINT(IA,I2) = VPOCHA(J,K)
 60            CONTINUE

         ENDIF
         SEGDES,MPOVAL,MSOUPO
         SEGSUP,ICOR
 10      CONTINUE
*     end do
      SEGDES,MCHPOI
*
      END


 
 
