Télécharger j3boco.eso

Retour à la liste

Numérotation des lignes :

j3boco
  1. C J3BOCO SOURCE CHAT 05/01/13 00:45:56 5004
  2. SUBROUTINE J3BOCO(WORK,INOEUD,IBORD,IRET)
  3. C----------------------------------------------------
  4. C CODIFICATION D'UN POINT SUR LE BORD
  5. C
  6. C ESCLAVE DE J3COTO
  7. C
  8. C CODE IST(1,I): 0 point non traite
  9. C 1 est sur le segment IST(2,I)
  10. C 2 est sur les segments IST(2,I) et IST(3,I)
  11. C -1 est a l'interieur
  12. C -2 est a l'exterieur
  13. C
  14. C PP 6/97
  15. C Pierre Pegon/JRC Ispra
  16. C----------------------------------------------------
  17. C
  18. IMPLICIT INTEGER(I-N)
  19.  
  20. -INC PPARAM
  21. -INC CCOPTIO
  22. SEGMENT WORK
  23. REAL*8 XYC(2,NPTO)
  24. INTEGER IST(3,NPTO)
  25. REAL*8 DENS(NPTO)
  26. INTEGER JUN
  27. ENDSEGMENT
  28. LOGICAL LOK
  29. C
  30. C ELIMINATION D'UNE INCONSISTANCE
  31. C
  32. IF(IST(1,INOEUD).LT.0)THEN
  33. IRET=IRET+1
  34. WRITE(IOIMP,*)'J3BOCO: un point exterieur ou interieur ne peut'
  35. WRITE(IOIMP,*)' pas etre sur un bord'
  36. RETURN
  37. ENDIF
  38. C
  39. GOTO(1,2,3),IST(1,INOEUD)+1
  40. C
  41. C CAS IST(1,INOEUD)=0; on ajoute le 1er bord
  42. C
  43. 1 CONTINUE
  44. IST(1,INOEUD)=1
  45. IST(2,INOEUD)=IBORD
  46. RETURN
  47. C
  48. C CAS IST(1,INOEUD)=1; on ajoute eventuellement un second bord
  49. C
  50. 2 CONTINUE
  51. IF(IST(2,INOEUD).NE.IBORD)THEN
  52. IST(1,INOEUD)=2
  53. IST(3,INOEUD)=IBORD
  54. ENDIF
  55. RETURN
  56. C
  57. C CAS IST(1,INOEUD)=2; s'il y a un 3eme bord ---> erreur
  58. C
  59. 3 CONTINUE
  60. LOK=(IST(2,INOEUD).EQ.IBORD).OR.(IST(3,INOEUD).EQ.IBORD)
  61. IF(.NOT.LOK)THEN
  62. IRET=IRET+1
  63. WRITE(IOIMP,*)'J3BOCO: un point ne peut pas etre sur 3 bords'
  64. ENDIF
  65. RETURN
  66. C
  67. END
  68.  
  69.  
  70.  

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