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