proftemp_index.f [SRC] [CPP] [JOB] [SCAN]
src



   1 |       double precision function proftemp_index(num,rayon,boolinterieur)
   2 | 
   3 | c*******************************************************************
   4 | c     cette function renvoie la valeur de la luminance 
   5 | c     pour une abscisse donne dans un volume.
   6 | c     Elle utilise un profil sous maille
   7 | c
   8 | c     in:   num: le numero de la maille 0 ou n+1 une paroi
   9 | c           rayons: position sur l'horizontale a aprtir du mur du centre
  10 | c           pivots du profil (si interpolation)
  11 | c           (tempinterf temperature à l'interface)
  12 | c           boolinterieur: .False. == le profils est plat
  13 | c                                  == tout prends la valeur du centre du vol.
  14 | c                          .True.  == interpolation lineaire (INDEXATION)
  15 | c
  16 | c     out:  la temperature sous maille = proftemp_index
  17 | c*******************************************************************
  18 |       implicit none
  19 |       include 'cecile.inc'
  20 |       include 'propradia.inc'
  21 |       include 'entre.inc'
  22 |       double precision rayon
  23 |       double precision tmp1, tmp2, tmp3
  24 |       double precision a,b
  25 |       integer num
  26 |       logical boolinterieur
  27 | 
  28 | 
  29 | 
  30 | 
  31 |       if (num .eq. 0) then
  32 |           proftemp_index= temp(0)
  33 |       else if (num .eq. (n+1)) then 
  34 |          proftemp_index= temp(n+1)
  35 |       else
  36 |          !...................................................
  37 |          if (rayon.lt.rc(num))then
  38 |          b=(rayon-r(num-1))/(rc(num)-r(num-1))
  39 |          a=1-b
  40 |          proftemp_index=a*tempinterf(num-1)+b*temp(num)
  41 |          if (.not.boolinterieur)  proftemp_index= temp(num)
  42 |          !...................................................
  43 |          else
  44 |          b=(rayon-rc(num))/(r(num)-rc(num))
  45 |          a=1-b
  46 |          proftemp_index=a*temp(num)+b*tempinterf(num)   
  47 |          if (.not.boolinterieur)  proftemp_index= temp(num)
  48 |          endif
  49 |          !...................................................
  50 |       endif
  51 | 
  52 |       !!print *, '0',num,n,'  rayon:',rayon, '   temperat:',proftemp_index
  53 |       return
  54 | 
  55 |       end
  56 | 


proftemp_index.f could be called by:
proftemp_index.f [src] - 1 - 32 - 34 - 40 - 41 - 46 - 47
trajet.f [src] - 53 - 157 - 248 - 397 - 510 - 680 - 830