1 : C LATENT SOURCE CHAT 05/01/13 01:13:27 5004 2 : SUBROUTINE LATENT 3 : C 4 : C-------------------------------------------------------------------- 5 : C Chaleur latente en fonction de la pression partielle de vapeur 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 = LATENT OBJ1 ; 16 : C 17 : C------------------------ 18 : C Opérandes et résultat : 19 : C------------------------ 20 : C 21 : C OBJ1 : Pression partielle de vapeur (en Pa) 22 : C OBJ3 : Chaleur latente de vaporisation (en J/kg) 23 : C 24 : C----------------------------------------------------------------------- 25 : IMPLICIT INTEGER(I-N) 26 : IMPLICIT REAL*8 (A-H,O-Z) 27 : REAL*8 LATEN0 28 : CHARACTER*8 TYPE 29 : CHARACTER*4 NOMTOT(1) 30 : C 31 : -INC SMCHPOI 32 : -INC SMLREEL 33 : C 34 : IFLAG = 0 35 : C 36 : C- Lecture et controles des données d'entrée, 37 : C- Création de la structure chapeau pour la donnée de sortie 38 : C 39 : C- Gestion des ERREURS 40 : C 21 -> Données incompatibles 41 : C 19 -> Option indisponible 42 : C 43 : C CHPOINT 44 : C 45 : 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 56 : CALL ERREUR(21) 57 : RETURN 58 : ENDIF 59 : C 60 : MPOVA1 = MSOUP1.IPOVAL 61 : SEGACT MPOVA1 62 : SEGINI, MCHPO3=MCHPO1 63 : SEGINI, MSOUP3=MSOUP1 64 : SEGINI, MPOVA3=MPOVA1 65 : MCHPO3.IPCHP(1) = MSOUP3 66 : MSOUP3.IPOVAL = MPOVA3 67 : SEGDES MCHPO1,MCHPO3,MSOUP1,MSOUP3 67 : CALL LATEN1(MPOVA1,MPOVA3) 68 : SEGDES MPOVA1,MPOVA3 68 : CALL ECROBJ(TYPE,MCHPO3) 69 : RETURN 70 : C 71 : C FLOTTANT 72 : C 73 : 10 CONTINUE 73 : CALL LIRREE(X1,0,IRETOU) 74 : IF (IRETOU.EQ.0) GOTO 20 75 : X3 = LATEN0(X1) 75 : CALL ECRREE(X3) 76 : RETURN 77 : C 78 : C LISTREEL 79 : C 80 : 20 CONTINUE 81 : TYPE = 'LISTREEL' 81 : CALL LIROBJ(TYPE,MLREE1,0,IRETOU) 82 : IF (IRETOU.EQ.0) GOTO 30 83 : SEGACT MLREE1 84 : SEGINI, MLREE3=MLREE1 84 : CALL LATEN3(MLREE1,MLREE3) 85 : SEGDES MLREE1,MLREE3 85 : CALL ECROBJ(TYPE,MLREE3) 86 : RETURN 87 : C 88 : C Autres 89 : C 90 : 30 CONTINUE 90 : CALL ERREUR(19) 91 : RETURN 92 : END 93 : 94 : 95 :
© Cast3M 2003 - All rights reserved.
Disclaimer