Download devrco.eso

Back to the list

   1 : C DEVRCO    SOURCE    CHAT      05/01/12    22:47:17     5004           
   2 :       SUBROUTINE DEVRCO(Q1,NA1,XPTB,NPLB,XPHILB,NSB,NPLSB,NA2,IDIMB,            
   3 :      &                  IBASB,IPLSB,INMSB,IORSB,IND,IAROTA)                            
   4 :       IMPLICIT INTEGER(I-N)
   5 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   6 : *--------------------------------------------------------------------*          
   7 : *                                                                    *          
   8 : *     Op{rateur DYNE : algorithme de Fu - de Vogelaere               *          
   9 : *     ________________________________________________               *          
  10 : *                                                                    *          
  11 : *     Recombinaison des d{placements aux points de choc.             *          
  12 : *                                                                    *          
  13 : *     Param}tres:                                                    *          
  14 : *                                                                    *          
  15 : * e   Q1      Tableau des d{placements g{n{ralis{s.                  *          
  16 : * e   NA1     Nombre total d'inconnues en base A.                    *          
  17 : * es  XPTB    Tableau des d{placements des points sur base B.        *          
  18 : * e   NPLB    Nombre total de points intervenant dans les liaisons.  *          
  19 : * e   XPHILB  Tableau des vecteurs propres aux points de liaisons.   *          
  20 : * e   NSB     Nombre de sous base.                                   *          
  21 : * e   NPLSB   Nombre total de points intervenant dans les liaisons   *          
  22 : *             dans une sous base.                                    *          
  23 : * e   NA2     Nombre total d'inconnues dans une sous base.           *          
  24 : * e   IDIMB   Nombre total de ddl retenus.                           *          
  25 : * e   IBASB   Indique dans quelle sous base appartient le point de   *          
  26 : *             liaison.                                               *          
  27 : * e   INMSB   Indique le nombre d'inconnues de la sous base.         *          
  28 : * e   IORSB   Donne l'indice du premier mode dans l'ensemble des     *          
  29 : *             modes.                                                 *          
  30 : * e   IPLSB   Dans une sous base, indique la position du point de    *          
  31 : *             liaison.                                               *          
  32 : * e   IND     Indice du pas.                                         *          
  33 : *                                                                    *          
  34 : *                                                                    *          
  35 : *     Auteur, date de cr{ation:                                      *          
  36 : *                                                                    *          
  37 : *     Lionel VIVAN, le 22 Septembre 1989.                            *          
  38 : *                                                                    *          
  39 : *--------------------------------------------------------------------*          
  40 : *                                                                               
  41 :       INTEGER IBASB(*),INMSB(*),IORSB(*),IPLSB(*),IAROTA(*)                               
  42 :       REAL*8  XPHILB(NSB,NPLSB,NA2,*),Q1(NA1,*),XPTB(NPLB,4,*)                  
  43 : *                                                                               
  44 :       DO 10 IP = 1,NPLB                                                         
  45 :          ISB  = IBASB(IP)                                                       
  46 :          NA3  = INMSB(ISB)                                                      
  47 :          INA1 = IORSB(ISB) - 1                                                  
  48 :          IPLB = IPLSB(IP) 
  49 :          IROT  = IAROTA(ISB)                                                      
  50 :          DO 20 ID = 1,IDIMB                                                     
  51 :             XRET = 0.D0                                                         
  52 :             DO 30 IN = 1,NA3                                                    
  53 :                INN = INA1 + IN                                                  
  54 :                XRET = XRET + XPHILB(ISB,IPLB,IN,ID) * Q1(INN,IND)               
  55 :  30            CONTINUE  
  56 : *   Prise en compte des effets de rotation pour les corps rigides
  57 :             IF (IROT.NE.0) THEN 
  58 :                 XANGLE=Q1(IROT,IND)
  59 : * Déplacements dus à la rotation
  60 :                 XRET =XRET + XPHILB(ISB,IPLB,NA3+1,ID)* (COS(XANGLE)-1)                                  
  61 :                 XRET =XRET + XPHILB(ISB,IPLB,NA3+2,ID)* SIN(XANGLE)  
  62 :             ENDIF                                
  63 : *           end do                                                              
  64 :             XPTB(IP,IND,ID) = XRET                                              
  65 :  20         CONTINUE                                                            
  66 : *        end do                                                                 
  67 :  10      CONTINUE                                                               
  68 : *     end do                                                                    
  69 : *                                                                               
  70 :       END                                                                       
  71 :  
  72 :  

© Cast3M 2003 - All rights reserved.
Disclaimer