dzvdt
C DZVDT SOURCE CB215821 20/11/25 13:26:43 10792 SUBROUTINE DZVDT C C--------------------------------------------------------------------- C Correction gaz reel de la loi d'état en vapeur (issue de RALOC): C derivee partielle de Z par rapport a la temperature C--------------------------------------------------------------------- C Les données d'entrée sont des CHPOINT, des FLOTTANT ou des LISTREEL C Le résultat est du meme type que les input. C--------------------------------------------------------------------- C C--------------------------- C Phrase d'appel (GIBIANE) : C--------------------------- C C OBJ3 = VARI 'DZVDT' OBJ1 OBJ2 ; C C------------------------ C Opérandes et résultat : C------------------------ C C OBJ1 : Densité de vapeur (en kg/m3) C OBJ2 : Température (en K) C OBJ3 : Correction gaz reel de la vapeur (p = ro R Z T) C D/DT(ZVAP)(P,T) (en /K) C-------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) CHARACTER*8 TYPE CHARACTER*4 NOMTOT(1) C -INC SMCHPOI -INC SMLREEL C IFLAG = 0 C C- Lecture et controles des données d'entrée, C- Création de la structure chapeau pour la donnée de sortie C C- Gestion des ERREURS C 21 -> Données incompatibles C 19 -> Option indisponible C C CHPOINT C TYPE = 'CHPOINT ' IF (IRETOU.EQ.0) GOTO 10 IF (IRETOU.EQ.0) RETURN C SEGACT MCHPO1,MCHPO2 NSOUP1 = MCHPO1.IPCHP(/1) NSOUP2 = MCHPO2.IPCHP(/1) MSOUP1 = MCHPO1.IPCHP(1) MSOUP2 = MCHPO2.IPCHP(1) SEGACT MSOUP1,MSOUP2 NC1 = MSOUP1.NOHARM(/1) NC2 = MSOUP2.NOHARM(/1) IGEO1 = MSOUP1.IGEOC IGEO2 = MSOUP2.IGEOC SEGACT MCHPO2,MSOUP2 MPOVA1 = MSOUP1.IPOVAL MPOVA2 = MSOUP2.IPOVAL SEGACT MPOVA1,MPOVA2 N1 = MPOVA1.VPOCHA(/1) N2 = MPOVA2.VPOCHA(/1) C IF (NSOUP1.NE.NSOUP2) IFLAG=1 IF (NSOUP1.NE.1) IFLAG=2 IF (NC1.NE.NC2) IFLAG=3 IF (NC1.NE.1) IFLAG=4 IF (IFLAG.NE.0) THEN RETURN ENDIF C SEGINI, MCHPO3=MCHPO1 SEGINI, MSOUP3=MSOUP1 SEGINI, MPOVA3=MPOVA1 MCHPO3.IPCHP(1) = MSOUP3 MSOUP3.IPOVAL = MPOVA3 SEGDES MCHPO1,MCHPO2,MCHPO3,MSOUP1,MSOUP2,MSOUP3 SEGDES MPOVA1,MPOVA2,MPOVA3 RETURN C C FLOTTANT C 10 CONTINUE IF (IRETOU.EQ.0) GOTO 20 IF (IRETOU.EQ.0) RETURN RETURN C C LISTREEL C 20 CONTINUE TYPE = 'LISTREEL' IF (IRETOU.EQ.0) GOTO 30 IF (IRETOU.EQ.0) RETURN MLREE3 = 0 IFLAG = 0 SEGACT MLREE1,MLREE2 IF (JG1.NE.JG2) IFLAG=1 IF (IFLAG.NE.0) THEN RETURN ENDIF SEGINI, MLREE3=MLREE1 SEGDES MLREE1,MLREE2,MLREE3 RETURN C C Autres C 30 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales