Télécharger bcond.eso

Retour à la liste

Numérotation des lignes :

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

© Cast3M 2003 - Tous droits réservés.
Mentions légales