Download devmom.eso

Back to the list

   1 : C DEVMOM    SOURCE    CHAT      05/01/12    22:46:46     5004           
   2 :         SUBROUTINE DEVMOM(FTOTB,Q1,FEXB,XPHILB,IAROTA,IBASB,IPLSB,
   3 :      &                    INMSB,NA2,NA1,NSB,NPLSB,NPLB,IND,IDIM)        
   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 : *     Mise en oeuvre de l'algorithme.                               *
  12 : *     Pour le cas des corps rigides, calcul des moments dus aux     *
  13 : *     forces sur base B.                                            *
  14 : *                                                                   *
  15 : *     Paramètres:                                                   *
  16 : *                                                                   *
  17 : * es  FTOTB  Forces totalisées sur la base B (choc + moment)        *
  18 : * e   FEXB   Forces extérieures sur Base B,intervenant dans le      *   
  19 : *            calcul des moments                                     *
  20 : * e   XPHILB Tableau contenant les déformées modales                *
  21 : * e   IAROTA Indique la position des modes de rotation              *
  22 : * e   IBASB  Indique à quelle sous base appartient le point de      *
  23 : *            liaison                                                *
  24 : * e   IPLSB  Indique la position du point dans la sous base         *
  25 : * e   INMSB  Indique le nombre de modes de la sous base             *
  26 : * e   Q1     Tableau des déplacements généralisés                   *
  27 : * e   NA1    Nombre total de modes                                  *
  28 : * e   NSB    Nombre de sous bases                                   *
  29 : * e   NPLB   Nombre de points intervenant dans les liaisons         *
  30 : * e                                                                 *
  31 : *                                                                   *
  32 : *                                                                   *                                                   
  33 : *     Auteur, date de creation:                                     *
  34 : *                                                                   *
  35 : *     Samuel DURAND, le 07 Octobre 1996  .                          *
  36 : *                                                                   *
  37 : *-------------------------------------------------------------------*
  38 : *
  39 :         INTEGER IBASB(*),IAROTA(*),IPLSB(*),INMSB(*)
  40 :         REAL*8  XPHILB(NSB,NPLSB,NA2,*),Q1(NA1,*)
  41 :         REAL*8  FEXB(NPLB,2,*),FTOTB(NPLB,*)
  42 :         REAL*8  XCDG(3),FORCE(3)
  43 : *
  44 :         DO 10 IP=1,NPLB
  45 :             ISB=IBASB(IP)
  46 :             IROT=IAROTA(ISB)
  47 :             IPSB = IPLSB(IP)
  48 :             NA3 = INMSB(ISB)    
  49 :             IF (IROT.NE.0) THEN
  50 :                 XANGLE=Q1(IROT,IND)
  51 :                 DO 20 ID=1,IDIM
  52 : *   Calcul du vecteur GP
  53 :                     XCDG(ID) =  XPHILB(ISB,IPSB,NA3+1,ID)*COS(XANGLE) +
  54 :      &                          XPHILB(ISB,IPSB,NA3+2,ID)*SIN(XANGLE)
  55 : *   Totalisations des forces
  56 :                     FORCE(ID) = FEXB(IP,IND,ID)+FTOTB(IP,ID)
  57 :  20             CONTINUE
  58 : *   Produit vectoriel GP^F
  59 :                 IF (IDIM.EQ.3) THEN
  60 :         FTOTB(IP,4) = FTOTB(IP,4) + XCDG(2)*FORCE(3) - XCDG(3)*FORCE(2) 
  61 :         FTOTB(IP,5) = FTOTB(IP,5) + XCDG(3)*FORCE(1) - XCDG(1)*FORCE(3) 
  62 :         FTOTB(IP,6) = FTOTB(IP,6) + XCDG(1)*FORCE(2) - XCDG(2)*FORCE(1) 
  63 :                 ELSE
  64 :         FTOTB(IP,3) =FTOTB(IP,3) + XCDG(1)*FORCE(2) - XCDG(2)*FORCE(1) 
  65 :                 ENDIF             
  66 :             ENDIF
  67 :  10     CONTINUE
  68 : *
  69 :         END
  70 : *            
  71 :  
  72 :  

© Cast3M 2003 - All rights reserved.
Disclaimer