devene
C DEVENE SOURCE BP208322 15/07/22 21:15:15 8586 & FAMOR,NPC1) 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 FAMOR force 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),FAMOR(NA1,*) * decalage du pas de temps car le 1er pas de FEXA est le pas (-1/2 0) NPASS = NPAS + 1 IF (IND.EQ.2) THEN * 1er demi-pas DO 10 I=1, NA1 DQ1 = Q1(I,2) - Q1(I,3) F1 = FEXA(I,NPAS,1) F2 = FEXA(I,NPASS,2) DWEX = (F1 + F2)/2D0 * DQ1 F1 = FTOTA(I,3) - F1 F2 = FTOTA(I,2) - F2 * on ajoute les forces d'amortissement c F1 = F1 - XASM(I)*Q2(I,3) c F2 = F2 - XASM(I)*Q2(I,2) F1 = F1 - FAMOR(I,3) F2 = F2 - FAMOR(I,2) DWIN = -(F1 + F2)/2D0 * DQ1 WEXT(I,2) = WEXT(I,1) + DWEX WINT(I,2) = WINT(I,1) + DWIN 10 CONTINUE ELSE * 2eme demi-pas DO 20 I=1, NA1 DQ1 = Q1(I,1) - Q1(I,2) F1 = FEXA(I,NPASS,2) F2 = FEXA(I,NPASS,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 - FAMOR(I,2) F2 = F2 - FAMOR(I,1) DWIN = -(F1 + F2)/2D0 * DQ1 WEXT(I,1) = WEXT(I,2) + DWEX WINT(I,1) = WINT(I,2) + DWIN 20 CONTINUE ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales