Télécharger bkfro.eso

Retour à la liste

Numérotation des lignes :

bkfro
  1. C BKFRO SOURCE CB215821 16/04/21 21:15:21 8920
  2. FUNCTION BKFRO(RE,REL,XKL,XKT,D,RUG,RECU,XKUL,XKUT1,XKUT2,XKUT3,
  3. * XKUT4)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. C
  7. C operateur FUITE
  8. C>>> calcule le coefficient de frottement
  9. C D : diametre hydraulique (m)
  10. C RUG: rugosite (m)
  11. C RE : nombre de Reynolds
  12. C LOIS STANDARD
  13. C REL: nombre de transition laminaire turbulent (=2042, paroi lisse)
  14. C XKL: coefficient de la loi en laminaire
  15. C XKT: coefficient de la loi en turbulent lisse
  16. C Si paroi rugueuse, max(loi de Colebrook; XKL/RE)
  17. C LOIS UTILISATEURS
  18. C RECU : Reynolds critique choisi par utilisateur (lois 1 et 2)
  19. C XKUL,XKUT1,XKUT2,XKUT3,XKUT4 : coef des lois utilisateur
  20. C
  21. C>>> frottement lisse
  22. IF (RE.LT.REL) THEN
  23. F0=XKL/RE
  24. ELSE
  25. F0=XKT*RE**(-.25)
  26. ENDIF
  27. BKFRO=F0
  28.  
  29. C>>> frottement rugueux
  30. C calcul iteratif qu'on initialise avec le frottement lisse
  31. RUGR=RUG/D
  32.  
  33. IF(RUGR.GE.1D-4) THEN
  34. IF(RE.LT.10.) BKFROR=1.
  35. IF(RE.GE.10.) THEN
  36. RACF = SQRT(F0)
  37. 10 CONTINUE
  38. RACF1=-2.D0*DLOG10((RUGR/3.7)+(2.51/RE/RACF))
  39. RACF1=1.D0/RACF1
  40. ERR=ABS((RACF1/RACF)-1.D0)
  41. IF(ERR.GT.1.D-3) THEN
  42. RACF=RACF1
  43. GOTO 10
  44. ENDIF
  45. BKFROR=RACF1*RACF1
  46. ENDIF
  47. C
  48. BKFRO=XKL/RE
  49. C transition lam-turb determinee par le programme
  50. IF(BKFROR.GT.BKFRO) THEN
  51. BKFRO = BKFROR
  52. c ELSE
  53. c write(*,*) ' BKFRO laminaire,RE', BKFRO,RE
  54. ENDIF
  55.  
  56. ENDIF
  57.  
  58. C>>> lois utilisateur
  59. C loi utilisateur 1
  60. IF(RECU.GE.0D-4) THEN
  61. IF (RE.LT.RECU) THEN
  62. BKFRO=XKUL/RE
  63. ELSE
  64. BKFRO=(XKUT1+(XKUT2*(RE**XKUT3)))**XKUT4
  65. ENDIF
  66. ENDIF
  67. C loi utilisateur 2
  68. IF(RECU.LT.0D4.AND.RECU.GT.-1D5) THEN
  69. RECUU = -1.*RECU
  70. IF (RE.LT.RECUU) THEN
  71. BKFRO=XKUL/RE
  72. ELSE
  73. DLOGRE = DLOG10(RE)
  74. BKFRO=XKUT1*((XKUT2+(XKUT3*DLOG10(RE)))**XKUT4)
  75. ENDIF
  76. ENDIF
  77. C loi utilisateur 3
  78. IF(RUGR.GE.1D-4) THEN
  79. IF(RECU.LE.-1D6.AND.RECU.GT.-1D7) THEN
  80. BKFRO = XKUL * BKFROR
  81. ENDIF
  82. ENDIF
  83. C loi utilisateur 4
  84. IF(RUGR.GE.1D-4) THEN
  85. IF(RECU.LE.-1D7) THEN
  86. BKFRO=(XKUL*XKL)/RE
  87. BKFROR = XKUL * BKFROR
  88. C transition lam-turb determinee par le programme
  89. IF(BKFROR.GT.BKFRO) THEN
  90. BKFRO = BKFROR
  91. c ELSE
  92. c write(*,*) ' BKFRO laminaire,RE', BKFRO,RE
  93. ENDIF
  94. ENDIF
  95. ENDIF
  96.  
  97. RETURN
  98. END
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  

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