Télécharger d2vene.eso

Retour à la liste

Numérotation des lignes :

  1. C D2VENE SOURCE BP208322 15/07/22 21:15:07 8586
  2. C DEVENE SOURCE IANIS 96/03/15 21:15:48 2089
  3. SUBROUTINE D2VENE (NA1,IND,NPAS,FEXA,Q1,Q2,FTOTA,WEXT,WINT,
  4. & XASM,NPC1,NB1C)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7.  
  8. **************************************************************
  9. *
  10. * Ce sous-programme calcule le travail des differentes forces
  11. * pour chaque mode
  12. *
  13. * e NA1 nombre d'inconnues sur base A
  14. * e IND idice du pas (2 -->1er 1/2 pas, 1 --> 2eme 1/2pas)
  15. * e FEXA forces exterieures sur base A
  16. * e NPAS numero du pas
  17. * e Q1 deplacements generalises
  18. * e Q2 vitesses generalisees
  19. * e FTOTA forces totales sur base A
  20. * e,s WEXT travail des forces exterieures
  21. * e,s WINT travail des forces interieures (rigidite et
  22. * amortissement et forces de liaison )
  23. * e XASM tableau d'amortissements generalises
  24. * e NPC1 Nombre de pas de calcul
  25.  
  26.  
  27. **
  28. ** ce sous-programme n'est pas, peut - etre, compatible avec
  29. ** les liaisons '..._FLUIDE'
  30. *
  31. * I. Politopoulos Mars 1996
  32. ********************************************************************
  33.  
  34. REAL*8 FEXA(NA1,NPC1,*),FTOTA(NA1,*),Q1(NA1,4),Q2(NA1,4)
  35. REAL*8 WEXT(NA1,2),WINT(NA1,2),XASM(NA1,*),FAMO1(NA1),FAMO2(NA1)
  36.  
  37. c calcul des forces d'amortissement a la fin des pas n et n-1
  38. IF(NB1C.NE.1)THEN
  39. do 21 I=1,NA1
  40. FAMO2(I) = 0.D0
  41. FAMO1(I) = 0.D0
  42. do 21 J=1,NB1C
  43. FAMO2(I) = FAMO2(I) + XASM(I,J)*Q2(J,1)
  44. FAMO1(I) = FAMO1(I) + XASM(I,J)*Q2(J,2)
  45. 21 continue
  46. ELSE
  47. do 22 I=1,NA1
  48. FAMO2(I) = XASM(I,1)*Q2(I,1)
  49. FAMO1(I) = XASM(I,1)*Q2(I,2)
  50. 22 continue
  51. ENDIF
  52.  
  53. DO 20 I=1, NA1
  54. DQ1 = Q1(I,1) - Q1(I,2)
  55.  
  56. F1 = FEXA(I,NPAS,2)
  57. F2 = FEXA(I,NPAS,1)
  58. DWEX = (F1 + F2)/2D0 * DQ1
  59.  
  60. F1 = FTOTA(I,2) - F1
  61. F2 = FTOTA(I,1) - F2
  62.  
  63. * on ajoute les forces d'amortissement
  64. c F1 = F1 - XASM(I)*Q2(I,2)
  65. c F2 = F2 - XASM(I)*Q2(I,1)
  66. F1 = F1 - FAMO2(I)
  67. F2 = F2 - FAMO1(I)
  68. DWIN = -(F1 + F2)/2D0 * DQ1
  69.  
  70. WEXT(I,1) = WEXT(I,2) + DWEX
  71. WINT(I,1) = WINT(I,2) + DWIN
  72.  
  73. 20 CONTINUE
  74.  
  75.  
  76. END
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales