Professor Diomar Cesar Lobao

Universidade Federal Fluminense-Volta Redonda, RJ, Brasil

Diomar Cesar


Dept. Ciências Exatas - Exact Science Dept.

Search

viscl.f

      function viscl(temp)
c
c     function viscl evaluates the freon liquid dynamic viscosity
c     as a function of liquid enthalpy and pressure
c
c          liquid temperature          temp   in (K)
c          liquid viscosity            viscl  in (pa*s)
c
c
      dimension tabl(4,26)
      save ilast
      data ilast/10/,ntab/26/
      data tabl/
     &  1.99826700E+02, 1.67800000E-03,-3.35700336E-05, 3.48300697E-07,
     &  2.10937800E+02, 1.34800000E-03,-2.58300258E-05, 3.48300697E-07,
     &  2.22048900E+02, 1.10400000E-03,-1.80900181E-05, 1.53900308E-07,
     &  2.33160000E+02, 9.22000000E-04,-1.46700147E-05, 1.78200356E-07,
     &  2.44271100E+02, 7.81000000E-04,-1.07100107E-05, 9.72001944E-08,
     &  2.55382200E+02, 6.74000000E-04,-8.55000855E-06, 6.48001296E-08,
     &  2.66493300E+02, 5.87000000E-04,-7.11000711E-06, 7.29001458E-08,
     &  2.77604400E+02, 5.17000000E-04,-5.49000549E-06, 3.24039284E-08,
     &  2.88715600E+02, 4.60000000E-04,-4.76991243E-06, 4.85917867E-08,
     &  2.99826700E+02, 4.13000000E-04,-3.69009603E-06, 1.62083430E-08,
     &  3.10937800E+02, 3.74000000E-04,-3.32991099E-06, 3.23917542E-08,
     &  3.22048900E+02, 3.41000000E-04,-2.61009495E-06, 8.31055012E-12,
     &  3.33160000E+02, 3.12000000E-04,-2.60991027E-06, 4.04917705E-08,
     &  3.44271100E+02, 2.88000000E-04,-1.71009405E-06,-2.42917380E-08,
     &  3.55382200E+02, 2.66000000E-04,-2.24990991E-06, 6.47918191E-08,
     &  3.66493300E+02, 2.49000000E-04,-8.10093149E-07,-3.23917542E-08,
     &  3.77604400E+02, 2.36000000E-04,-1.52990919E-06,-7.07119392E-12,
     &  3.88715600E+02, 2.19000000E-04,-1.53006633E-06, 5.83196499E-12,
     &  3.99826700E+02, 2.02000000E-04,-1.52993673E-06,-5.83196499E-12,
     &  4.10937800E+02, 1.85000000E-04,-1.53006633E-06,-2.42942166E-08,
     &  4.22048900E+02, 1.65000000E-04,-2.06993727E-06, 8.09418424E-09,
     &  4.33160000E+02, 1.43000000E-04,-1.89006669E-06, 5.83196499E-12,
     &  4.44271100E+02, 1.22000000E-04,-1.88993709E-06,-4.45559211E-08,
     &  4.55382200E+02, 9.55000000E-05,-2.88006768E-06, 1.78258676E-08,
     &  4.66493300E+02, 6.57000000E-05,-2.48393768E-06,-1.07120525E-06,
     &  4.70937800E+02, 3.35000000E-05, 0.00000000E+00, 0.00000000E+00/
      x=temp
c    Start the search from the last point of table use index
c
      if (x.le.tabl(1,ilast+1)) then
c
c    Search down the table from point of last use
c
          do 20 i1=ilast,1,-1
              if(x.ge.tabl(1,i1)) go to 60
  20          continue
c         write(6,*) 'x = ', x, '  is below the table range'
          i1=1
          go to 60
      else
c
c    Search up the table from point of last use
c
          do 40 i1=ilast+1,ntab-1
              if(x.le.tabl(1,i1+1)) go to 60
  40          continue
c         write(6,*) 'x = ', x, '  is above the table range'
          i1=ntab-1
          go to 60
      endif
c
c   Bounding points found, interpolate
c
  60  dx=(x-tabl(1,i1))
      viscl=tabl(2,i1)+tabl(3,i1)*dx+tabl(4,i1)*dx**2
      ilast=i1
  120 continue
      return
      end
Skip to content