bcalq
C BCALQ SOURCE CB215821 16/04/21 21:15:15 8920 $ KIMP,NT,NX,XX,XP,XT,XY,XU,XHF,XQ,XQW, $ QAE,XRE,XDH,PSQ,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C operateur FUITE C cf. sub. BECALC C calcul de la solution pour un debit Q d'injection impose C QAE, XQ : debit air, debit eau, C XQW: flux d'eau a la paroi C RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4 : coef lois de frot utilisateur C DIMENSION XX(NT),XP(NT),XT(NT),XY(NT),XU(NT),XN(NPP),TN(NPP) DIMENSION EN(NPP),BN(NPP) DIMENSION XHF(NT),XQ(NT),XQW(NT),XRE(NT),XDH(NT) IF(KIMP.GE.2) THEN write(6,*) '************************** ' WRITE(6,*) 'entree bcalq ' ENDIF C** variation enthalpie et puissance echangée avec la paroi DHTOT = 0.D0 PPTOT = 0.D0 DTMX=10 PSLIM=0.5*PSO PHI = PVE/PE C caracteristiques a l'entree C QAE invariant QAE=QA*EN(1)*BN(1) ROE = PE/R/TE UE=Q/ROE C>>> positionnement a l'entree de la fissure PSQ=1 IX=1 P2=PE PV2=PVE T2=TE U2=UE QEE2=QV*EN(1)*BN(1) PHI2=PHI IF(KIMP.GE.1) THEN write(6,*) 'bcalq : Q PHI= ',Q,PHI ENDIF X=0.D0 TIT=1 ITP=1 NITMAX = 100 C>>> le gaz a l'entree est-il surchauffe ou sature IF (PVE.GT.PS2) THEN TIT=0 Y2=(PS2/(P2-PS2))*(1-PHI)/PHI ELSE Y2=1 ENDIF QTOT=QEE2+QAE & XX,XP,XT,XY,XU,XHF,XQ,XQW,XRE,XDH,NT) C>>> boucle "tant que" sur la longueur de la fissure 10 CONTINUE IF ((X.LT.0.9999).AND.(PSQ.NE.-1.)) THEN IF(KIMP.GE.2) THEN write(6,*) write(6,*) 'bcalq X',X ENDIF C>>> positionnement au point local 1 P1=P2 Y1=Y2 QEE1=QEE2 PHI1=PHI2 DX=DX0 C>>> test sur le titre (TIT=1 surchauff ; TIT=0 condens) IF (TIT.EQ.1) THEN Y2=1 NIT = 0 20 CONTINUE NIT = NIT + 1 IF (KIMP.GT.0.AND.NIT.GT.99) THEN write(6,*) 'bcalq: NIT20=100 X',X ENDIF & NPP,ITP,PF,PP,DPF,DPP,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) IF (PSQ.EQ.-1.) THEN IF (KIMP.GT.0) THEN write(6,*) 'bcalq apres bsur PSQ = -1. X P2',X,P2 ENDIF RETURN ENDIF C>>> y-a-t'il condensation ? PSI=PS2/P2 AL=PHI2/PSI IF(KIMP.GE.2) THEN WRITE(6,998) X,AL,P2/P0,T2-T0,QEE1/EN(1)/BN(1), & QEE2/EN(1)/BN(1),U2 998 FORMAT(1X,'sur -XALP2T2 ',2F9.4,E12.5,4F9.2) ENDIF IF ((RINDEX.LT.0.999).AND. & (NIT.LE.NITMAX)) THEN X=X-DX DX=DX*0.5 IF(KIMP.NE.0) THEN write(*,*) 'bcalq RINDEX goto20 NIT= ',NIT ENDIF GO TO 20 ENDIF & (NIT.LE.NITMAX)) THEN X=X-DX DX=DX/2 IF(KIMP.NE.0) THEN write(*,*) 'bcalq: goto20 X AL NIT ',X, AL,NIT ENDIF GOTO 20 ENDIF IF (AL.GT.1.) THEN TIT=0 C Y2 = (RA/RV)*(QAE/QEE2)*(PSI/(1-PSI)) C IF(KIMP.NE.0) THEN write(6,*) 'bcalq: transition vers condensation X= ',X write(6,*) 'bcalq: TIT QAE QEE2 ',TIT,QAE,QEE2 write(6,2100) PS2,AL,Y2 2100 FORMAT(1X,'bcalq: PS2 AL Y2 ', 3E12.5) ENDIF ENDIF ELSE NIT = 0 30 CONTINUE NIT = NIT + 1 IF (KIMP.GT.0.AND.NIT.GT.99) THEN write(6,*) 'bcalq: NIT30=100 X',X ENDIF & P1,PS1,T1,Y1,QAE,QEE1,PHI1, & P2,T2,Y2,U2,QEE2,PHI2,QW2,RE,H,PSQ,RINDEX, & NPP,ITP,PF,PP,DPF,DPP,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) C WRITE(6,*)'****** RINDEX,X= ',RINDEX,X IF(KIMP.GE.2) THEN WRITE(6,999) X,Y2,P2/P0,T2-T0,QEE1/EN(1)/BN(1), & QEE2/EN(1)/BN(1),U2 999 FORMAT(1X,'cond-XY2P2T2 ',2F9.4,E12.5,4F9.2) ENDIF IF (PSQ.EQ.-1.) THEN RETURN ENDIF IF ((RINDEX.LT.0.999).AND. & (NIT.LE.NITMAX)) THEN X=X-DX DX=DX*0.5 GO TO 30 ENDIF C>>> y-a-t'il evaporation totale ? & (NIT.LE.NITMAX)) THEN X=X-DX DX=DX/2 IF(KIMP.GE.1) write(6,*) 'bcalq apres bcond Y2DT DX05 X & P2 ',X,P2 GOTO 30 ENDIF * vapeur surchauffee IF (Y2.GT.0.999) THEN TIT=1 IF(KIMP.GE.1) write(*,*) 'bcalq:vapeur surchauffee:TIT=1' * attention si E variable : OK IF((QEE2/QAE).LT.1.D-7) THEN C write(6,*) ' QEE2/QAE ',QEE2/QAE PHI2=0.D0 ELSE AA=RA*QAE/RV/QEE2 PHI2=1./(1.+AA) ENDIF ENDIF ENDIF QTOT=QEE2+QAE & XX,XP,XT,XY,XU,XHF,XQ,XQW,XRE,XDH,NT) DHTOT = DHTOT + PF PPTOT = PPTOT + PP GOTO 10 ENDIF NX=IX-1 PSQ=P2 XX(NX)=1.D0 C write(6,*) ' bcalq NX ',NX C CALL UTPRIM(XX,NX) C** IF(KIMP.GT.0) THEN WRITE(*,*) 'bcalq: X,PSQ= ',X,PSQ ENDIF IF(KIMP.GT.1) THEN write(6,1000) Q,PHI,DHTOT,PPTOT 1000 FORMAT(1X,'bcalq Q phi DH H*T',4E12.5) ENDIF C** RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales