Télécharger passa.eso

Retour à la liste

Numérotation des lignes :

passa
  1. C PASSA SOURCE CHAT 05/01/13 02:09:44 5004
  2. SUBROUTINE PASSA(XE,YE,ZE,P,X13,X23,Y13,Y23)
  3. C=======================================================================
  4. C
  5. C CALCULE MATRICE DE PASSAGE POUR UN TRIANGLE
  6. C
  7. C ENTREE
  8. C XE(3) YE(3) ZE(3) =COORDONNEES DU TRIANGLE
  9. C SOTRIES
  10. C P(3,3) = MATRICE DE PASSAGE
  11. C X13 X23 Y13 Y23 = DIFFERENCES DES COORDONNEES DE L ELEMENT
  12. C
  13. C AOUT 84
  14. C====================================================================
  15. IMPLICIT INTEGER(I-N)
  16. IMPLICIT REAL*8(A-H,O-Z)
  17. DIMENSION XE(*),YE(*),ZE(*),P(3,3)
  18. XE12=XE(1)-XE(2)
  19. XE13=XE(1)-XE(3)
  20. XE23=XE(2)-XE(3)
  21. YE12=YE(1)-YE(2)
  22. YE13=YE(1)-YE(3)
  23. YE23=YE(2)-YE(3)
  24. ZE12=ZE(1)-ZE(2)
  25. ZE13=ZE(1)-ZE(3)
  26. ZE23=ZE(2)-ZE(3)
  27. A=1.D0/SQRT(XE12*XE12+YE12*YE12+ZE12*ZE12)
  28. AI=A
  29. P(1,1)=-XE12*AI
  30. P(1,2)=-YE12*AI
  31. P(1,3)=-ZE12*AI
  32. AK=-(XE13*P(1,1)+YE13*P(1,2)+ZE13*P(1,3))/(XE12*P(1,1)+YE12*P(1,2)
  33. 1+ZE12*P(1,3))
  34. XA3=XE13+AK*XE12
  35. YA3=YE13+AK*YE12
  36. ZA3=ZE13+AK*ZE12
  37. A=1.D0/SQRT(XA3*XA3+YA3*YA3+ZA3*ZA3)
  38. AJ=A
  39. P(2,1)=-XA3*AJ
  40. P(2,2)=-YA3*AJ
  41. P(2,3)=-ZA3*AJ
  42. P(3,1)=P(1,2)*P(2,3)-P(1,3)*P(2,2)
  43. P(3,2)=P(1,3)*P(2,1)-P(1,1)*P(2,3)
  44. P(3,3)=P(1,1)*P(2,2)-P(1,2)*P(2,1)
  45. X13=P(1,1)*XE13+P(1,2)*YE13+P(1,3)*ZE13
  46. X23=P(1,1)*XE23+P(1,2)*YE23+P(1,3)*ZE23
  47. Y13=P(2,1)*XE13+P(2,2)*YE13+P(2,3)*ZE13
  48. Y23=P(2,1)*XE23+P(2,2)*YE23+P(2,3)*ZE23
  49. RETURN
  50. END
  51.  
  52.  

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