Télécharger devlm1.eso

Retour à la liste

Numérotation des lignes :

devlm1
  1. C DEVLM1 SOURCE BP208322 15/07/22 21:15:25 8586
  2. C DEVLM1
  3. SUBROUTINE DEVLM1(Q,XM,XOP,F,NA1,NB1,IOP,NB1M)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. *--------------------------------------------------------------------*
  7. * *
  8. * Operateur DYNE *
  9. * ________________________________________________ *
  10. * *
  11. * Calcul l'acceleration sur la base A *
  12. * q" = M^-1 * (F) *
  13. * Distingue le cas matrice diagonal et pleine *
  14. * *
  15. * Parametres: *
  16. * *
  17. * s Q(,) Vitesse generalise *
  18. * e XM Matrice de masse generalisee *
  19. * e XOP Matrice de masse generalisee inverse (si non diago) *
  20. * e F Forces *
  21. * e NA1,NB1M Dimension de la matrice *
  22. * (si NB1C=1, alors matrice diagonale) *
  23. * *
  24. * -Auteur, date de creation: *
  25. * Benoit PRABEL, 11/02/2015 *
  26. * *
  27. *--------------------------------------------------------------------*
  28. REAL*8 Q(NA1),XM(NA1,*),F(NA1)
  29. REAL*8 XOP(NB1,NB1,*)
  30. *
  31. *
  32. IF (NB1M.EQ.1) THEN
  33. DO 100 I=1,NA1
  34. Q(I) = F(I) / XM(I,1)
  35. 100 CONTINUE
  36. c ELSEIF(NB1M.NE.NA1) THEN
  37. c CALL ERREUR(832)
  38. c on ne va pas tester a chaque fois que cette subroutine est appelee
  39. ELSE
  40. DO 200 I=1,NA1
  41. Q(I) = 0.D0
  42. DO 200 J=1,NB1M
  43. Q(I) = Q(I) + XOP(I,J,IOP)*F(J)
  44. 200 CONTINUE
  45. ENDIF
  46.  
  47. END
  48.  
  49.  
  50.  

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