Télécharger dr3glm2.eso

Retour à la liste

Numérotation des lignes :

dr3glm2
  1. C DR3GLM2 SOURCE CHAT 07/10/22 21:15:45 5921
  2. C=== version optimisee (local ==> global)
  3. C
  4. SUBROUTINE DR3GLM2(P,AG,AL)
  5. C
  6. C ------------------------------------------------------------------
  7. C
  8. C changement de repere 3d local => global h. bung 06-97
  9. C
  10. C ------------------------------------------------------------------
  11. C
  12. C p : matrice de passage local => general
  13. C determinee par la routine dr3p
  14. C ag : matrice dans le repere general
  15. C al : matrice dans le repere local
  16. C
  17. C IMPLICIT NONE
  18. C
  19. C--- variables globales
  20. REAL*8 P(3,3),AL(3,3)
  21. REAL*8 AG(3,3)
  22. C
  23. INTEGER L
  24. REAL*8 SS(3)
  25.  
  26. C--- on calcule (ag) = (p) * (al) * (p)t
  27. C
  28. *lr do m=1,3
  29. *lr ss(l)=al(m,1)*p(l,1)+al(m,2)*p(l,2)+al(m,3)*p(l,3)
  30. *lr do k=1,3
  31. *lr ag(k,l)=ag(k,l)+p(k,m)*ss(l)
  32. *lr end do
  33. *lr end do
  34. *
  35. DO I=1,3
  36. DO J=1,3
  37. AG(I,J) =0.D0
  38. END DO
  39. END DO
  40. DO L=1,3
  41. do m=1,3
  42. SS(L)=AL(m,1)*P(L,1)+AL(m,2)*P(L,2)+AL(m,3)*P(L,3)
  43. do k=1,3
  44. AG(k,L)=AG(k,L)+P(k,m)*SS(L)
  45. end do
  46. end do
  47. C SS(:) = AL(:,1)*P(L,1)+AL(:,2)*P(L,2)+AL(:,3)*P(L,3)
  48. C
  49. C AG(:,L) = AG(:,L) + P(:,1)*SS(1)
  50. C & + P(:,2)*SS(2)
  51. C & + P(:,3)*SS(3)
  52. END DO
  53. C
  54. END
  55.  
  56.  
  57.  

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