Download cztmax.eso

Back to the list

   1 : C CZTMAX    SOURCE    KICH      09/09/11    21:17:59     6505           
   2 :       SUBROUTINE CZTMAX(iwrk52,iwrk53,iele,igau)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)
   5 : C
   6 : -INC CCOPTIO
   7 : -INC CCHAMP
   8 : -INC DECHE
   9 : 
  10 : 
  11 :        wrk52 = iwrk52
  12 :        wrk53 = iwrk53
  13 :        t0 = ture0(1)
  14 :        TF = turef(1) 
  15 : 
  16 :        pha10 = valma0(1)
  17 :        pha20 = valma0(2)       
  18 :        viph0 = valma0(3)
  19 : 
  20 :        AC1 = xmatf(4)
  21 :        AC2 = xmatf(5)
  22 :        AC3 = XMATF(6)
  23 :        AC4 = XMATF(7)
  24 : *       if (iele.eq.1.and.igau.eq.1) write(6,*) pha10,pha20,viph0
  25 : 
  26 :        if (cmate.eq.'ZTMAX'.and.TF.le.viph0) then
  27 :         viph = viph0
  28 :         pha1f = pha10
  29 :         pha2f = pha20
  30 :         goto 1000
  31 :        endif
  32 : 
  33 :        if (ac2 .ne. ac1) then
  34 :          z1 = (TF - ac1) / (ac2 - ac1) 
  35 :        else if (ac2.eq.ac1) then
  36 :             z1 = TF - ac1 
  37 :        endif       
  38 : 
  39 :        if (cmate.eq.'ZTMAX') then
  40 :         tviph = -10.
  41 :         goto 900
  42 :        endif
  43 : 
  44 :        if (ac4.ne.ac3) then
  45 :          z2 = (tf - ac3)/(ac4 - ac3)
  46 :        else if (ac3.eq.ac4) then
  47 :          if (ac3.ge.0.) then
  48 :              z2 = ac3 - TF
  49 :          else
  50 :             z2 = TF - ac3
  51 :          endif
  52 :        endif
  53 : 
  54 :        if (ac3.ge.0) then
  55 :         viph = max (TF, viph0)
  56 :         tviph = viph - ac3 
  57 :        else
  58 :         viph = min(TF,viph0) 
  59 :         tviph = ac3 - viph
  60 :        endif
  61 : 
  62 : *       if (iele.eq.1.and.igau.eq.1) write(6,*) z1,z2,tviph
  63 : 
  64 : 
  65 :  900   continue
  66 :        if (z1.ge.1.) then
  67 :          pha2f = 1.
  68 :          pha1f = 0. 
  69 :        else if (z1.lt.1.and.tviph.le.0.) then
  70 :         if (z1.ge.0.and.z1.lt.1) then
  71 :            pha2f = z1
  72 :            pha1f = 1. - z1
  73 :         else
  74 :            pha2f = 0. 
  75 :            pha1f = 1.
  76 :         endif
  77 :        else if (z1.lt.1. and.tviph.gt.0.) then
  78 :   
  79 :          if (z2.ge.1.) then
  80 :            pha2f = 0.
  81 :            pha1f = 1.
  82 :          else if(z2.lt.1.and.z2.ge.0) then
  83 :            pha2f = 1. - z2
  84 :            pha1f = z2 
  85 :          else 
  86 :            pha2f = 1. 
  87 :            pha1f = 0.
  88 :          endif  
  89 :        endif
  90 :        
  91 : 
  92 :  1000  continue
  93 :        xmatf(1) = pha1f
  94 :        xmatf(2) = pha2f
  95 :        xmatf(3) = viph
  96 : 
  97 :         RETURN
  98 :         END
  99 :  
 100 :  
 101 :  
 102 :  
 103 :  
 104 :  

© Cast3M 2003 - All rights reserved.
Disclaimer