Vance Jaqua wrote:
Paul - This is a slightly stripped version that does
not try to match an engine curve - Describe the prop
in inches dia and pitch and blade width at the .9 .7
.5 and .3 radius points then select the number of
plane speeds that you want to analyze and a starting
rpm for each plane speed the program will step the rpm
up by 100 rpm increments for about 12 steps (this can
be changed) it asks for frontal area and drag coeff of
the fuselage to determined added losses from the
accelerated flow around the fuselage (Tractor install
assumed). This should run in Quick Basic without
changes line numbers and all it is saved in ASCI with
a .BAS extension - I am sending a copy to myself to
monitor the results - I suggest the short print the
long printout is LONG - Vance
Thanks Vance. I will load it into QB and bring it into the
1980's. In the mean time here it is for all you old time BASIC fans
out there.
Paul Lamar
The Aircraft Rotary Engine Newsletter. Powered by Linux.
http://home.earthlink.net/~rotaryeng/ http://www.linux.org
1000 REM PRPLRITF PROPELLOR PROGRAM FOR ITERATION TO PREDICT ENGINE POWER RQD
1001 REM NO ENGINE POWER CURVES USED JUST REQD POWER PRINTED OUT
1003 REM UPDATED FOR ALTITUDE INPUT
1010 REM PROGRAM FOR STATIC AND MOVING THRUST
1020 DIM BANG(10), WDTH(10)
1030 DIM ANG(30), CL(30), CD(30)
1050 DIM SPD(20), RPM(20)
1060 DIM HPD(80): REM USED IN POWER SUBROUTINES
2000 REM FIXED DATA
2020 PI = 3.1417
2030 G = 32.18
3010 REM ------------------ INPUT DATA -----------------------
3020 INPUT "INPUT NAME OF CASE ", CASE$
3021 AIRDSL = 2.37689E-03
3022 INPUT "INPUT DESIRED ALTITUDE IN FEET "; ALTF
3024 AIRDEN = 2.37689E-03 * ((1 - 6.8753E-06 * ALTF) ^ 4.2651)
3030 INPUT "INPUT CONDITIONS PROP DIA, PITCH (INCHES) ", DIA, PITCH
3040 INPUT "INPUT BLADE WIDTH AT .9, .7, .5, .3 RADIUS "; WDTH(9), WDTH(7), WDTH(5), WDTH(3)
3045 INPUT "INPUT BLADE ANGLE AT .9, .7, .5, .3 RAD. OR ZEROS FOR TRUE HELICAL PITCH "; BANG(9), BANG(7), BANG(5), BANG(3)
3050 INPUT "INPUT NUMBER OF DESIRED PLANE SPEEDS "; NSPD
3060 FOR NS = 1 TO NSPD
3062 INPUT "INPUT PLANE SPEED MPH "; SPD(NS)
3066 INPUT "INPUT STARTING PROP RPM "; RPM(NS)
3069 NEXT NS
3088 INPUT "INPUT FUSELAGE CROSS SECT AREA SQFT, DRAG COEFF (.2 AVG) "; AFUS, CDFUS
3090 INPUT "INPUT 1 FOR SHORT PRINTOUT 2 FOR LONG "; PCODE
3092 REM --------------------- HARD COPY OF INPUT DATA -------
3100 IF PCODE < .9 THEN 3200
3110 LPRINT "PROGRAM PRPLRITF - FOR THRUST AND POWER AT DESIGNATED SPEEDS AND RPM"
3120 LPRINT
3130 LPRINT DATE$, TIME$
3140 LPRINT
3150 LPRINT "CASE "; CASE$; " - ALTITUDE "; ALTF; " FT - DENSITY "; AIRDEN
3169 LPRINT " PROP DIA "; DIA; "IN PITCH "; PITCH; "IN"
3170 LPRINT " RPM "; RPM
3180 LPRINT " BLADE WIDTH @ .9R "; WDTH(9); " .7R "; WDTH(7); " .5R "; WDTH(5);
3185 LPRINT " .3R "; WDTH(3)
3186 LPRINT " FUSELAGE AREA "; AFUS; " DRAG COEFF "; CDFUS
3190 LPRINT
3194 LPRINT
3200 REM --------------- DATA FOR AIR FOIL --------------------------------
3210 REM CLARK Y WITH 6 ASPECT RATIO
3220 REM ANG ATT, LIFT COEFF, DRAG COEFF
3222 DATA -35,-1.25,.4
3224 DATA -30,-1.55,.3
3226 DATA -25,-1.4,.15
3228 DATA -20,-1.12, .1
3230 DATA -15, -.74, .04
3240 DATA -10, -.38, .02
3250 DATA -5, 0, .01
3260 DATA 0, .38, .02
3270 DATA 5, .74, .04
3280 DATA 10, 1.12, .1
3290 DATA 15, 1.4, .15
3300 DATA 20, 1.55, .3
3310 DATA 25, 1.25, .4
3320 DATA 30, 1.0, .6
3330 DATA 35, .8, .8
3340 DATA 40, .6, 1
3341 DATA 45, .55, 1.2
3342 DATA 50, .5, 1.5
3343 DATA 55, .45, 1.7
3344 DATA 60, .4, 2
3350 REM LOAD AIRFOIL DATA
3360 FOR N = 1 TO 20
3370 READ ANG(N), CL(N), CD(N)
3380 NEXT N
4000 REM************* SPEED LOOP ***********************
4010 FOR NS = 1 TO NSPD
4015 PVEL = SPD(NS)
4020 PLANEV = PVEL * 88 / 60
4022 IF PCODE = 1 THEN LPRINT " MPH RPM THR THR BHP DELTA EFF JET SYS NET(-FUS DRG) ANG ATT"
4023 IF PCODE = 1 THEN LPRINT " LBS HP REQ V(FPS) PRP EFF EFF THR THRHP @.9R .7R .3R"
4024 IF PCODE = 1 THEN LPRINT
4030 REM***********************************************************
4031 DELRPM = 100
4032 RPM = RPM(NS) - DELRPM
4033 FOR NR = 1 TO 14
4034 RPM = RPM + DELRPM
4036 REM ******************* RPM LOOP **************************
4040 REM ZERO OUT VALUES FOR LOOP
4050 HPTOT = 0
4060 THRTOT = 0
4070 JETTOT = 0
4080 REM COMPUTATIONS
4090 REM LOOP FOR RADIUS POINTS
4110 IF PCODE < 2 THEN 4150
4120 LPRINT "RADIUS "; "WIDTH "; "ANGLE "; "HP ZONE "; "LIFT THRST ";
4130 LPRINT "ANG ATT "; "PITCH VEL"
4140 LPRINT
4150 REM
4155 RADT = 0
4156 DELVT = 0
4159 REM ************************************************************
4160 FOR RAD = .3 TO .9 STEP .2
4165 LRAD = INT(.1 + (RAD * 10))
4170 RZMIN = RAD - .1
4180 RZMAX = RAD + .1
4190 WIDZON = WDTH(LRAD)
4210 PLVEL = RPM * DIA * RAD * PI / (12 * 60): REM PITCH LINE VEL - FPS
4220 BLANGT = PITCH / (RAD * DIA * PI)
4225 BLANG = BANG(LRAD) * PI / 180: REM BLADE ANGLE IN RADIANS FROM INPUT LINE
4230 IF BANG(LRAD) < 1 THEN BLANG = ATN(BLANGT): REM BLADE ANGLE IF INPUT ZEROS
4240 BLANGD = BLANG * 180 / PI: REM BLADE ANGLE IN DEGREES
4250 DISCAR = (((RZMAX * DIA) ^ 2) - ((RZMIN * DIA) ^ 2)) * .7854 / 144
4260 BLDAR = DIA * (RZMAX - RZMIN) * WIDZON / 144
4270 REM AREAS IN SQUARE FEET -BLADE AREA FOR TWO BLADES
4280 TOUT = 0
4290 REM
4300 INVFAC = 1!
4310 REM INVFAC IS THE FACTOR FOR INLET VEL RELATIVE TO MOM VEL
4320 REM
4340 REM ---------LOOP FOR DELTA V ----------------------
4350 FOR DELV = 10 TO 190 STEP 10
4360 AIRVEL = PLANEV + (INVFAC * DELV)
4370 AIRANG = ATN(AIRVEL / PLVEL)
4380 ANGAT = BLANG - AIRANG
4390 ANGATD = ANGAT * 180 / PI
4400 NAFD = INT((ANGATD / 5) + 8)
4410 AIRWF = AIRVEL * AIRDEN * DISCAR
4420 MOMF = AIRWF * DELV
4430 DELCL = CL(NAFD + 1) - CL(NAFD)
4440 DELANG = ANGATD - ANG(NAFD)
4450 CLZON = CL(NAFD) + (DELANG * DELCL / 5)
4460 LFTVEL = PLVEL / COS(AIRANG)
4470 LFTQ = AIRDEN * .5 * (LFTVEL ^ 2)
4480 LIFT = CLZON * LFTQ * BLDAR
4490 DELCD = CD(NAFD + 1) - CD(NAFD)
4500 CDZON = CD(NAFD) + (DELANG * DELCD / 5)
4510 DRAG = CDZON * LFTQ * BLDAR
4520 LIFTHR = LIFT * COS(AIRANG) - DRAG * SIN(AIRANG)
4530 TORDRG = DRAG * COS(AIRANG) + LIFT * SIN(AIRANG)
4540 HPZON = TORDRG * PLVEL / 550
4550 DVHEAD = (DELV ^ 2) / (2 * G)
4560 REM JET HP
4570 EXVEL = PLANEV + DELV
4580 JETHP = LIFTHR * EXVEL / 550
4640 IF MOMF > LIFTHR THEN DELV = DELV - 1: TOUT = 1: GOTO 4360
4650 IF TOUT > 0 THEN 4670
4660 NEXT DELV
4665 REM ---------------- END OF DELT V LOOP ---------------
4666 REM OUT OF LOOP
4670 REM OUT OF LOOP
4671 IF RAD = .9 THEN AAT9 = ANGATD
4672 IF RAD = .7 THEN AAT7 = ANGATD
4673 IF RAD = .5 THEN AAT5 = ANGATD
4680 PRINT USING "#####.##"; RAD; WIDZON; BLANGD; HPZON; LIFTHR;
4690 PRINT USING "#####.##"; ANGATD; PLVEL; DELV
4700 IF PCODE < 1.5 THEN 4740
4710 LPRINT USING "#####.##"; RAD; WIDZON; BLANGD; HPZON; LIFTHR;
4720 LPRINT USING "#####.##"; ANGATD; PLVEL
4740 REM
4750 HPTOT = HPTOT + HPZON
4760 THRTOT = THRTOT + LIFTHR
4770 JETTOT = JETTOT + JETHP
4780 REM DEVICE FOR WEIGHTED AVERAGE OF DELTA V
4781 DELVT = DELVT + RAD * DELV
4782 RADT = RADT + RAD
4790 NEXT RAD
4860 REM ************ CORRECTION FOR ADDED FUSELAGE DRAG *************
4862 DELVA = DELVT / RADT
4864 EXVELA = PLANEV + DELVA
4870 FUSQ = AIRDEN * .5 * (PLANEV ^ 2)
4872 FUSQP = AIRDEN * .5 * (EXVELA ^ 2): REM FUSELAGE Q IN PROPWASH
4874 FUSDRG = FUSQ * AFUS * CDFUS
4876 FUSDRGP = FUSQP * AFUS * CDFUS: REM FUSELAGE DRAG IN PROPWASH
4878 DELDRG = FUSDRGP - FUSDRG
4879 PRINT "FUS DRAG "; FUSDRG; " DRAG IN PROPWASH "; FUSDRGP
5000 REM -------- SUMMATIONS ---------------------------
5010 THRHP = THRTOT * PLANEV / 550
5015 THRNET = THRTOT - DELDRG
5020 EFF = THRHP / HPTOT
5030 JEFF = JETTOT / HPTOT
5040 TVEL = (((PLVEL / .9) ^ 2) + (AIRVEL ^ 2)) ^ .5
5042 NTHRHP = THRNET * PLANEV / 550: REM NET THUST HP
5043 SEFF = NTHRHP / HPTOT: REM SYSTEM PROPULSIVE EFF WITH ADDED FUS DRAG
5062 PRINT "PLANE VEL "; PVEL; " RPM "; RPM; " PITCH "; PITCH
5065 PRINT "TOTAL THRUST "; THRTOT, "TOTAL HP "; HPTOT
5070 PRINT "THRUST HP "; THRHP
5072 PRINT "FUSELAGE ADDED DRAG "; DELDRG; " THRUST MINUS THIS LOSS "; THRNET; " LBS"
5074 IF PCODE = 1 THEN LPRINT USING "#####"; PVEL, RPM,
5075 IF PCODE = 1 THEN LPRINT USING "#####"; THRTOT, THRHP, HPTOT, DELVT,
5076 IF PCODE = 1 THEN LPRINT USING "##.###"; EFF, JEFF, SEFF,
5077 IF PCODE = 1 THEN LPRINT USING "######"; THRNET, NTHRHP,
5079 IF PCODE = 1 THEN LPRINT USING "####.#"; AAT9, AAT7, AAT5
5080 IF PCODE < 1.5 THEN 5170
5085 LPRINT
5090 LPRINT "PLANE SPEED "; PVEL; "MPH RPM "; RPM
5100 LPRINT " PITCH AT THIS POINT "; PITCH; " INCHES"
5110 LPRINT "APPROX AIR VEL OVER TIP "; TVEL; " FT/SEC"
5120 LPRINT "TOTAL THRUST "; THRTOT; " HORSEPOWER REQUIRED "; HPTOT
5130 LPRINT "THRUST HP "; THRHP; " PROPELLOR EFF "; EFF
5135 LPRINT "FUSELAGE ADDED DRAG "; DELDRG; " THRUST MINUS THIS LOSS "; THRNET; " LBS"
5140 LPRINT "JET HORSEPOWER "; JETTOT; " JET HP EFF "; JEFF
5145 LPRINT "PROPULSIVE SYSTEM EFF (WITH FUS. DRG) "; SEFF
5150 LPRINT
5152 LPRINT
5170 REM
5172 REM NEW RPM VALUE
5180 NEXT NR
5192 IF PCODE > .1 THEN LPRINT
5200 NEXT NS: REM NEXT PLANE SPEED
5210 IF PCODE > .1 THEN LPRINT
6000 END