Télécharger deveq6.eso

Retour à la liste

Numérotation des lignes :

deveq6
  1. C DEVEQ6 SOURCE BP208322 18/12/20 21:15:27 10048
  2. C
  3. c SUBROUTINE DEVEQ6(Q2,NA1,XK,XASM,XM,PDT,NPAS,FTOTA,FAMOR,
  4. SUBROUTINE DEVEQ6(Q2,NA1,XM,PDT,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 PDT 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(*),FTOTA(NA1,*),Q2(NA1,*)
  30. REAL*8 XM(*),FTOTA(NA1,*),Q2(NA1,*)
  31. REAL*8 XOPM1(NB1,NB1,*),FAMOR(NA1,*),F2ND(NB1)
  32. *
  33. *
  34. * .
  35. * Q = [4 + dt M^-1 C]^-1 *
  36. * i,m+1/2
  37. * . .
  38. * ( 4 Q + h M^-1 ( F + F - C Q ) )
  39. * i,m i,m i,m+1/2 j j,m
  40. *
  41. c C CALCUL DU TERME AVEC C (MATRICE C PLEINE)
  42. c IF(NB1C.GT.1) THEN
  43. c DO 11 IA=1,NA1
  44. c FAMOR(IA) = 0.D0
  45. c DO 11 IB=1,NB1
  46. c FAMOR(IA) = FAMOR(IA) + (XASM(IA,IB)*Q2(IB,3))
  47. c 11 CONTINUE
  48. c C CALCUL DU TERME AVEC C (MATRICE C DIAGO)
  49. c ELSE
  50. c DO 10 IA=1,NA1
  51. c FAMOR(IA) = XASM(IA,1)*Q2(IB,3)
  52. c 10 CONTINUE
  53. c ENDIF
  54. c --> deja fait par devlc0
  55.  
  56. C CALCUL DU 2ND MEMBRE
  57.  
  58. C MATRICE M PLEINE
  59. IF(NB1M.GT.1) THEN
  60.  
  61. DO 31 IA=1,NA1
  62. AUX = 0.D0
  63. DO 32 IB=1,NB1
  64. AUX = AUX
  65. & + XOPM1(IA,IB,3)*(FTOTA(IB,3) + FTOTA(IB,2) - FAMOR(IB,3))
  66. 32 CONTINUE
  67. F2ND(IA) = 4.D0*Q2(IA,3) + PDT*AUX
  68. 31 CONTINUE
  69.  
  70.  
  71. C MATRICE M DIAGO
  72. ELSE
  73.  
  74. DO 30 I=1,NA1
  75. F2ND(I) = (4.D0*Q2(I,3))
  76. & + (PDT*(FTOTA(I,3) + FTOTA(I,2) - FAMOR(I,3))/XM(I))
  77. 30 CONTINUE
  78.  
  79. ENDIF
  80.  
  81. DO 20 IA = 1,NA1
  82. Q2(IA,2) = 0.D0
  83. DO 20 IB = 1,NA1
  84. Q2(IA,2) = Q2(IA,2) + (XOPM1(IA,IB,1)*F2ND(IB))
  85. 20 CONTINUE
  86.  
  87.  
  88. END
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  

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