d2vene
C D2VENE SOURCE BP208322 15/07/22 21:15:07 8586 C DEVENE SOURCE IANIS 96/03/15 21:15:48 2089 & XASM,NPC1,NB1C) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) ************************************************************** * * Ce sous-programme calcule le travail des differentes forces * pour chaque mode * * e NA1 nombre d'inconnues sur base A * e IND idice du pas (2 -->1er 1/2 pas, 1 --> 2eme 1/2pas) * e FEXA forces exterieures sur base A * e NPAS numero du pas * e Q1 deplacements generalises * e Q2 vitesses generalisees * e FTOTA forces totales sur base A * e,s WEXT travail des forces exterieures * e,s WINT travail des forces interieures (rigidite et * amortissement et forces de liaison ) * e XASM tableau d'amortissements generalises * e NPC1 Nombre de pas de calcul ** ** ce sous-programme n'est pas, peut - etre, compatible avec ** les liaisons '..._FLUIDE' * * I. Politopoulos Mars 1996 ******************************************************************** REAL*8 FEXA(NA1,NPC1,*),FTOTA(NA1,*),Q1(NA1,4),Q2(NA1,4) REAL*8 WEXT(NA1,2),WINT(NA1,2),XASM(NA1,*),FAMO1(NA1),FAMO2(NA1) c calcul des forces d'amortissement a la fin des pas n et n-1 IF(NB1C.NE.1)THEN do 21 I=1,NA1 FAMO2(I) = 0.D0 FAMO1(I) = 0.D0 do 21 J=1,NB1C FAMO2(I) = FAMO2(I) + XASM(I,J)*Q2(J,1) FAMO1(I) = FAMO1(I) + XASM(I,J)*Q2(J,2) 21 continue ELSE do 22 I=1,NA1 FAMO2(I) = XASM(I,1)*Q2(I,1) FAMO1(I) = XASM(I,1)*Q2(I,2) 22 continue ENDIF DO 20 I=1, NA1 DQ1 = Q1(I,1) - Q1(I,2) F1 = FEXA(I,NPAS,2) F2 = FEXA(I,NPAS,1) DWEX = (F1 + F2)/2D0 * DQ1 F1 = FTOTA(I,2) - F1 F2 = FTOTA(I,1) - F2 * on ajoute les forces d'amortissement c F1 = F1 - XASM(I)*Q2(I,2) c F2 = F2 - XASM(I)*Q2(I,1) F1 = F1 - FAMO2(I) F2 = F2 - FAMO1(I) DWIN = -(F1 + F2)/2D0 * DQ1 WEXT(I,1) = WEXT(I,2) + DWEX WINT(I,1) = WINT(I,2) + DWIN 20 CONTINUE END
© Cast3M 2003 - Tous droits réservés.
Mentions légales