Télécharger coqloc.eso

Retour à la liste

Numérotation des lignes :

coqloc
  1. C COQLOC SOURCE CHAT 05/01/12 22:22:17 5004
  2. SUBROUTINE COQLOC(NBNN,XE,COSD1,COSD2,XEL)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * C O Q L O C
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. * TRANFORMATION DES COORDONNEES GLOBALES (3D) EN
  13. * COORDONNEES LOCALES (2D) POUR L'ELEMENT COQ3
  14. *
  15. *
  16. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  17. * -----------
  18. *
  19. * NBNN (E) NOMBRE DE NOEUDS DANS L'ELEMENT (ICI 3)
  20. * XE (E) COORDONNEES GLOBALES (3D) DES NOEUDS
  21. * COSD1 (S) PREMIER VECTEUR DU REPERE LOCAL 2D
  22. * COSD2 (S) DEUXIEME VECTEUR DU REPERE LOCAL 2D
  23. * XEL (S) COORDONNEES LOCALES (2D) DES NOEUDS
  24. *
  25. REAL*8 XE(3,NBNN),XEL(3,NBNN)
  26. REAL*8 COSD1(3),COSD2(3),COSD3(3)
  27. *
  28. * AUTEUR, DATE DE CREATION:
  29. * -------------------------
  30. *
  31. * YANN STEPHAN , FEVRIER 1997
  32. *
  33. * LANGAGE:
  34. * --------
  35. *
  36. * FORTRAN77
  37. *
  38. ************************************************************************
  39. *
  40. * INITIALISATION
  41. CALL ZERO(XEL,3,NBNN)
  42. *
  43. * CALCUL DES COORDONNEES DES NOEUDS DANS LE REPERE LOCAL DE L'
  44. * ELEMENT COQUE
  45. *
  46. DO 60 I=1,3
  47. COSD1(I)=XE(I,2)-XE(I,1)
  48. COSD2(I)=XE(I,3)-XE(I,1)
  49. 60 CONTINUE
  50. *
  51. COSD3(1)=COSD1(2)*COSD2(3)-COSD1(3)*COSD2(2)
  52. COSD3(2)=COSD1(3)*COSD2(1)-COSD1(1)*COSD2(3)
  53. COSD3(3)=COSD1(1)*COSD2(2)-COSD1(2)*COSD2(1)
  54. *
  55. COSD1L=SQRT(COSD1(1)*COSD1(1)+COSD1(2)*COSD1(2)+
  56. . COSD1(3)*COSD1(3))
  57. COSD3L=SQRT(COSD3(1)*COSD3(1)+COSD3(2)*COSD3(2)+
  58. . COSD3(3)*COSD3(3))
  59. *
  60. DO 70 I=1,3
  61. COSD1(I)=COSD1(I)/COSD1L
  62. COSD3(I)=COSD3(I)/COSD3L
  63. 70 CONTINUE
  64. *
  65. COSD2(1)=COSD3(2)*COSD1(3)-COSD3(3)*COSD1(2)
  66. COSD2(2)=COSD3(3)*COSD1(1)-COSD3(1)*COSD1(3)
  67. COSD2(3)=COSD3(1)*COSD1(2)-COSD3(2)*COSD1(1)
  68. *
  69. DO 80 NOE=1,NBNN
  70. DO 80 I=1,3
  71. XEL(1,NOE)=XEL(1,NOE)+XE(I,NOE)*COSD1(I)
  72. XEL(2,NOE)=XEL(2,NOE)+XE(I,NOE)*COSD2(I)
  73. 80 CONTINUE
  74. RETURN
  75. END
  76.  
  77.  
  78.  

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