Télécharger deveq6.eso

Retour à la liste

Numérotation des lignes :

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

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