Télécharger d2vene.eso

Retour à la liste

Numérotation des lignes :

d2vene
  1. C D2VENE SOURCE CB215821 26/08/24 21:15:57 12622
  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 23 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. 23 CONTINUE
  47. ELSE
  48. do 22 I=1,NA1
  49. FAMO2(I) = XASM(I,1)*Q2(I,1)
  50. FAMO1(I) = XASM(I,1)*Q2(I,2)
  51. 22 continue
  52. ENDIF
  53.  
  54. DO 20 I=1, NA1
  55. DQ1 = Q1(I,1) - Q1(I,2)
  56.  
  57. F1 = FEXA(I,NPAS,2)
  58. F2 = FEXA(I,NPAS,1)
  59. DWEX = (F1 + F2)/2D0 * DQ1
  60.  
  61. F1 = FTOTA(I,2) - F1
  62. F2 = FTOTA(I,1) - F2
  63.  
  64. * on ajoute les forces d'amortissement
  65. c F1 = F1 - XASM(I)*Q2(I,2)
  66. c F2 = F2 - XASM(I)*Q2(I,1)
  67. F1 = F1 - FAMO2(I)
  68. F2 = F2 - FAMO1(I)
  69. DWIN = -(F1 + F2)/2D0 * DQ1
  70.  
  71. WEXT(I,1) = WEXT(I,2) + DWEX
  72. WINT(I,1) = WINT(I,2) + DWIN
  73.  
  74. 20 CONTINUE
  75.  
  76.  
  77. END
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  

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