10 KEY OFF:SCREEN 0,0,0:CLS 20 DIM AIR(24),MW(24),CO2FG(24),H2OFG(24),HHV(24),LHV(24),A(20),GAS$(24) 30 FOR I=1 TO 19:READ GAS$(I):NEXT I 40 DATA "Methane","Ethane","Propane","Butane","Pentane","Ethylene","Propylene","Butylene","Benzene","Toluene","Acetylene","Ammonia","Hydrogen Sulfide","Water vapour","Nitrogen","Carbon di-oxide","Carbon Mono Oxide","Hydrogen","Sulfur dioxide" 50 FOR I=1 TO 19:READ AIR(I),MW(I),CO2FG(I),H2OFG(I),HHV(I),LHV(I):NEXT I 60 DATA 9.528,16.041,1,2,1013.2,913.1,16.675,30.067,2,3,1792,1641,23.821,44.092,3,4,2590,2385,30.967,58.118,4,5,3370,3113,38.114,72.144,5,6,4016,3709,14.293,28.051,2,2,1613.2,1513.2 70 DATA 21.439,42.077,3,3,2336,2186,28.585,56.102,4,4,3084,2885,35.732,78.1,6,3,3751,3601,42.878,92.132,7,4,4484,4284,11.911,26.036,2,1,1499,1448,3.573,17.031,0,1.5,441.1,365.1 80 DATA 7.146,34.076,0,1,647,596,0,18.016,0,1,0,0,0,28.01,0,0,0,0,0,44.01,1,0,0,0,2.382,28.01,1,0,321.8,321.8,2.382,2.026,0,1,325,275,0,64.06,0,0,0,0 90 INPUT "Duty (MM Btu/hr) :";Q 100 INPUT "Heat Loss (%) :";L4G 110 INPUT "Unaccounted losses :";L5 120 INPUT "Ambient Temperature ( ):";TA 130 INPUT "Exit gas temperature ( ):";TG 140 INPUT "Relative humidity (%) :";RH 150 INPUT "Excess air :";EA 160 IF TA<0 THEN TAA=0 ELSE TAA=TA 170 INPUT "Fuel Type (Oil/Gas/Solid):";FUEL$ 180 IF FUEL$="GAS" OR FUEL$="gas" THEN 220 190 PRINT "Solid/Liquid Fuel analysis - weight fractions. For solid fuel input Deg API = 0" 200 INPUT "Carbon,Hydrogen,Sulfur,Oxygen,Nitrogen,Moisture,Deg API :";C,H,S,O,N,W,API:GOSUB 390 210 GOTO 230 220 GOSUB 540 230 CLS :PRINT "Results" 240 IF HHV=0 THEN PRINT "Check data - No combustibles..":GOTO 380 250 PRINT "Fuel type =";FUEL$,"Ambient Temp. :";TA 260 PRINT "Exit gas temp. :";TG,"Relative humidity :";RH 270 IF FUEL$="GAS" OR FUEL$="gas" THEN 300 280 PRINT "Fuel analysis(wt fraction), C :";C;"H :";H;"N :";N;"O :";O;"Mois. :";W;"S :";S;"Deg API :";API;"HHV (Btu/lb) :";HHV;"LHV (Btu/lb) :";LHV:GOTO 340 290 PRINT "Deg API :";API;"HHV (Btu/lb) :";HHV;"LHV (Btu/lb) :";LHV:GOTO 340 300 PRINT "Fuel gas analysis ..% vol:" 310 FOR I=1 TO 19:IF A(I)>0 THEN PRINT GAS$(I);A(I) 320 NEXT I 330 PRINT "Heating value (Btu/cu.ft) -HHV :";HHV;"LHV :";LHV;"HHV (Btu/lb):";HHVW;"LHV (Btu/lb) :";LHVW 340 PRINT "Flue gas %vol. - Co2 :";CO2W;"H2O :";H2O;"N2 :";N2W;"O2 :";O2W;"SO2 :";SO2W 350 PRINT "% Loss - dry gas :";L1;"Air moist. :";L3;"Fuel moist. :";L2;"radn :";L4;"Unaccounted :";L5 360 PRINT "Efficiency % - HHV basis :";EFFH;"LHV basis :";EFFL;"Excess Air :";EA 370 PRINT "Duty (MM Btu/hr) :";Q;"lb/lb flue gas :";WG;"Wet air :";B;"lb/hr fuel :";WF;"Total air :";TCA;"Total flue gas :";TFG 380 END 390 'subroutine 400 SVP=.08+2.81E-07*TAA^3.25:M=.00622*SVP*RH/(14.7-SVP*.01*RH) 410 A=(2.664*C+7.937*H+S-O)*(100+EA)/23:B=A*(1+M):H2OFG=8.939999*H+W+A*M:WG=3.66*C+H2OFG+2*S+.77*A+N+.23*A*EA/(100+EA):WDG=WG-H2OFG 420 F=.08318*C+.03125*S+(H2OFG/18)+(.77*A+N)/28+.23*A*EA/32/(100+EA) 430 CO2W=8.318*C/F:O2W=23*A*EA/32/F/(100+EA):N2W=((.77*A+N)/(28*F))*100:H2O=(H2OFG/18/F)*100:SO2W=3.125*S/F:MWFG=(44*CO2W+18*H2O+28*N2W+32*O2W+64*SO2W)/100 440 IF FUEL$="oil" OR FUEL$="OIL" THEN 460 450 HHV=14500*C+620001!*(H-.125*O)+4000*S:LHV=HHV-9720*H-1110*W:GOTO 470 460 HHV=17887+57.5*API-10220*S:LHV=HHV-9720*H 470 L1=24*WDG*(TG-TA)/HHV:L2=(H2OFG-A*M)*100*(.46*TG+1080-TA)/HHV 480 L3=46*A*M*(TG-TA)/HHV:L4C=10^(.62-.1824*LOG(Q)) 490 IF L4G>0 THEN L4=L4G:GOTO 510 500 L4=L4C 510 EFFH=100-L1-L2-L3-L4-L5:EFFL=EFFH*HHV/LHV 520 WF=Q*1E+08/EFFH/HHV:TFG=WG*WF:TCA=B*WF 530 RETURN 540 'subroutine 550 CLS:PRINT "Fuel gas analysis - % Volume" 560 FOR I=1 TO 19:PRINT I,GAS$(I):NEXT I 570 LOCATE 22,5:INPUT "What is the maximum number of gases :";MG 580 CLS:FOR I=1 TO MG:PRINT GAS$(I):LOCATE I,20:INPUT A(I):NEXT 590 HHV=0:LHV=0:CO2FG=0:H2OFG=0:MWF=0 600 FOR I=1 TO 19:HHV=HHV+.01*A(I)*HHV(I):LHV=LHV+.01*A(I)*LHV(I) 610 AIR=AIR+.01*A(I)*AIR(I) 620 CO2FG=CO2FG+.01*A(I)*CO2FG(I):H2OFG=H2OFG+.01*A(I)*H2OFG(I):MWF=MWF+.01*A(I)*MW(I):NEXT 630 IF HHV=0 THEN PRINT "No combustibles.. check data..":RETURN 640 HHVW=HHV*378.1/MWF:LHVW=LHV*378.1/MWF 650 L4C=10^(.62-.1824*LOG(Q)) 660 AIRA=AIR*(1+.01*EA):SVP=.08+2.81E-07*TAA^3.25:VM=.01*SVP*RH/(14.7-.01*RH*SVP) 670 VH2O=H2OFG+VM*AIRA:VN2=.79*AIRA+.01*A(15)+.005*A(12):VSO2=.01*(A(13)+A(19)):VO2=.0021*AIR*EA 680 VFG=VSO2+VO2+VN2+VH2O+CO2FG:CO2W=100*CO2FG/VFG:O2W=100*VO2/VFG 690 H2O=100*VH2O/VFG:N2W=100*VN2/VFG:SO2W=100*VSO2/VFG 700 WWA=(18*VM*AIRA+29*AIRA)/MWF:MWFG=.44*CO2W+.32*O2W+H2O*.18+.28*N2W+.64*SO2W 710 B=WWA 720 WG=WWA+1:WDG=WG-18*VH2O/MWF:AIRM=18*VM*AIRA/MWF 730 L1=WDG*24*(TG-TA)/HHVW:L2=100*(H2OFG*18/MWF)*(.46*TG-TA+1080)/HHVW 740 L3=46*AIRM*(TG-TA)/HHVW 750 IF L4G>O THEN L4=L4G:GOTO 770 760 L4=L4C 770 EFFH=100-L1-L2-L3-L4-L5:EFFL=EFFH*HHVW/LHVW 780 WF=Q*1E+08/EFFH/HHVW:TFG=WG*WF:TCA=WWA*WF 790 RETURN