1 : C BKFRO SOURCE DURA 05/10/26 21:15:19 5216 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 = DSQRT(F0) 37 : 10 CONTINUE 38 : RACF1=-2.D0*DLOG10((RUGR/3.7)+(2.51/RE/RACF)) 39 : RACF1=1.D0/RACF1 40 : ERR=DABS((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 :
© Cast3M 2003 - All rights reserved.
Disclaimer