trawlers@lists.trawlering.com

TRAWLERS & TRAWLERING LIST

View all threads

Re: T&T: Propeller program

L
LRZeitlin@aol.com
Mon, Mar 10, 2008 8:17 PM

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 > 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(SLIP100)/100;"percent.
210 Thrust = 62.72 ((HPPRPM/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/(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 > 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 ((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 &amp; Finance. (http://money.aol.com/tax?NCID=aolprf00030000000001)
RW
Rich Werner
Tue, Mar 11, 2008 2:09 AM

Larry:  Thanks for the program.  Seeing a Basic program brings back memories
from many years back.

When you copy to text to a file for basic, make sure that line wrap has not
changed the sequence.  Each line should start with a number - when that is
done the program works great.

Rich


Rich & Laura Werner
GB32-277

Larry: Thanks for the program. Seeing a Basic program brings back memories from many years back. When you copy to text to a file for basic, make sure that line wrap has not changed the sequence. Each line should start with a number - when that is done the program works great. Rich ______________________________ Rich & Laura Werner GB32-277