10 'Bisection Method 20 SCREEN 0,0,0:CLS 30 PRINT "Initial conditions : " 40 PRINT "Initial Gas Chamber Pressure (P3 = P2) = 15.3 Kg/cm2 a" 50 PRINT "Equiv. length L1(liq) = 125 ft; L2 (gas) = 48 ft" 60 PRINT "Dia. d1(liq) = 1.61 in. ; d2 (gas) = .5 in." 70 PRINT "Initial gas chamber volume : .15 m3" 80 'INPUT "Enter the Dia d1 (inches) :";D1 90 'INPUT "Enter the dia d2 (inches :";D2 100 'INPUT "Enter the equvalent lenght L1 (ft) :";L1 110 'INPUT "Enter the equvalent lenght L2(ft) :";L2 120 IF INKEY$="" THEN 120 130 D1=1.61:D2=.5:L1=125:L2=48 140 K1=(16.2/((6018)^2))+(4.54*(10^-8)*L1/(100*(D1^5))) 150 K2=(1/K1)^.5 160 K3=3.1863*(10^-6)*L2/(100*(D2^5)) 170 K4=(1/K3)^.5 180 V=.15:R=8.910001E-02:TE=324:Z=1!:M=30:P2=15.3:C2=2.295 190 'T=1/3600 200 CLS:PRINT "Time P3 Wl Wg P1 PD" 210 PRINT " (s) (Kg/cm2 a) (Kg/hr) (Kg/hr) (Kg/cm2 a) (Kg/cm2)" 220 FOR T=0 TO 20/3600 STEP .1/3600 240 IF COUNT >20 THEN 241 ELSE 270 241 IF INKEY$="" THEN 241 250 COUNT=0:CLS:PRINT "Time P3 Wl Wg P1 PD" 260 PRINT " (s) (Kg/cm2 a) (Kg/hr) (Kg/hr) (Kg/cm2 a) (Kg/cm2)" 270 DEF FNA(P)=(K2*T/3000)*(5*P+1.8)*((P+.9)^(.5))-K4*(R*TE*Z/M)*T*((P2-P)^(.5))+V*P-C2 280 CTR=0 290 A=15.3:B=14 300 'LOCATE 10,15:PRINT "Enter the two guesses now" 310 'LOCATE 12,15:PRINT "Enter a :" 320 'LOCATE 14,15:PRINT "Enter b :" 330 'LOCATE 12,15:INPUT "Enter a :";A 340 'LOCATE 14,15:INPUT "Enter b :";B 350 FUNA=FNA(A):FUNB=FNA(B) 360 IF FUNA=0 THEN ROOT=A:GOTO 480 370 IF FUNB=0 THEN ROOT=B:GOTO 480 380 IF FUNA >0 AND FUNB>0 THEN 400 ELSE 390 390 IF FUNA<0 AND FUNB<0 THEN 400 ELSE 430 400 CLS:LOCATE 10,13:PRINT "The function must have different sign values at a and b" 410 LOCATE 20,25:PRINT "PRESS ANY KEY TO CONTINUE" 420 IF INKEY$="" THEN 420 ELSE 270 430 X1=(A+B)/2 440 CTR=CTR+1 450 FUNX1=FNA(X1) 460 IF FUNX1<.01 AND FUNX1>-.01 THEN 470 ELSE 580 470 ROOT=X1 480 'CLS:LOCATE 10,20:PRINT "The root of the equation is :";ROOT 490 WL=((ROOT+.9)^.5)*K2 500 WG=((P2-ROOT)^.5)*K4 510 P1=(WL^2)*16.2/(6018^2) 520 PD = P1-ROOT 530 PRINT ST,ROOT,WL,WG,P1;" ";PD 531 ST=ST+.1:COUNT=COUNT+1 540 'LOCATE 13,20:PRINT "Number of iterations :";CTR 550 'LOCATE 20 560 'IF INKEY$="" THEN 560 570 NEXT 'END 580 IF FUNA >0 AND FUNX1>0 THEN A=X1 590 IF FUNA <0 AND FUNX1<0 THEN A=X1 600 IF FUNB >0 AND FUNX1>0 THEN B=X1 610 IF FUNB <0 AND FUNX1<0 THEN B=X1 620 FUNA=FNA(A):FUNB=FNA(B):GOTO 430