Download tsatp.eso

Back to the list

   1 : C TSATP     SOURCE    CHAT      05/01/13    03:53:21     5004           
   2 :       SUBROUTINE TSATP
   3 : C
   4 : C--------------------------------------------------------------------
   5 : C Température de saturation de la vapeur pour une pression partielle
   6 : C de vapeur donnée (resp. d'ébullition pour une pression totale dans
   7 : C l'enceinte donnée)
   8 : C--------------------------------------------------------------------
   9 : C Les données d'entrée sont des CHPOINT, des FLOTTANT ou des LISTREEL
  10 : C Le résultat est du meme type que les input.
  11 : C--------------------------------------------------------------------
  12 : C
  13 : C---------------------------
  14 : C Phrase d'appel (GIBIANE) :
  15 : C---------------------------
  16 : C
  17 : C OBJ3 = TSATP OBJ1 ;
  18 : C
  19 : C------------------------
  20 : C Opérandes et résultat :
  21 : C------------------------
  22 : C
  23 : C  OBJ1 : Pression partielle de vapeur (en Pa)
  24 : C  OBJ3 : Temperature à saturation (en K)
  25 : C
  26 : C-----------------------------------------------------------------------
  27 :       IMPLICIT INTEGER(I-N)
  28 :       IMPLICIT REAL*8 (A-H,O-Z)                 
  29 :       CHARACTER*8 TYPE
  30 :       CHARACTER*4 NOMTOT(1)
  31 : C
  32 : -INC SMCHPOI
  33 : -INC SMLREEL
  34 : C
  35 :       IFLAG = 0
  36 : C
  37 : C- Lecture et controles des données d'entrée,
  38 : C- Création de la structure chapeau pour la donnée de sortie
  39 : C
  40 : C- Gestion des ERREURS
  41 : C  21 -> Données incompatibles
  42 : C  19 -> Option indisponible
  43 : C
  44 : C CHPOINT
  45 : C
  46 :       TYPE  = 'CHPOINT '
  46 :       CALL LIROBJ(TYPE,MCHPO1,0,IRETOU)
  47 :       IF (IRETOU.EQ.0) GOTO 10
  48 : C
  49 :       SEGACT MCHPO1
  50 :       NSOUP1 = MCHPO1.IPCHP(/1)
  51 :       MSOUP1 = MCHPO1.IPCHP(1)
  52 :       SEGACT MSOUP1
  53 :       NC1    = MSOUP1.NOHARM(/1)
  54 : C
  55 :       IF (NSOUP1.NE.1) IFLAG=2
  56 :       IF (NC1.NE.1) IFLAG=4
  57 :       IF (IFLAG.NE.0) THEN
  57 :          CALL ERREUR(21)
  58 :          RETURN
  59 :       ENDIF
  60 : C
  61 :       MPOVA1 = MSOUP1.IPOVAL
  62 :       SEGACT MPOVA1
  63 :       SEGINI, MCHPO3=MCHPO1
  64 :       SEGINI, MSOUP3=MSOUP1
  65 :       SEGINI, MPOVA3=MPOVA1
  66 :       MCHPO3.IPCHP(1) = MSOUP3
  67 :       MSOUP3.IPOVAL   = MPOVA3
  68 :       SEGDES MCHPO1,MCHPO3,MSOUP1,MSOUP3
  68 :       CALL TSATP1(MPOVA1,MPOVA3)
  69 :       SEGDES MPOVA1,MPOVA3
  69 :       CALL ECROBJ(TYPE,MCHPO3)
  70 :       RETURN
  71 : C
  72 : C FLOTTANT
  73 : C
  74 :  10   CONTINUE
  74 :       CALL LIRREE(X1,0,IRETOU)
  75 :       IF (IRETOU.EQ.0) GOTO 20
  76 :       X3 = TSATP0(X1)
  76 :       CALL ECRREE(X3)
  77 :       RETURN
  78 : C
  79 : C LISTREEL
  80 : C
  81 :  20   CONTINUE
  82 :       TYPE  = 'LISTREEL'
  82 :       CALL LIROBJ(TYPE,MLREE1,0,IRETOU)
  83 :       IF (IRETOU.EQ.0) GOTO 30
  84 :       SEGACT MLREE1
  85 :       SEGINI, MLREE3=MLREE1
  85 :       CALL TSATP3(MLREE1,MLREE3)
  86 :       SEGDES MLREE1,MLREE3
  86 :       CALL ECROBJ(TYPE,MLREE3)
  87 :       RETURN
  88 : C
  89 : C Autres
  90 : C
  91 :  30   CONTINUE
  91 :       CALL ERREUR(19)
  92 :       RETURN
  93 :       END
  94 :  
  95 :  

© Cast3M 2003 - All rights reserved.
Disclaimer