Télécharger trite3.eso

Retour à la liste

Numérotation des lignes :

trite3
  1. C TRITE3 SOURCE CHAT 05/01/13 03:47:57 5004
  2. C
  3. C=======================================================================
  4. C
  5. SUBROUTINE TRITE3(ilent2,NTEMP,T0,ITINF,ITSUP)
  6. C
  7. C=======================================================================
  8. C
  9. C Calcul de transformations de phases
  10. C appelee par CRPHA4 / cas du CHAUFFAGE
  11. C
  12. C recherche dans un tableau l'indice des donnees materiau correspondant
  13. C a la temperature T0
  14. C
  15. C ntemp indice max
  16. C itinf indice correspondant ou precedant T0
  17. C itsup indice suivant T0
  18. C
  19. C utilisation d'une solution initiale
  20. C et recherche finale par bissection
  21. C (Numerical Recipes in Fortran p 110)
  22. C MARTINEZ 07/07/1998
  23. C=======================================================================
  24. C
  25. IMPLICIT INTEGER(I-N)
  26. IMPLICIT REAL*8(A-H,O-Z)
  27. C
  28. -INC SMLENTI
  29. -INC SMLREEL
  30. C
  31. C
  32. C
  33. mlenti = ilent2
  34. segact mlenti
  35.  
  36. INC=1
  37. IF (ITINF.LT.1.OR.ITINF.GT.NTEMP) THEN
  38. ITINF=0
  39. ITSUP=NTEMP+1
  40. GOTO 3
  41. ENDIF
  42. C
  43. mlreel = lect(itinf)
  44. segact mlreel
  45. IF (prog(1).EQ.T0) THEN
  46. ITSUP=ITINF+1
  47. segdes mlenti
  48. RETURN
  49. ENDIF
  50. C
  51. mlreel = lect(itinf)
  52. segact mlreel
  53. IF (prog(1).GT.T0) THEN
  54. 1 ITSUP=ITINF+INC
  55. mlreel = lect(itsup)
  56. segact mlreel
  57. IF (ITSUP.GE.NTEMP) THEN
  58. ITSUP=NTEMP
  59. ELSE IF (prog(1).GT.T0) THEN
  60. ITINF=ITSUP
  61. INC=INC+INC
  62. GOTO 1
  63. ENDIF
  64. C
  65. ELSE
  66. ITSUP=ITINF
  67. 2 ITINF=ITSUP-INC
  68. mlreel = lect(itinf)
  69. segact mlreel
  70. IF (ITINF.LE.1) THEN
  71. ITINF=1
  72. ELSE IF (prog(1).LT.T0) THEN
  73. ITSUP=ITINF
  74. INC=INC+INC
  75. GOTO 2
  76. ENDIF
  77. ENDIF
  78. C
  79. 3 NDIT=ITSUP-ITINF
  80. IF (NDIT.LE.1) THEN
  81. segdes mlenti
  82. RETURN
  83. ENDIF
  84. ITM=(ITINF+ITSUP)/2
  85. mlreel = lect(itm)
  86. segact mlreel
  87. IF (prog(1).GE.T0) THEN
  88. ITINF=ITM
  89. ELSE
  90. ITSUP=ITM
  91. ENDIF
  92. GOTO 3
  93. END
  94.  
  95.  
  96.  
  97.  
  98.  

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