Télécharger dr3glm1.eso

Retour à la liste

Numérotation des lignes :

dr3glm1
  1. C DR3GLM1 SOURCE CHAT 07/10/22 21:15:44 5921
  2. C=== version optimisee (global ==> local)
  3. C
  4. SUBROUTINE DR3GLM1(P,AG,AL)
  5. C
  6. C ------------------------------------------------------------------
  7. C
  8. C changement de repere 3d global => local 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. REAL*8 P(3,3),AG(3,3)
  20. REAL*8 AL(3,3)
  21. C
  22. C--- local variables
  23. INTEGER L
  24. REAL*8 SS(3)
  25.  
  26.  
  27. C--- on calcule (al) = (p)t * (ag) * (p)
  28. Clr do m=1,3
  29. Clr ss(l)=ag(m,1)*p(1,l)+ag(m,2)*p(2,l)+ag(m,3)*p(3,l)
  30. Clr do k=1,3
  31. Clr al(k,l)=al(k,l)+p(m,k)*ss(l)
  32. Clr end do
  33. Clr end do
  34. C--- M = 1,3 -> SS(1:3)
  35. DO I=1,3
  36. DO J=1,3
  37. AL(I,J) =0.D0
  38. END DO
  39. END DO
  40. DO L=1,3
  41. do m=1,3
  42. SS(L)=AG(m,1)*P(1,L)+AG(m,2)*P(2,L)+AG(m,3)*P(3,L)
  43. do k=1,3
  44. AL(k,L)=AL(k,L)+P(m,k)*SS(L)
  45. end do
  46. end do
  47. C SS(:)=AG(:,1)*P(1,L)+AG(:,2)*P(2,L)+AG(:,3)*P(3,L)
  48. C
  49. C AL(:,L) = AL(:,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. C
  56.  
  57.  

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