bcaldp
C BCALDP SOURCE CB215821 16/04/21 21:15:13 8920 $ KIMP,NT,NX,XX,XP,XT,XY,XU,XHF,XQ,XQW, $ Q,QAE,XRE,XDH,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C C operateur FUITE C calcul du debit solution par dichotomie C RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4 : coef lois de frot utilisateur C C>>> cf. sub. BECALC C DIMENSION XX(NT),XP(NT),XT(NT),XY(NT),XU(NT),XN(NPP),TN(NPP) DIMENSION EN(NPP),BN(NPP) DIMENSION XHF(NT),XQ(NT),XQW(NT),XRE(NT),XDH(NT) IF (KIMP.GE.1) THEN WRITE(6,*) ' entree bcaldp' ENDIF FPM = 1.D-3 EPM = -FPM AL = 0.2 NITMAX = 100 NITMAX30 = 200 C WRITE(6,*) ' PRECISION ',FPM C Q=Q0 $ KIMP,NT,NX,XX,XP,XT,XY,XU,XHF,XQ,XQW, $ QAE,XRE,XDH,PSQ,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) DP0=DP C WRITE(6,*) ' Q PSQ DP ',Q,PSQ,DP NIT = 1 10 CONTINUE IF (KIMP.GE.1) write(6,*) 'bcaldp: p sortie trop grand Q= ',Q Q=Q*(1.+AL) $ KIMP,NT,NX,XX,XP,XT,XY,XU,XHF,XQ,XQW, $ QAE,XRE,XDH,PSQ,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) NIT = NIT + 1 IF ( (NIT.GT.99).AND.(KIMP.GE.1)) THEN ENDIF GOTO 10 ENDIF NIT = 1 20 CONTINUE IF (KIMP.GE.1) write(6,*) 'bcaldp: p sortie trop petit Q= ',Q Q=Q*(1.-AL) $ KIMP,NT,NX,XX,XP,XT,XY,XU,XHF,XQ,XQW, $ QAE,XRE,XDH,PSQ,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) NIT = NIT + 1 IF ( NIT.GT.99) THEN ENDIF GOTO 20 ENDIF C>>> Q1 ET Q2 SONT LES BORNES DE LA DICHOTOMIE Q1=MIN(Q0,Q) Q2=MAX(Q0,Q) NIT = 1 30 CONTINUE Q=(Q1+Q2)/2 IF (KIMP.GE.1) write(6,*) 'bcaldp: dichotomie Q1 Q2 Q= ',Q1,Q2,Q $ KIMP,NT,NX,XX,XP,XT,XY,XU,XHF,XQ,XQW, $ QAE,XRE,XDH,PSQ,RECU,XKUL,XKUT1,XKUT2,XKUT3,XKUT4) NIT = NIT + 1 c IF ( NIT.GT.99) THEN IF (KIMP.GE.1.AND.NIT.GT.NITMAX30) THEN ENDIF Q1=Q ELSE Q2=Q ENDIF GOTO 30 ENDIF ENDIF ENDIF IF (KIMP.GE.1) THEN WRITE(6,*) ' ' WRITE(6,*) 'bcaldp dico Q0 Q PS PSQ NX NIT ',Q0,Q,PS,PSQ,NX,NIT WRITE(6,*) ' ' ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales