Télécharger deveq8.eso

Retour à la liste

Numérotation des lignes :

  1. C DEVEQ8 SOURCE BP208322 15/07/22 21:15:19 8586
  2. C
  3. SUBROUTINE DEVEQ8(Q2,NA1,XM,XDT,NPAS,FTOTA,FAMOR,
  4. & XOPM1,NB1,NB1M)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. *--------------------------------------------------------------------*
  8. * *
  9. * Operateur DYNE : algorithme de Fu - de Vogelaere *
  10. * ________________________________________________ *
  11. * *
  12. * Calcul des vitesses generalisees pour le second demi-pas *
  13. * de temps. *
  14. * *
  15. * Param}tres: *
  16. * *
  17. * es Q2(.,.) Vecteur des vitesses generalisees *
  18. * e NA1 Nombre total d'inconnues dans la base A *
  19. * e XM Vecteur des masses generalisees *
  20. * e XDT Valeurs des pas de temps *
  21. * e NPAS Numero du pas de temps *
  22. * e FTOTA Forces exterieures totalisees, sur la base A *
  23. * *
  24. * Auteur, date de creation: *
  25. * Benoit PRABEL, 16/02/2015 *
  26. * *
  27. *--------------------------------------------------------------------*
  28. REAL*8 Q2(NA1,*)
  29. REAL*8 XM(NA1,*),XDT(*),FTOTA(NA1,*)
  30. REAL*8 XOPM1(NB1,NB1,*),FAMOR(NA1,*),F2ND(NA1)
  31. *
  32. PDT = XDT(NPAS)
  33. PDTS6 = PDT / 6.D0
  34. *
  35. * .
  36. * Q = [6 + dt M^-1 C]^-1 *
  37. * i,m+1
  38. * .
  39. * ( 6 Q + h M^-1 ( F + 4 F + F
  40. * i,m i,m+1 i,m+1/2 i,m
  41. *
  42. * . .
  43. * - C ( 4 Q + Q ) ) )
  44. * ij j,m+1/2 j,m
  45. *
  46.  
  47. C CALCUL DU 2ND MEMBRE
  48.  
  49. C MATRICE M PLEINE
  50. IF(NB1M.GT.1) THEN
  51.  
  52. DO 31 IA=1,NA1
  53. AUX = 0.D0
  54. DO 32 IB=1,NB1
  55. AUX = AUX + XOPM1(IA,IB,3)
  56. & * ( FTOTA(IB,1) + 4.D0*(FTOTA(IB,2)-FAMOR(IB,2))
  57. & + FTOTA(IB,3)-FAMOR(IB,3) )
  58. 32 CONTINUE
  59. F2ND(IA) = 6.D0*Q2(IA,3) + PDT*AUX
  60. 31 CONTINUE
  61.  
  62.  
  63. C MATRICE M DIAGO
  64. ELSE
  65.  
  66. DO 30 I=1,NA1
  67. F2ND(I) = (6.D0*Q2(I,3)) + ( PDT
  68. & * ( FTOTA(I,1) + 4.D0*(FTOTA(I,2)-FAMOR(I,2))
  69. & + FTOTA(I,3)-FAMOR(I,3) )/XM(I,1))
  70. 30 CONTINUE
  71.  
  72. ENDIF
  73.  
  74. C MATRICE M ou C PLEINE
  75. DO 10 IA = 1,NA1
  76. Q2(IA,1) = 0.D0
  77. DO 10 IB = 1,NB1
  78. Q2(IA,1) = Q2(IA,1) + (XOPM1(IA,IB,2)*F2ND(IB))
  79. 10 CONTINUE
  80.  
  81.  
  82. END
  83.  
  84.  
  85.  
  86.  
  87.  

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