Télécharger tq4loc.eso

Retour à la liste

Numérotation des lignes :

tq4loc
  1. C TQ4LOC SOURCE CHAT 05/01/13 03:44:00 5004
  2. SUBROUTINE TQ4LOC (XE,BPSS,IRR)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. -INC CCREEL
  6. ************************************************************************
  7. *
  8. * T Q 4 L O C
  9. * -----------
  10. *
  11. * FONCTION:
  12. * ---------
  13. *
  14. * Calcul le repre local d'un {l{ment COQ4.
  15. *
  16. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  17. * -----------
  18. *
  19. * XE (E) Coordonn{es des 4 noeuds.
  20. * BPSS (S) Matrice de passage.
  21. * IRR (S) =1 SUCCES ,=0 ECHEC
  22. REAL*8 XE(3,*),BPSS(3,*)
  23. *
  24. * VARIABLES:
  25. * ----------
  26. *
  27. * QSI1 = vecteur norm{ de la m{diane allant de 4-1 vers 2-3.
  28. * ETA1 = vecteur norm{ de la m{diane allant de 1-2 vers 3-4.
  29. * X1, Y1 = vecteurs du rep}re local, dans le plan moyen de
  30. * l'{l{ment.
  31. * Z1 = vecteur du rep}re local, normal au plan moyen de
  32. * l'{l{ment.
  33. *
  34. REAL*8 QSI1(3),ETA1(3),X1(3),Y1(3),Z1(3)
  35. REAL*8 U1(3),V1(3)
  36. *
  37. * MODE DE FONCTIONNEMENT:
  38. * -----------------------
  39. *
  40. * Pour le calcul du rep}re local et de la matrice de passage, on
  41. * fait une estimation du plan moyen.
  42. *
  43. * AUTEUR, DATE DE CREATION:
  44. * -------------------------
  45. *
  46. * PASCAL MANIGOT 09 JUILLET 1991
  47. *
  48. * LANGAGE:
  49. * --------
  50. *
  51. * FORTRAN77
  52. *
  53. ************************************************************************
  54. *
  55. *
  56. * Calcul du rep}re local
  57. * ----------------------
  58. *
  59. * Y
  60. * 4 | 3
  61. * *---|---------*
  62. * | | |
  63. * | | |
  64. * | | |
  65. * | +------------X
  66. * | |
  67. * *-------------*
  68. * 1 2
  69. *
  70. *
  71. IRR=1
  72. * Calcul des m{dianes:
  73. QSI1(1) = XE(1,2)+XE(1,3) - XE(1,1)-XE(1,4)
  74. QSI1(2) = XE(2,2)+XE(2,3) - XE(2,1)-XE(2,4)
  75. QSI1(3) = XE(3,2)+XE(3,3) - XE(3,1)-XE(3,4)
  76. XNORM=SQRT(QSI1(1)**2+QSI1(2)**2+QSI1(3)**2)
  77. IF(XNORM.GE.XPETIT)THEN
  78. CALL NORMER (QSI1)
  79. ELSE
  80. IRR=0
  81. RETURN
  82. ENDIF
  83. ETA1(1) = XE(1,3)+XE(1,4) - XE(1,1)-XE(1,2)
  84. ETA1(2) = XE(2,3)+XE(2,4) - XE(2,1)-XE(2,2)
  85. ETA1(3) = XE(3,3)+XE(3,4) - XE(3,1)-XE(3,2)
  86. XNORM=SQRT(ETA1(1)**2+ETA1(2)**2+ETA1(3)**2)
  87. IF(XNORM.GE.XPETIT)THEN
  88. CALL NORMER (QSI1)
  89. ELSE
  90. IRR=0
  91. RETURN
  92. ENDIF
  93. CALL NORMER (ETA1)
  94. *
  95. * Normale = Normale aux 2 m{dianes.
  96. Z1(1)= QSI1(2)*ETA1(3) - QSI1(3)*ETA1(2)
  97. Z1(2)= QSI1(3)*ETA1(1) - QSI1(1)*ETA1(3)
  98. Z1(3)= QSI1(1)*ETA1(2) - QSI1(2)*ETA1(1)
  99. CALL NORMER (Z1)
  100. *
  101. * Axes dans le Plan = bissectrices des bissectrices des m{dianes
  102. * = m{dianes pour un {l{ment rectangulaire
  103. U1(1) = QSI1(1) - ETA1(1)
  104. U1(2) = QSI1(2) - ETA1(2)
  105. U1(3) = QSI1(3) - ETA1(3)
  106. CALL NORMER (U1)
  107. V1(1) = QSI1(1) + ETA1(1)
  108. V1(2) = QSI1(2) + ETA1(2)
  109. V1(3) = QSI1(3) + ETA1(3)
  110. CALL NORMER (V1)
  111. *
  112. X1(1) = U1(1) + V1(1)
  113. X1(2) = U1(2) + V1(2)
  114. X1(3) = U1(3) + V1(3)
  115. CALL NORMER (X1)
  116. *
  117. Y1(1)=X1(3)*Z1(2)-X1(2)*Z1(3)
  118. Y1(2)=X1(1)*Z1(3)-X1(3)*Z1(1)
  119. Y1(3)=X1(2)*Z1(1)-X1(1)*Z1(2)
  120. CALL NORMER (Y1)
  121. *
  122. * Matrice de passage
  123. * ------------------
  124. *
  125. DO 15 I=1,3
  126. BPSS(I,1)=X1(I)
  127. BPSS(I,2)=Y1(I)
  128. BPSS(I,3)=Z1(I)
  129. 15 CONTINUE
  130. *
  131. RETURN
  132. END
  133.  
  134.  
  135.  
  136.  

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