Download trite3.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer