Télécharger noeref.eso

Retour à la liste

Numérotation des lignes :

  1. C NOEREF SOURCE CHAT 05/01/13 01:58:11 5004
  2. SUBROUTINE NOEREF(XYZ,ITYP,INO)
  3. C
  4. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  5. C
  6. C RECHERCHE SI LE POINT XYZ EST UN NOEUD DANS LES COORDONNEES
  7. C DE REFERENCE
  8. C INO=0 CE N EST PAS UN NOEUD
  9. C INO=1 C'EST UN NOEUD
  10. C
  11. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  12. C
  13. IMPLICIT INTEGER(I-N)
  14. IMPLICIT REAL*8 (A-H,O-Z)
  15. C
  16. DIMENSION XYZ(3)
  17. C
  18. EPS=1.D-14
  19. C
  20. NDIM=2
  21. C ON CHERCHE SI ON A AFFAIRE A UN NOEUD DU MAILLAGE
  22. ITEST=0
  23. INO=0
  24. IF(ITYP.EQ.4.OR.ITYP.EQ.6.OR.ITYP.EQ.7)THEN
  25. C L ELEMENT DE REFERENCE EST UN TRIANGLE
  26. DO 30 I=1,NDIM
  27. IF(ABS(XYZ(I)).LT.EPS)ITEST=ITEST+1
  28. IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1
  29. 30 CONTINUE
  30. ELSEIF(ITYP.EQ.8.OR.ITYP.EQ.11)THEN
  31. C L ELEMENT DE REFERENCE EST UN CARRE
  32. DO 35 I=1,NDIM
  33. IF(ABS(1.D0+XYZ(I)).LT.EPS)ITEST=ITEST+1
  34. IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1
  35. 35 CONTINUE
  36. ELSEIF(ITYP.EQ.16)THEN
  37. C L ELEMENT DE REFERENCE EST UN PRISME
  38. NDIM=3
  39. IF((ABS(XYZ(3)-1.D0).LT.EPS).OR.
  40. * (ABS(XYZ(3)+1.D0).LT.EPS))ITEST=ITEST+1
  41. DO 40 I=1,2
  42. IF(ABS(XYZ(I)).LT.EPS)ITEST=ITEST+1
  43. IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1
  44. 40 CONTINUE
  45. ELSEIF(ITYP.EQ.14)THEN
  46. C L ELEMENT DE REFERENCE EST UN CUBE
  47. NDIM=3
  48. DO 45 I=1,NDIM
  49. IF(ABS(1.D0+XYZ(I)).LT.EPS)ITEST=ITEST+1
  50. IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1
  51. 45 CONTINUE
  52. ELSEIF(ITYP.EQ.23)THEN
  53. C L ELEMENT DE REFERENCE EST UN TETRAEDRE
  54. NDIM=3
  55. DO 50 I=1,NDIM
  56. IF(ABS(XYZ(I)).LT.EPS)ITEST=ITEST+1
  57. IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1
  58. 50 CONTINUE
  59. ENDIF
  60. IF(ITEST.EQ.NDIM)INO=1
  61. C
  62. RETURN
  63. END
  64.  
  65.  
  66.  

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