I have had a mixed response to the propeller calculation program I posted
yesterday. Some people thought it was great, others couldn't get it to work at
all. I suspect that the difference is all in the age of the computers. The
program was written a dozen years ago in ANSI Basic and was designed as a quick way
to estimate suitable propellers for small research vessels, about trawler
size. ANSI Basic is, for want of a better word, very basic. It is the program
that came with the TRS-80, the Commodore Pet, the first IBMs, and the Apple 2.
Modern versions of the same language, QuickBasic, TrueBasic, VisualBasic,
RealBasic, etc. support many more functions but eschew some of the programming
shortcuts that old timers used. For example GOTOs would get you thrown out of any
college programming class.
Basic, as a programming language, has survived when many computer languages
designed to replace it have fallen into disuse. Does anyone remember Pascal?
But the cost of survival has been added complexity. (I'm too old to change -
I still program in Forth from time to time.) But I spent a couple of hours
this afternoon cleaning up the prop program so that it should work on most line
numbered versions of Basic. If you don't have one on your computer, you can
download an old fashioned, but lightning fast, Basic interpreter from <
www.nicholson.com/rhn/basic/>. Versions are available for just about any computer or
handheld, even Playstations. Alternatively do a Google lookup of Basic
Programming or Chipmunk Basic.
Here is the very slightly revised program. Just paste it into your Basic
interpreter.
5 CLS
10 PRINT "DISPLACEMENT BOAT PROPELLER CALCULATION PROGRAM"
20 PRINT "Copyright 1997: L. Zeitlin"
29 PRINT: PRINT "CROUCH'S METHOD FOR OPTIMUM HULL SPEED PROPELLER
CALCULATION."
30 INPUT "Waterline length in ft. = "; L
40 INPUT "Displacement in lbs. = ";D
50 INPUT "Engine rated HP = "; HP
52 HP=HP*.95 'assume 5% HP loss in power line.
55 INPUT "Engine RPM at rated HP = "; RPM
57 INPUT "Percent RPM used for calculations. = ";PRPM
58 DRPM=PRPMRPM/100 'desired RPM
59 HPREV=HP/RPM 'horsepower per revolution.
60 INPUT "Gearbox reduction ratio. = "; RG
65 PRINT
70 HS= L^.5 * 1.34 'hull speed calculation.
80 PRINT "Hull speed ="; INT(HS 100)/100;"KT"
90 RHP = D * ((HS/(11.963 * L^.5))^3) ' Keith's formula, required HP for hull
speed.
100 PRINT "Required HP = "; INT(RHP 100)/100
105 IF RHP > HPREVDRPM THEN GOTO 900
110 SLIP = 1.4/(HS^.57) 'estimate of slip, Gerr's formula
120 HSRPM = DRPM/RG 'desired shaft RPM at hull speed.
130 PITCH = (HS1215.6/(1-SLIP))/HSRPM
140 DIAMETER = (632.7 * ((HPREVDRPM)^.2))/HSRPM^.6
150 PRINT:PRINT "Three bladed propeller:"
160 PRINT "Diameter = "; INT(DIAMETER * 10)/10; "inches."
170 PRINT "Pitch = " INT(PITCH * 10)/10; "inches."
180 PRINT:PRINT "Two bladed propeller:"
190 PRINT "Diameter = "; INT(DIAMETER * 10.5)/10; "inches."
200 PRINT "Pitch = " INT(PITCH * 10.1)/10; "inches."
205 PRINT: PRINT "Slip estimate = ";INT(SLIP100)/100;"percent.
210 Thrust = 62.72 ((HPPRPM/100DIAMETER/12)^.67)
220 PRINT: PRINT "Static thrust = ";INT(Thrust * 10)/10;"pounds."
225 PRINT:INPUT "Would you like to try another calculation using Crouch's
method? (Yes=1, No=2) ";Q
226 CLS
227 IF Q=1 THEN GOTO 30
230 PRINT:INPUT "Would you like to try the Bp method of optimum propeller
calculation? (Yes=1, No=2) "; Q
240 IF Q=2 THEN GOTO 500
250 CLS
260 PRINT "Bp METHOD OF OPTIMUM PROPELLER CALCULATION."
263 INPUT "Choose method: (1) Calculate block coefficient. (2) Use average
block coefficient. "; Q
264 IF Q=2 THEN GOTO 300
270 INPUT "Waterline beam in ft. = ";WLB
280 INPUT "Hull draft, excluding keel or skeg, in ft. = "; DFT
290 Cb = D/(LWLBDFT64)
295 PRINT "Block coefficient = "; INT(Cb * 100)/100
296 GOTO 303
300 Cb = .53
303 INPUT "Desired engine RPM = "; DRPM: DHP = DRPM * HPREV
306 PRINT "Available shaft HP at desired RPM = "; INT(DHP 10)/10
310 INPUT "Desired speed in Kt. = "; HS
313 RHP = D * ((HS/(11.916 * L^.5))^3) 'required HP for desired speed.
316 IF RHP > HPREVDRPM THEN GOTO 1000
318 PRINT: PRINT "Required HP for desired speed = "; INT(RHP 10)/10
320 SRPM = DRPM /RG 'shaft RPM.
330 SHP = DHP 'available HP at desired RPM
335 DX=0
347 Wf = 1.11 -(.6Cb)
348 Va = HS * Wf
349 PRINT: PRINT "Va = "; INT(Va100)/100
350 BP = (SRPM * SHP^.5)/Va^2.5
355 PRINT "BP = "; INT(BP 10)/10
360 DELTA = 103.143 + (4.73 * BP) -(.034 * BP^2) + ((1.57/10000) * BP^3) -
((2.964/10^7) BP^4)
361 IF DELTA <0 THEN PRINT "Entered values out of range. Try again."
362 IF DELTA <0 Then GOTO 303
365 DIAFT = (Va*DELTA)/SRPM
367 PRATIO = 1.014 - (.014 * BP) + ((1.72/10000) * BP^2) - ((9.873/10^7) *
BP^3) + ((2.047/10^9) * BP^4)
370 PRINT: PRINT "DELTA = "; INT(DELTA 10)/10
375 PRINT "DIAFT = "; INT(DIAFT 100)/100
380 DIAIN = DIAFT * 12
395 PRINT"P/D RATIO = "; INT(PRATIO 100)/100
397 PITCH = PRATIODIAFT
398 SLIP = 1-(HS101.3/(PITCHSRPM))
399 If SLIP <0 THEN PRINT "Entered values out of range. Try again."
400 IF SLIP <0 THEN GOTO 303
410 EFF = .742 - (.006 * BP) + ((5.086/10^5) * BP^2) - ((2.209/10^7) * BP^3)
- ((3.835/10^10) * BP^4)
420 PRINT: PRINT "Three blade prop diameter = "; INT(DIAIN
100)/100;"inches."
425 PRINT "Two blade prop diameter = " INT(DIAIN * 105)/100;"inches."
430 PRINT: PRINT "Pitch = "; INT(PRATIO * DIAIN100)/100;"inches."
440 PRINT "Slip = "; INT(SLIP*100)/100;"percent."
450 PRINT "Efficiency = "; INT((EFF-(DX/2))*100)/100; "percent."
451 Thrust = 62.72 ((RHPDIAFT)^.67)
452 PRINT "Static thrust = ";INT(Thrust * 10)/10;"pounds."
455 PRINT: INPUT "Do you wish to modify engine and speed variables? (Yes=1,
No=2) ";Q
456 IF Q=1 THEN GOTO 303
457 INPUT "Do you wish to change recommended propeller diameter? (Yes=1,
No=2) ";Q
458 IF Q=1 THEN GOSUB 2000
460 PRINT:INPUT "Another propeller calculation? (Yes=1, No=2) "; Q
465 IF Q=1 THEN CLS: GOTO 29
470 'IF Q=1 THEN GOTO 30
500 PRINT "GOODBYE"
510 END
900 PRINT "The engine does not have enough power to reach indicated speed."
902 INPUT "Do you wish to modify initial variables? (Yes=1, N=2)";Q
903 IF Q=1 THEN GOTO 30
904 IF Q=2 THEN GOTO 500
905 RETURN
1000 PRINT "The engine does not have enough power to reach indicated speed."
1002 INPUT "Do you wish to modify initial variables? (Yes=1, N=2)";Q
1003 IF Q=1 THEN GOTO 303
1004 IF Q=2 THEN GOTO 500
1005 RETURN
2000 INPUT "Desired diameter in inches = "; DDIAIN
2005 DX = 1-(DDIAIN/DIAIN)
2010 DIAFT =DDIAIN/12
2020 DELTA = (SRPM * DIAFT)/Va
2025 PRATIO =
(3.28)-(.03*DELTA)+((1.231/10000)*DELTA^2)-((.000000172)*DELTA^3)
2030 GOTO 370
2040 RETURN
Larry Z
It's Tax Time! Get tips, forms, and advice on AOL Money &
Finance.
(http://money.aol.com/tax?NCID=aolprf00030000000001)
I have had a mixed response to the propeller calculation program I posted
yesterday. Some people thought it was great, others couldn't get it to work at
all. I suspect that the difference is all in the age of the computers. The
program was written a dozen years ago in ANSI Basic and was designed as a quick way
to estimate suitable propellers for small research vessels, about trawler
size. ANSI Basic is, for want of a better word, very basic. It is the program
that came with the TRS-80, the Commodore Pet, the first IBMs, and the Apple 2.
Modern versions of the same language, QuickBasic, TrueBasic, VisualBasic,
RealBasic, etc. support many more functions but eschew some of the programming
shortcuts that old timers used. For example GOTOs would get you thrown out of any
college programming class.
Basic, as a programming language, has survived when many computer languages
designed to replace it have fallen into disuse. Does anyone remember Pascal?
But the cost of survival has been added complexity. (I'm too old to change -
I still program in Forth from time to time.) But I spent a couple of hours
this afternoon cleaning up the prop program so that it should work on most line
numbered versions of Basic. If you don't have one on your computer, you can
download an old fashioned, but lightning fast, Basic interpreter from <
www.nicholson.com/rhn/basic/>. Versions are available for just about any computer or
handheld, even Playstations. Alternatively do a Google lookup of Basic
Programming or Chipmunk Basic.
Here is the very slightly revised program. Just paste it into your Basic
interpreter.
5 CLS
10 PRINT "DISPLACEMENT BOAT PROPELLER CALCULATION PROGRAM"
20 PRINT "Copyright 1997: L. Zeitlin"
29 PRINT: PRINT "CROUCH'S METHOD FOR OPTIMUM HULL SPEED PROPELLER
CALCULATION."
30 INPUT "Waterline length in ft. = "; L
40 INPUT "Displacement in lbs. = ";D
50 INPUT "Engine rated HP = "; HP
52 HP=HP*.95 'assume 5% HP loss in power line.
55 INPUT "Engine RPM at rated HP = "; RPM
57 INPUT "Percent RPM used for calculations. = ";PRPM
58 DRPM=PRPM*RPM/100 'desired RPM
59 HPREV=HP/RPM 'horsepower per revolution.
60 INPUT "Gearbox reduction ratio. = "; RG
65 PRINT
70 HS= L^.5 * 1.34 'hull speed calculation.
80 PRINT "Hull speed ="; INT(HS *100)/100;"KT"
90 RHP = D * ((HS/(11.963 * L^.5))^3) ' Keith's formula, required HP for hull
speed.
100 PRINT "Required HP = "; INT(RHP *100)/100
105 IF RHP > HPREV*DRPM THEN GOTO 900
110 SLIP = 1.4/(HS^.57) 'estimate of slip, Gerr's formula
120 HSRPM = DRPM/RG 'desired shaft RPM at hull speed.
130 PITCH = (HS*1215.6/(1-SLIP))/HSRPM
140 DIAMETER = (632.7 * ((HPREV*DRPM)^.2))/HSRPM^.6
150 PRINT:PRINT "Three bladed propeller:"
160 PRINT "Diameter = "; INT(DIAMETER * 10)/10; "inches."
170 PRINT "Pitch = " INT(PITCH * 10)/10; "inches."
180 PRINT:PRINT "Two bladed propeller:"
190 PRINT "Diameter = "; INT(DIAMETER * 10.5)/10; "inches."
200 PRINT "Pitch = " INT(PITCH * 10.1)/10; "inches."
205 PRINT: PRINT "Slip estimate = ";INT(SLIP*100)/100;"percent.
210 Thrust = 62.72 *((HP*PRPM/100*DIAMETER/12)^.67)
220 PRINT: PRINT "Static thrust = ";INT(Thrust * 10)/10;"pounds."
225 PRINT:INPUT "Would you like to try another calculation using Crouch's
method? (Yes=1, No=2) ";Q
226 CLS
227 IF Q=1 THEN GOTO 30
230 PRINT:INPUT "Would you like to try the Bp method of optimum propeller
calculation? (Yes=1, No=2) "; Q
240 IF Q=2 THEN GOTO 500
250 CLS
260 PRINT "Bp METHOD OF OPTIMUM PROPELLER CALCULATION."
263 INPUT "Choose method: (1) Calculate block coefficient. (2) Use average
block coefficient. "; Q
264 IF Q=2 THEN GOTO 300
270 INPUT "Waterline beam in ft. = ";WLB
280 INPUT "Hull draft, excluding keel or skeg, in ft. = "; DFT
290 Cb = D/(L*WLB*DFT*64)
295 PRINT "Block coefficient = "; INT(Cb * 100)/100
296 GOTO 303
300 Cb = .53
303 INPUT "Desired engine RPM = "; DRPM: DHP = DRPM * HPREV
306 PRINT "Available shaft HP at desired RPM = "; INT(DHP *10)/10
310 INPUT "Desired speed in Kt. = "; HS
313 RHP = D * ((HS/(11.916 * L^.5))^3) 'required HP for desired speed.
316 IF RHP > HPREV*DRPM THEN GOTO 1000
318 PRINT: PRINT "Required HP for desired speed = "; INT(RHP *10)/10
320 SRPM = DRPM /RG 'shaft RPM.
330 SHP = DHP 'available HP at desired RPM
335 DX=0
347 Wf = 1.11 -(.6*Cb)
348 Va = HS * Wf
349 PRINT: PRINT "Va = "; INT(Va*100)/100
350 BP = (SRPM * SHP^.5)/Va^2.5
355 PRINT "BP = "; INT(BP *10)/10
360 DELTA = 103.143 + (4.73 * BP) -(.034 * BP^2) + ((1.57/10000) * BP^3) -
((2.964/10^7)* BP^4)
361 IF DELTA <0 THEN PRINT "Entered values out of range. Try again."
362 IF DELTA <0 Then GOTO 303
365 DIAFT = (Va*DELTA)/SRPM
367 PRATIO = 1.014 - (.014 * BP) + ((1.72/10000) * BP^2) - ((9.873/10^7) *
BP^3) + ((2.047/10^9) * BP^4)
370 PRINT: PRINT "DELTA = "; INT(DELTA *10)/10
375 PRINT "DIAFT = "; INT(DIAFT *100)/100
380 DIAIN = DIAFT * 12
395 PRINT"P/D RATIO = "; INT(PRATIO *100)/100
397 PITCH = PRATIO*DIAFT
398 SLIP = 1-(HS*101.3/(PITCH*SRPM))
399 If SLIP <0 THEN PRINT "Entered values out of range. Try again."
400 IF SLIP <0 THEN GOTO 303
410 EFF = .742 - (.006 * BP) + ((5.086/10^5) * BP^2) - ((2.209/10^7) * BP^3)
+ ((3.835/10^10) * BP^4)
420 PRINT: PRINT "Three blade prop diameter = "; INT(DIAIN
*100)/100;"inches."
425 PRINT "Two blade prop diameter = " INT(DIAIN * 105)/100;"inches."
430 PRINT: PRINT "Pitch = "; INT(PRATIO * DIAIN*100)/100;"inches."
440 PRINT "Slip = "; INT(SLIP*100)/100;"percent."
450 PRINT "Efficiency = "; INT((EFF-(DX/2))*100)/100; "percent."
451 Thrust = 62.72 *((RHP*DIAFT)^.67)
452 PRINT "Static thrust = ";INT(Thrust * 10)/10;"pounds."
455 PRINT: INPUT "Do you wish to modify engine and speed variables? (Yes=1,
No=2) ";Q
456 IF Q=1 THEN GOTO 303
457 INPUT "Do you wish to change recommended propeller diameter? (Yes=1,
No=2) ";Q
458 IF Q=1 THEN GOSUB 2000
460 PRINT:INPUT "Another propeller calculation? (Yes=1, No=2) "; Q
465 IF Q=1 THEN CLS: GOTO 29
470 'IF Q=1 THEN GOTO 30
500 PRINT "GOODBYE"
510 END
900 PRINT "The engine does not have enough power to reach indicated speed."
902 INPUT "Do you wish to modify initial variables? (Yes=1, N=2)";Q
903 IF Q=1 THEN GOTO 30
904 IF Q=2 THEN GOTO 500
905 RETURN
1000 PRINT "The engine does not have enough power to reach indicated speed."
1002 INPUT "Do you wish to modify initial variables? (Yes=1, N=2)";Q
1003 IF Q=1 THEN GOTO 303
1004 IF Q=2 THEN GOTO 500
1005 RETURN
2000 INPUT "Desired diameter in inches = "; DDIAIN
2005 DX = 1-(DDIAIN/DIAIN)
2010 DIAFT =DDIAIN/12
2020 DELTA = (SRPM * DIAFT)/Va
2025 PRATIO =
(3.28)-(.03*DELTA)+((1.231/10000)*DELTA^2)-((.000000172)*DELTA^3)
2030 GOTO 370
2040 RETURN
Larry Z
**************
It's Tax Time! Get tips, forms, and advice on AOL Money &
Finance.
(http://money.aol.com/tax?NCID=aolprf00030000000001)