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