Télécharger tsatp.eso

Retour à la liste

Numérotation des lignes :

tsatp
  1. C TSATP SOURCE CB215821 20/11/25 13:41:42 10792
  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 '
  47. CALL LIROBJ(TYPE,MCHPO1,0,IRETOU)
  48. IF (IRETOU.EQ.0) GOTO 10
  49. C
  50. SEGACT MCHPO1
  51. NSOUP1 = MCHPO1.IPCHP(/1)
  52. MSOUP1 = MCHPO1.IPCHP(1)
  53. SEGACT MSOUP1
  54. NC1 = MSOUP1.NOHARM(/1)
  55. C
  56. IF (NSOUP1.NE.1) IFLAG=2
  57. IF (NC1.NE.1) IFLAG=4
  58. IF (IFLAG.NE.0) THEN
  59. CALL ERREUR(21)
  60. RETURN
  61. ENDIF
  62. C
  63. MPOVA1 = MSOUP1.IPOVAL
  64. SEGACT MPOVA1
  65. SEGINI, MCHPO3=MCHPO1
  66. SEGINI, MSOUP3=MSOUP1
  67. SEGINI, MPOVA3=MPOVA1
  68. MCHPO3.IPCHP(1) = MSOUP3
  69. MSOUP3.IPOVAL = MPOVA3
  70. SEGDES MCHPO1,MCHPO3,MSOUP1,MSOUP3
  71. CALL TSATP1(MPOVA1,MPOVA3)
  72. SEGDES MPOVA1,MPOVA3
  73. CALL ECROBJ(TYPE,MCHPO3)
  74. RETURN
  75. C
  76. C FLOTTANT
  77. C
  78. 10 CONTINUE
  79. CALL LIRREE(X1,0,IRETOU)
  80. IF (IRETOU.EQ.0) GOTO 20
  81. X3 = TSATP0(X1)
  82. CALL ECRREE(X3)
  83. RETURN
  84. C
  85. C LISTREEL
  86. C
  87. 20 CONTINUE
  88. TYPE = 'LISTREEL'
  89. CALL LIROBJ(TYPE,MLREE1,0,IRETOU)
  90. IF (IRETOU.EQ.0) GOTO 30
  91. SEGACT MLREE1
  92. SEGINI, MLREE3=MLREE1
  93. CALL TSATP3(MLREE1,MLREE3)
  94. SEGDES MLREE1,MLREE3
  95. CALL ECROBJ(TYPE,MLREE3)
  96. RETURN
  97. C
  98. C Autres
  99. C
  100. 30 CONTINUE
  101. CALL ERREUR(19)
  102. RETURN
  103. END
  104.  
  105.  
  106.  
  107.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales