bkfro
C BKFRO SOURCE CB215821 16/04/21 21:15:21 8920 * XKUT4) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C C operateur FUITE C>>> calcule le coefficient de frottement C D : diametre hydraulique (m) C RUG: rugosite (m) C RE : nombre de Reynolds C LOIS STANDARD C REL: nombre de transition laminaire turbulent (=2042, paroi lisse) C XKL: coefficient de la loi en laminaire C XKT: coefficient de la loi en turbulent lisse C Si paroi rugueuse, max(loi de Colebrook; XKL/RE) C LOIS UTILISATEURS C RECU : Reynolds critique choisi par utilisateur (lois 1 et 2) C XKUL,XKUT1,XKUT2,XKUT3,XKUT4 : coef des lois utilisateur C C>>> frottement lisse IF (RE.LT.REL) THEN F0=XKL/RE ELSE F0=XKT*RE**(-.25) ENDIF BKFRO=F0 C>>> frottement rugueux C calcul iteratif qu'on initialise avec le frottement lisse RUGR=RUG/D IF(RUGR.GE.1D-4) THEN IF(RE.LT.10.) BKFROR=1. IF(RE.GE.10.) THEN RACF = SQRT(F0) 10 CONTINUE RACF1=-2.D0*DLOG10((RUGR/3.7)+(2.51/RE/RACF)) RACF1=1.D0/RACF1 ERR=ABS((RACF1/RACF)-1.D0) IF(ERR.GT.1.D-3) THEN RACF=RACF1 GOTO 10 ENDIF BKFROR=RACF1*RACF1 ENDIF C C transition lam-turb determinee par le programme BKFRO = BKFROR c ELSE c write(*,*) ' BKFRO laminaire,RE', BKFRO,RE ENDIF ENDIF C>>> lois utilisateur C loi utilisateur 1 IF(RECU.GE.0D-4) THEN IF (RE.LT.RECU) THEN ELSE ENDIF ENDIF C loi utilisateur 2 IF(RECU.LT.0D4.AND.RECU.GT.-1D5) THEN RECUU = -1.*RECU IF (RE.LT.RECUU) THEN ELSE DLOGRE = DLOG10(RE) ENDIF ENDIF C loi utilisateur 3 IF(RUGR.GE.1D-4) THEN IF(RECU.LE.-1D6.AND.RECU.GT.-1D7) THEN ENDIF ENDIF C loi utilisateur 4 IF(RUGR.GE.1D-4) THEN IF(RECU.LE.-1D7) THEN BKFROR = XKUL * BKFROR C transition lam-turb determinee par le programme BKFRO = BKFROR c ELSE c write(*,*) ' BKFRO laminaire,RE', BKFRO,RE ENDIF ENDIF ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales