Télécharger psatt.eso

Retour à la liste

Numérotation des lignes :

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

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