Download bcond.eso

Back to the list

   1 : C BCOND     SOURCE    DURA      06/07/11    21:16:54     5481           
   2 :       SUBROUTINE BCOND (X,DX,XL,RUG,XW,XN,TN,EN,BN,KIMP,PSLIM,REL,
   3 :      &         P1,PS1,T1,Y1,QAE,QEE1,PHI1,
   4 :      &         P2,T2,Y2,U2,QEE2,PHI2,QW2,RE,H,PSQ,RINDEX,
   5 :      &         NPP,ITP,PF,PP,DPF,DPP,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4)
   6 : 
   7 :       IMPLICIT INTEGER(I-N)
   8 :       IMPLICIT REAL*8 (A-H,O-Z)
   9 : C
  10 : C     operateur FUITE
  11 : C>>>  gaz + liquide
  12 : C
  13 : C     QAE :  QA*E invariant air flowrate
  14 : C     QEEi : QEEi*E invariant water flowrate
  15 : C     XW=1.(0.) with (without) wall condensation
  16 : C     indice 1,2 : entree et sortie de troncon
  17 : C     RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4 : coef lois de frot utilisateur
  18 : C   H correspond a l'energie totale cedee a la paroi
  19 : C     H=HM+RAPH*HW  transmis
  20 : C     H=HM+HW       pour le calcul de T2
  21 : C
  22 :       DIMENSION XN(NPP),TN(NPP),EN(NPP),BN(NPP)
  23 : 
  24 :       RINDEX=1.0
  25 : 
  25 :       CALL BPHYS(T0,P0,RA,RV,CA,CV,CL,XLAT0,ROL,XKL,XKT,XREL)
  26 : 
  27 : C     temperature de paroi a l'entree
  27 :       CALL BTPAR(XN,TN,X,TP,NPP,ITP)
  28 :       TP=TP+T0
  29 : C     epaisseur a l'entree
  29 :       CALL BTPAR(XN,EN,X,E1,NPP,ITP)
  30 : C     etendue a l'entree
  30 :       CALL BTPAR(XN,BN,X,B1,NPP,ITP)
  31 : 
  32 :       IF(KIMP.GE.1) THEN
  33 :         WRITE(6,*) ' entree bcond X,E1,B1= ',X,E1,B1
  34 :       ENDIF
  35 : 
  36 :       QA1=QAE/E1/B1
  37 :       QE1=QEE1/E1/B1
  38 :       Q = QA1 + QE1
  39 : 
  40 :       ROV=PS1/RV/T1
  41 :       ROA=(P1-PS1)/RA/T1
  42 : C*
  43 :       AL1=BALPHA(Y1,ROL,ROV)
  44 :       RO1=AL1*(ROA+ROV)+(1.-AL1)*ROL
  45 : C*
  46 :       U1=QA1/AL1/ROA
  47 : 
  48 :       U=U1
  49 :       Y=Y1
  50 :       AL=AL1
  51 :       RO=RO1
  52 :       PS=PS1
  53 :       P=P1
  54 :       T=T1
  55 :       QE=QE1
  56 :       QA=QA1
  57 :       QX=QA+QE
  58 : 
  59 :       IF ((X+DX).GT.1.D0) DX=1.D0-X
  60 : 
  61 :       X=X+DX
  62 :       DU=0
  63 :       T2=0
  64 :       P2=0
  65 : c     ouverture en sortie de maille
  65 :       CALL BTPAR(XN,EN,X,E2,NPP,ITP)
  66 : c     etendue en sortie de maille
  66 :       CALL BTPAR(XN,BN,X,B2,NPP,ITP)
  67 :       QA2=QAE/E2/B2
  68 :       E = E1
  69 :       B = B1
  70 : 
  71 :       NITER = 0
  72 :   10  CONTINUE
  73 : 
  74 :       NITER = NITER + 1
  75 : c      write(6,*) 'bcond NITER P2 T2 ',NITER,P2,T2
  76 :          TT2=T2
  77 :          PP2=P2
  78 :          YY2=Y2
  79 : 
  80 :          XMU=BMUG(T,PS/P,T0)
  81 :          XMU=AL*XMU+BMUL(T,T0)*(1.-AL)
  82 :          RE=QX*2*E/XMU
  83 :          DPP = XL*QX *QX /4/E
  84 :          BK=BKFRO(RE,REL,XKL,XKT,2*E,RUG,RECU,XKUL,XKUT1,XKUT2,XKUT3,
  85 :      *   XKUT4)
  86 :          DP=DX*BK*DPP/RO
  87 : 
  88 :          P2=P1-DP
  89 :          IF (P2.LT.PSLIM) THEN
  90 :             PSQ = -1.
  91 :             RETURN
  92 :          ENDIF
  93 :          CP = (QA*CA+QE*(Y*CV+(1-Y)*CL))/QX
  94 :          PR=XMU*CP/BLA(T,T0)
  95 :          XLA=BLA(T,T0)
  96 : C*
  97 :          XLAT=XLAT0+(CV-CL)*T
  98 : C*
  99 :          FT=(-5/T+7000/T/T)
 100 :          HM = BHECH(RE,REL,PR,XLA,E)
 101 :          H = HM
 102 :          HW=0.D0
 103 :            IF(T1.GE.TP) THEN
 104 :            HW=XW*BWALL(XLAT,CV,PS/P,H,FT)
 105 :            H = HM+HW
 106 :            ENDIF
 107 : 
 108 :          PI=PS/P
 109 :          BB0 = (RA*QA/RV)*PI/(1.-PI)/(1-PI)
 110 :          BB = XLAT*BB0/QX/CP
 111 : 
 112 : C rappel DP=P1-P2 et non l'inverse
 113 : 
 114 :          SP=-BB*DP/P
 115 :          SU=-U*DU/CP
 116 :          S=SP
 117 : 
 118 :          BFT = BB * FT
 119 :          HBT=H/(1+BFT)
 120 :          S=S/(1+BFT)
 121 : 
 122 :          T2 = BT2(T1,TP,S,HBT,PR,RE,XLA,XL,DX)
 123 : 
 124 :          DT = T2-T1
 125 : 
 126 :          PS2=BPSAT(T2)
 127 :          ROV=PS2/RV/T2
 128 :          ROA=(P2-PS2)/RA/T2
 129 : 
 130 :          P=(P1+P2)/2
 131 :          T=(T1+T2)/2
 132 :          PS=(PS1+PS2)/2
 133 : 
 134 :          PSI = PS2/P2
 135 : 
 136 :          DQEE= -2.*HW*DX*XL*B*(T-TP)/XLAT
 137 :          QEE2=QEE1+DQEE
 138 :          QE2=QEE2/E2/B2
 139 :          QEEX=(QEE1+QEE2)/2.
 140 : 
 141 :          Y2=(RA*QA2/RV)*(PSI/(1.-PSI))/QE2
 142 : C
 143 : C        on raffine le maillage dans 2 cas
 144 : C
 145 :          IF ( ((QEE2/QEE1).LT.1.E-5).OR.(Y2.GE.1.)) THEN
 146 :           IF(KIMP.GE.1) THEN
 147 :            WRITE(6,*) 'bcond RINDEX05 X QEE2/QEE1 Y2',X,QEE2/QEE1,Y2
 148 :           ENDIF
 149 :           RINDEX=0.5
 150 : 
 151 :           RETURN
 152 :          ENDIF
 153 : 
 154 :          AL2=BALPHA(Y2,ROL,ROV)
 155 :          RO2=AL2*(ROA+ROV)+(1.-AL2)*ROL
 156 :          U2=(QAE/E2/B2)/AL2/ROA
 157 : 
 158 :          DU=U2-U1
 159 :          RO=(RO1+RO2)/2
 160 :          E=(E1+E2)/2
 161 :          QA=QAE/E/B
 162 :          QE=QEEX/E/B
 163 :          QX=QA+QE
 164 :          AL=(AL1+AL2)/2.
 165 : 
 166 :          DY=Y2-Y1
 167 :          Y=(Y1+Y2)/2
 168 : 
 169 :          QW2=(QEE2-QEE1)/DX/XL/B
 170 : 
 171 :          IF (KIMP.GE.1) THEN
 172 : c           write(6,*) 'bcond P2 T2 Y2 QA2 QE2',P2,T2,Y2,QA2,QE2
 173 :          ENDIF
 174 : 
 175 :       ERT=DABS((T2-TT2)/T2)
 176 :       ERP=DABS((P2-PP2)/P2)
 177 :       ERY=DABS((Y2-YY2)/Y2)
 178 : 
 179 :       IF (((ERT.GT.1E-4).OR.(ERP.GT.1E-4).OR.(ERY.GT.1E-4))
 180 :      $  .AND.(NITER.LE.10))        GOTO 10
 181 : 
 182 :          IF(KIMP.GE.2) THEN
 183 :          WRITE(6,*) ' HM HW HW/HM ',HM,HW,HW/HM
 184 :          ENDIF
 185 :          PHI2=PHI1
 186 : 
 187 : C*    bilan d'energie
 188 : 
 189 :       HH1=QAE*CA*T1+QEE1*(Y1*(CV*T1+XLAT0)+(1.-Y1)*CL*T1)
 190 :       HH2=QAE*CA*T2+QEE2*(Y2*(CV*T2+XLAT0)+(1.-Y2)*CL*T2)
 191 : C !   PF = HH2-HH1
 192 :       PF = (HH2-HH1) - DQEE*(CV*T1+XLAT0)
 193 : 
 194 :       RAPH=(CV*T+XLAT0)/XLAT
 195 : C pour l'energie cedee a la paroi
 196 :       H  =  HM+HW*RAPH
 197 :       PP = H *(T-TP)*2*DX*XL*B
 198 : 
 199 :       IF(KIMP.EQ.-3) THEN
 200 :       write(6,2100) X,RAPH,PF,PP,HH1,HH2
 201 : 2100  format(1X,'bcond X RH DH EC HH1 HH2 ',6E12.5)
 202 :       ENDIF
 203 :       IF(KIMP.NE.0.AND.X.EQ.1.) THEN
 204 :         write(6,2110) X,RE,BK
 205 : 2110    format(1X,'bcond X RE BKRO ',3E12.5)
 206 :       ENDIF
 207 : 
 208 :       DPF=PF/DX/XL/B
 209 :       DPP=PP/DX/XL/B
 210 : 
 211 :       RETURN
 212 :       END
 213 :  
 214 :  
 215 :  
 216 :  
 217 :  
 218 :  
 219 :  

© Cast3M 2003 - All rights reserved.
Disclaimer