Télécharger cobar4.eso

Retour à la liste

Numérotation des lignes :

cobar4
  1. C COBAR4 SOURCE CHAT 05/01/12 22:12:17 5004
  2. SUBROUTINE COBAR4(X,XELE,TLI)
  3. C
  4. C**********************************************************************
  5. C
  6. C OBJET : CE SOUS-PROGRAMME CALCULE LES FONCTIONS DE FORME DANS UN
  7. C ----- TETRAEDRE AU POINT DONT LES COORDONNEES SONT DANS X
  8. C
  9. C ARGUMENTS:
  10. C ---------
  11. C
  12. C ENTREE :
  13. C X = TABLEAU DES COORDONNEES DU POINT
  14. C XELE = TABLEAU DES COORDONNEES DU TETRAEDRE
  15. C
  16. C SORTIE :
  17. C TLI = TABLEAU DES COORDONNEES BARYCENTRIQUES
  18. C
  19. C***********************************************************************
  20. C
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8 (A-H,O-Z)
  23. DIMENSION X(3),XELE(3,*),NUPLAN(4),NOEPLA(4,4),
  24. * AUX(3),TLI(4)
  25. C
  26. C
  27. C
  28. DATA NUPLAN/3,4,2,1/
  29. DATA NOEPLA/1,3,2,1 ,1,2,4,1 ,2,3,4,2 ,1,4,3,1/
  30. C
  31. C
  32. C
  33. C
  34. C
  35. C
  36. C
  37. C
  38. DO 20 I=1,4
  39. COEFX=0.0
  40. COEFY=0.0
  41. COEFZ=0.0
  42. CONS =0.0
  43. CONSNI=0.0
  44. IPLAN=NUPLAN(I)
  45. DO 10 J=1,3
  46. J1=J+1
  47. NOE1=NOEPLA(J,IPLAN)
  48. NOE2=NOEPLA(J1,IPLAN)
  49. AUX(J)=XELE(2,NOE1)*XELE(3,NOE2)-XELE(2,NOE2)*XELE(3,NOE1)
  50. AUY=-XELE(1,NOE1)*XELE(3,NOE2)+XELE(1,NOE2)*XELE(3,NOE1)
  51. COEFY=COEFY+AUY
  52. AUZ=XELE(1,NOE1)*XELE(2,NOE2)-XELE(1,NOE2)*XELE(2,NOE1)
  53. COEFZ=COEFZ+AUZ
  54. 10 CONTINUE
  55. COEFX=AUX(1)+AUX(2)+AUX(3)
  56. NOE1=NOEPLA(1,IPLAN)
  57. NOE2=NOEPLA(2,IPLAN)
  58. NOE3=NOEPLA(3,IPLAN)
  59. CONS=-XELE(1,NOE3)*AUX(1)-XELE(1,NOE1)*AUX(2)-XELE(1,NOE2)*AUX(3)
  60. CONSNI=XELE(1,I)*COEFX +XELE(2,I)*COEFY +XELE(3,I)*COEFZ+CONS
  61. PLAN=X(1)*COEFX+X(2)*COEFY+X(3)*COEFZ+CONS
  62. TLI(I)=PLAN/CONSNI
  63. 20 CONTINUE
  64. C
  65. C
  66. 999 RETURN
  67. END
  68.  
  69.  

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