Télécharger valtri.eso

Retour à la liste

Numérotation des lignes :

valtri
  1. C VALTRI SOURCE PV 07/11/23 21:19:51 5978
  2. SUBROUTINE VALTRI (NOD1,NOD2,NOD3, QUALIT)
  3. implicit real*8 (a-h,o-z)
  4. ************************************************************************
  5. *
  6. * V A L T R I
  7. * -----------
  8. *
  9. * FONCTION:
  10. * ---------
  11. *
  12. * CALCUL DE LA QUALITE D'UN TRIANGLE.
  13. *
  14. * MODULES UTILISES:
  15. * -----------------
  16. *
  17. IMPLICIT INTEGER(I-N)
  18.  
  19. -INC PPARAM
  20. -INC CCOPTIO
  21. -INC SMCOORD
  22. *
  23. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  24. * -----------
  25. *
  26. * +XCOOR (E) VOIR LE COMMUN "COPTIO" ET LE SEGMENT "MCOORD".
  27. * (SEGMENT SUPPOSE ACTIF)
  28. * +IDIM (E) VOIR LE COMMUN "COPTIO".
  29. * NOD1 (E) NUMERO DU NOEUD 1.
  30. * NOD2 (E) NUMERO DU NOEUD 2.
  31. * NOD3 (E) NUMERO DU NOEUD 3.
  32. * QUALIT (S) RAPPORT DE SURFACES, PONDERE DE FACON A OBTENIR UN
  33. * MAXIMUM DE 1 POUR UN TRIANGLE EQUILATERAL.
  34. *
  35. REAL*8 QUALIT
  36. *
  37. * AUTEUR, DATE DE CREATION:
  38. * -------------------------
  39. *
  40. * PASCAL MANIGOT 5 OCTOBRE 1990
  41. *
  42. ************************************************************************
  43. *
  44. IDIMP1 = IDIM + 1
  45. X12 = XCOOR((NOD2-1)*IDIMP1+1)
  46. & - XCOOR((NOD1-1)*IDIMP1+1)
  47. X13 = XCOOR((NOD3-1)*IDIMP1+1)
  48. & - XCOOR((NOD1-1)*IDIMP1+1)
  49. X23 = X13 - X12
  50. Y12 = XCOOR((NOD2-1)*IDIMP1+2)
  51. & - XCOOR((NOD1-1)*IDIMP1+2)
  52. Y13 = XCOOR((NOD3-1)*IDIMP1+2)
  53. & - XCOOR((NOD1-1)*IDIMP1+2)
  54. Y23 = Y13 - Y12
  55. IF (IDIM.EQ.3) THEN
  56. Z12 = XCOOR((NOD2-1)*IDIMP1+3)
  57. & - XCOOR((NOD1-1)*IDIMP1+3)
  58. Z13 = XCOOR((NOD3-1)*IDIMP1+3)
  59. & - XCOOR((NOD1-1)*IDIMP1+3)
  60. Z23 = Z13 - Z12
  61. ELSE
  62. Z12 = 0.
  63. Z13 = 0.
  64. Z23 = 0.
  65. END IF
  66. *
  67. SURFX2 = SQRT ( (Y12*Z13 - Y13*Z12) **2
  68. & + (Z12*X13 - Z13*X12) **2
  69. & + (X12*Y13 - X13*Y12) **2 )
  70. SURFMA = MAX ( X12**2 + Y12**2 + Z12**2 ,
  71. & X13**2 + Y13**2 + Z13**2 ,
  72. & X23**2 + Y23**2 + Z23**2 )
  73. QUALIT = SURFX2 / SURFMA / 0.866
  74. *
  75. END
  76.  
  77.  
  78.  

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