STRUCTURAL  DESIGN SPEEDS & LOAD FACTORS

3 REM-----------------------------------------------------------------

4 REM        HEADING, COPYRIGHT AND MAIN PROGRAM

5 REM-----------------------------------------------------------------

10 PRINT "STRUCTURAL SPEEDS AND LOAD FACTORS PROGRAM ---STRSPEED.BAS, 
VERSION 2.0"

15 PRINT "(C) COPYRIGHT HAL C MCMASTER, 1988, 19^2"

16 PRINT:LPRINT CHR$(27)CHR$(78)CHR$(6):LPRINT CHR$(27)"1"CHR$(5):REM 
TO SET SKIP OVER PERFORATIONS AND LH MARGIN

17 LPRINT "CALCULATIONS FOR STRUCURAL DESIGN SPEEDS AND LOAD FACTORS"

18 INPUT "ENTER ONE CATEGORY---NORMAL, UTILITY OR ACROBATIC (N,U OR A) 
";CAT$

19 IF CAT$0"N" AND CAT$0"U" AND CAT$0"A" THEN 18

20 INPUT "WHAT IS MAX TAKE OFF WEIGHT (POUNDS)";W

30 INPUT "WHAT IS WING AREA (SQUARE FEET)";S

35 PRINT "IF MAX LEVEL SPEED IS NOT ACCURATELY KNOWN THEN ESTIMATE IT

HIGH."

40 INPUT "WHAT IS MAX LEVEL SEA LEVEL SPEED, VH (KNOTS)";VH

42 INPUT "ARE COMPUTED STALLING SPEEDS KNOWN BASED ON MAXIMUM AIRPLANE 
NORMAL FORCE COEFFICIENT AT MAXIMUM TAKE OFF WEIGHT";Q1$

43 Q1$=LEFT$(Q1$,1)

44 IF 01$<>"Y" AND Q1$0"N" THEN 42

45 IF Q1$="Y" THEN 50 ELSE 62

47 REM-- ---------------------------------------------------------

48 REM           STALL CALCULATIONS

49 REM---------------------------------------------------------------

50 INPUT "WHAT IS THE COMPUTED STALLING SPEED (KNOTS) WITH FLAPS RETRA 
CTED AT MAX TAKE OFF WEIGHT";V3STALL

60 INPUT "WHAT IS THE COMPUTED STALLING SPEED (KNOTS) WITH FLAPS FULLY 
EXTENDED AT MAX TAKE OFF WEIGHT";V5FSTALL

61 GOTO 80

62 PRINT "FOR PRELIMINARY ESTIMATE OF STALLING SPEEDS ENTER CL MAX AND 
CLF MAX FROM PROGRAM 'AIRLOADC/BAS'. PRELIMINARY STALLING SPEEDS WILL 
BE CALCULATED WHICH MUST BE CONFIRMED LATER BY PROGRAM 'FLTLOAD/BAS'.

n

63 INPUT "ENTER WING CL MAX,CLF MAX";C3LMAX,C5LFMAX

64 V3STALL=SQR(W/(.5*.002378*S*C3LMAX)):REM   FT/SEC

65 V3STALL=V3STALL*60/88*1/1.15:REM   KNOTS

66 V5FSTALL=SQR(W/(.5*.002378*S*C5LFMAX)):REM   FT/SEC

67 V5FSTALL=V5FSTALL*60/88*1/1.15:REM   KNOTS

75 REM------------------------------------------------------------

76 REM          CALCULATE FAR MINIMUM REQUIRED SPEEDS

77 REM-- ------------------------------------------------------

80 WOS=W/S

90 IF WOS=>100 THEN K1=28.6

100 IF WOS=<20 AND CAT$="N" OR CAT$="U" THEN K1=33

105 IF WOS=<20 AND CAT$="A" THEN K1=36

110 IF WOS>20 AND WOS<100 AND CAT$="N" OR CAT$="U" THEN K1=33-(33-28.6

)*(WOS-20)/(100-20)

115 IF WOS>20 AND WOS<100 AND CAT$="A" THEN K1=36-(36-28.6)*(WOS-20)/(

100-20)

120 V1CMIN=K1*SQR(WOS)

130 IF V1CMIN=>.9*VH THEN V1CMIN=.9*VH

140 IF WOS=>100 THEN K2=1.35

150 IF WOS=<20 AND CAT$="N" THEN K2=1.4

89

FAR 23 LOADS

151 IF WOS=<20 AND CAT$="U" THEN K2=1.5

152 IF WOS=<20 AND CAT$="A" THEN K2=1.55

160 IF WOS>20 AND WOS<100 AND CAT$="N" THEN K2=1.4-(1.4-1.35)*(WOS-20) 
/(100-20)

161 IF WOS>20 AND WOS<100 AND CAT$="U" THEN K2=1.5-(1.5-1.35)*(WOS-20) 
/(100-20)

162 IF WOS>20 AND WOS<100 AND CAT$="A" THEN K2=1.55-(1.55-1.35)*(WOS-2

0)/(100-20)

170 V2DMIN=K2*V1CMIN

180 IF CAT$="N" THEN NMAN=2.1+24000/(W+10000)

181 IF CAT$="U" THEN NMAN=4.4

182 IF CAT$="A" THEN NMAN=61

190 IF CAT$="N" AND NMAN>3.8 THEN NMAN=3.8

200 V4AMIN=V3STALL*SOR(NMAN)

210 IF CAT$="N" OR CAT$="U" THEN NEGMAN=-.4*NMAN

211 IF CAT$="A" THEN NEGMAN=-.5*NMAN

220 VFMIN=1.4*V3STALL

230 IF VFMIN<1.8*V5FSTALL THEN VFMIN=1.8*V5FSTALL

240 LPRINT:LPRINT:LPRINT "INPUT":LPRINT

245 LPRINT "CATEGORY";TAB(41)CAT $

250 LPRINT "WING AREA (SQ FT)";TAB(40)S

260 LPRINT "TAKE OFF WEIGHT (LBS)";TAB(40)W

270 LPRINT "MAX LEVEL SPEED (KNOTS)";TAB(40)VH .

280 LPRINT "STALL SPEED CLEAN (KNOTS)";TAB(40)V3STALL

290 LPRINT "STALL SPEED FLAPS EXTENDED (KNOTS)";TAB(40)V5FSTALL

291 IF Q1$="Y" THEN 300

292 LPRINT "CL MAX";TAB(40)C3LMAX

294 LPRINT "CLF MAX";TAB(40)C5LFMAX

295 REM---------------------------------------------------------------

296 REM          CHOSEN STRUCTURAL SPEEDS

297 REM----------------------------------------------------------

300 PRINT "YOU MAY CHOOSE ANY STRUCTURAL SPEEDS AND LOAD FACTORS YOU W 
ANT. IF THEY DO NOT MEET THE REGULATIONS THEY WILL BE ADJUSTED BY THI 
S PROGRAM."

302 INPUT "WHAT ARE YOUR CHOSEN STRUCTURAL-SPEEDS (KNOTS) AND MANEUVER 
LOAD FACTORS VC,VD,VA,VF,+N,-N";V6C,V7D,V8A,V9F,Nl,N2

303 LPRINT:LPRINT "CHOSEN SPEEDS AND LOAD FACTORS"

304 LPRINT "VC";TAB(12)"VD";TAB(24)"VA";TAB(36)"VF";TAB(48)"+N";TAB(60 
)"-N"

305 LPRINT V6C;TAB(11)V7D;TAB(23)V8A;TAB(35)V9F;TAB(47)N1;TAB(59)N2

306 VAREO=V3STALL*SOR(N1)

307 IF VAREQ>V8A THEN V8A=VAREQ

322 LPRINT:LPRINT:LPRINT "OUTPUT"

325 LPRINT:LPRINT "FAR 23 MINIMUM SPEEDS AND LOAD FACTORS"

330 LPRINT "VCMIN";TAB(12)"VDMIN";TAB(24)"VAMIN";TAB(36)"VFMIN";TAB(48

)"POS N";TAB(60)"NEG N"

340 LPRINT V1CMIN;TAB(11)V2DMIN;TAB(23)V4AMIN;TAB(35)VFMIN;TAB(47)NMAN

;TAB(59)NEGMAN

349 REM---------------------------------------------------------------

350 REM   VERIFICATION OR ADJUSTMENT OF CHOSEN SPEEDS & LOAD FACTORS

351 REM       TO FAR REQUIREMENTS RELATIVE TO VC

352 REM---------------------------------------------------------------

360 LPRINT 
370 IP V6C<V1CMIN THEN V6C=V1CMIN

90

 STRUCTURAL  DESIGN SPEEDS & LOAD FACTORS

380 IF V7D<V2DMIN THEN V7D=V2DMIN

390 IF V7D<1.25*V6C THEN V7D=1.25*V6C

400 IF V8A<V4AMIN THEN V8A=V4AMIN

410 IF V9F<VFMIN THEN V9F=VFMIN )

420 IF N1<NMAN THEN N1=NMAN

430 IF N2>NEGMAN THEN N2=NEGMAN

440 IF CAT$="N" OR CAT$="U" AND N2>-.4*N1 THEN N2=-.4*N1

441 IF CAT$="A" AND N2>-.5*N1 THEN N2=-.5*N1

450 LPRINT "VERIFIED CHOSEN SPEEDS OR ADJUSTED SPEEDS 6c LOAD FACTORS"

460 LPRINT "VC";TAB(12)"VD";TAB(24)"VA"; TAB( 36)"VF";TAB(48)"+N";TAB(60

)"-N"

470 LPRINT V6C;TAB(11)V7D;TAB(23)V8A;TAB (3 5 ) V9F;TAB(4 7)Nl;TAB(59)N2

480 PRINT "'SHOULDER' ALTITUDE FOR NATURALLY ASPIRATED ENGINES IS USUA

LLY ABOUT 12000 FEET. FOR TURBOCHARGED ENGINES IT IS ABOUT 2000 FEET A

BOVE THE CRITICAL ALTITUDE OF THE ENGINE (THE GREATEST ALTITUDE THAT T

HE ENGINE STILL PRODUCES 100 PERCENT POWER)"

482 INPUT "WHAT IS THE 'SHOULDER' ALTITUDE FOR MACH LIMITATIONS FOR ST

RUCTURAL SPEEDS AT ALTITUDE ";HMACH

484 T=59-.003566*HMACH

486 A=29.02*(T+459.4)-.5

488 SIGMA=(1-6.879E-06*HMACH)-4.258

490 VCTRUE=V6C/(SIGMA)~.5

492 VDTRUE=V7D/(SIGMA)~.5

494 MC=VCTRUE/A

496 MD=VDTRUE/A

498 LPRINT:LPRINT "MACH LIMITATION SPEEDS"

500 LPRINT "SHOULDER"," MC"," MD"

510 LPRINT HMACH,MC,MD

520 END

91

FAR 23 LOADS

10 REM----------------------------------------------------------------

20 REM          HEADING, COPYRIGHT, INPUT

30 REM---------------------------------------------

40 PRINT "PROGRAM TO CALCULATE MACH LIMITATION LINES --MACHLIM.BAS,

VERSION 1.0"

50 PRINT "(C) COPYRIGHT HAL C. MCMASTER, 1988" 
60 INPUT "ENTER MC, MD ";MC,MD 
70 MNE=.9*MD 
80 MFC=1.2*MD

90 INPUT "ENTER SHOULDER ALTITUDE ";HSHLDR 
100 INPUT "ENTER MAX OPERATING ALTITUDE ";HMAXALT 
110 INPUT "ENTER INCREMENT OF ALTITUDE ";HINCR 
115 LPRINT CHR$(27)"1"CHR$(3):REM TO SET LH MARGIN 
120 LPRINT:LPRINT:LPRINT "DATA TO PLOT MACH LIMITATION LINES ON FLIGHT

LIMITS DIAGRAM"

130 LPRINT:LPRINT "INPUT DATA" 
140 LPRINT "MC = ";MC 
150 LPRINT "MD = ";MD

160 LPRINT "SHOULDER ALTITUDE = ";HSHLDR 
170 LPRINT "MAX OPERATING ALTITUDE = ";HMAXALT 
180 LPRINT "INCREMENT OF ALTITUDE = ";HINCR

1-?U200	r\c.r^- --------------------------------------------------------------REM CALCULATE MACH LINES
210	
	t^^c^------------------------------------------ -- --- ------
220	1=1
230	H(1)=HSHLDR+HINCR
240	1=1+1
250	H(I)=H(I-1)+HINCR
260	IF HMAXALT-H(I)>HINCR THEN GOTO 240
270	H(I)=HMAXALT
280	NN=I
290	H(0)=HSHLDR
300	REM CALCULATE SPEED OF SOUND IN KNOTS FOR INCREMENTED ALTITUDES
310	FOR 1=0 TO NN
320	TEMP(I)=59-.003566*H(I)+459.4
330	A(I)=29.02*(TEMP(I))~.5
340	VMCTRUE(I)=MC*A(I)
350	VMDTRUE(I)=MD*A(I)
360	VMNETRUE(I)=MNE*A(I)
370	SIGMA(I)=(1-.006879*H(I)/1000)"4.258
380	VMCEAS(I)=VMCTRUE(I)*(SIGMA( I) ) ~.5
390	VMDEAS(I)=VMDTRUE(I)*(SIGMA(I))~.5
400	VMNEEAS(I)=VMNETRUE(I)*(SIGMA(I))'-.5
410	NEXT I
420	T?C'M -
430	KtLl-l- ------- - - - - - - - ---- - ------------ - -- - -- - - - - - - ------- -. --- ~REM PRINT OUTPUT
440	REM-----------------------------------------------------------
450	LPRINT:LPRINT "OUTPUT DATA"
460	LPRINT "MNE = ";MNE
470	LPRINT "MFC = ";MFC
480	LPRINT:LPRINT
490	LPRINT "ALTITUDE";TAB(10)"V(MC)";TAB(20)"V(MNE)";TAB(30)"V(MD)";
TAB(	40)"V(FC)"
500	FOR 1=0 TO NN

96

STRUCTURAL  DESIGN SPEEDS & LOAD FACTORS

510 LPRINT H(I);TAB(10)VMCEAS(I);TAB(20)VMNEEAS(I);TAB(30)VMDEAS(I) ;

TAB(40)VMDEAS(I)*1.2 
520 NEXT I

530 LPRINT:LPRINT "NOTE: ALL SPEEDS ARE IN KNOTS EQUIVALENT AIR SPEED 
(KEAS).

97

AERODYNAMIC COEFFICIENTS AND AIRLOADS PROGRAM 
AERODYNAMIC COEFFICIENTS

Spanwise Coefficients

The program AIRLOADS.BAS calculates the basic and additive 
Spanwise aerodynamic lift coefficient distributions for the wing. 
It combines these for the Spanwise lift coefficient distribution 
for any specific total wing lift coefficient and then calculates 
the associated Spanwise drag and moment coefficients for that 
wing CL. Where there is a discontinuity in lift between the 
aileron and flaps, the program mathematically fairs the basic 
distribution.

Stall Coefficient

The program also calculates the stall lift coefficient for 
every section of the wing. Then incrementally increases the total 
wing CL until one of the section c^ touches the stall c^ for that 
section. This provides a calculated stall C^ and angle of attack 
for the wing.

Airplane Less Tail Coefficients

The program calculates the pitching moment coefficient of 
the fuselage and nacelles. It adds them to the total wing moment 
coefficient to provide lift, drag and moment coefficients for the 
airplane less tail for any C^. It then formulates the equations 
for lift, drag and moment to be used in the program FLTLOADS.BAS 
to make the balancing calculations for the V-n diagrams.

Equations

Equations used to calculate the Spanwise additive lift 
distribution for a Cr=l are:

cCiai=.5(moC/Mo+4S/(3.1416B)(l-(2y/B)2)) 
Mo=SUM(moCdy/(S/2)) 
where c=chord of element

c^gj=lift coefficient of element

niQ=slope of lift curve of element

S=wing area, square inches

B=span tip to tip, inches

y=element butt line, inches

dy=width of element, inches

MQ=slope of lift curve of the wing

101

FAR 23 LOADS

Equations used to calculate the unfaired spanwise basic lift 
distribution are:

A^o=SUM(moar.cdy)/SUM(moCdy)

aa=ar~\lQ

cib=(mo/2)aa

cc^=unfaired basic lift of element

C^=SUM(cc^dy)

where A^Q=angle from arbitrary reference plane to zero

lift plane of the wing

a^.=angle from arbitrary reference plane to zero

lift line of each element 
C]^=basic lift coefficient of wing =0 
aa=angle from wing zero lift line to section lift

line

Equations used to calculate faired spanwise basic lift 
distribution are:

L=a/2 if a>b

L=b/2 if b>a

where L=distance to be faired inboard and outboard of 
discontinuity between flap and aileron 
a= distance from discontinuity to tip 
b= distance from BL 0 to discontinuity

THETA=3.1416(yi-yinbd))/(2L) 
^Ib (faired)^0^-^^ ave) (ABS(COS(THETA) )+cc^ ave

where THETA= angle used in Cosine function to fair 
y,= Butt Line of an element

yinbd= ydisc^ 
y(ji,g-= Butt Line at discontinuity of flap & aileron

cCjib ave= ave element lift at discontinuity

Tau is a correction factor for the slope of the lift curve 
of the wing to account for the deviation of the wing plan form 
from an ellipse. Tau is a required input to AIRLOADS.BAS. A sepa- 
rate program TAU.BAS is provided to calculate Tau per ANC1(1) 
"Spanwise Air Load Distribution", Army-Navy-Commerce Committee on 
Aircraft Requirements, 1938.

Sweepback

AIRLOAD4.BAS is a supplemental program on your program disk 
which should be used in place of AIRLOADS.BAS to calculate aero 
coefficients when sweepback (of 25 percent chord) is greater than 
15 degrees.

102

AERODYNAMIC COEFFICIENTS & AIRLOADS

AIR LOADS

The airplane less tail equations, weight-cg data, structural 
speeds  and surface geometry will be entered into the  next  pro- 
gram, FLTLOADS.BAS, to calculate data for every condition on  the 
V-n  diagrams.  For each condition, the C^ for the wing  and  the 
speed  of  the airplane will be calculated by that  program.  The 
critical  wing conditions will be selected by the following  pro- 
gram,   SELECT.BAS.  THEN  you  will  return  to  this   program, 
AIRLOADS.BAS.

With the CL and V known for a specific condition, the actual 
wing  air loads can be calculated by AIRLOADS.BAS.  The  spanwise 
airload  distributions  for lift, drag and  pitching  moment  are 
calculated.  Then  the  shear, bending moments  and  torsion  are 
calculated along the quarter chord on the wing reference plane in 
the airplane coordinates.

Accelerated Rolling Condition

According  to FAR 23.249(a) the rolling  acceleration  loads 
may be obtained by modifying the symmetrical condition for condi- 
tion A in the figure of FAR 23.333(d) which is the condition  for 
stalling  speed  at  limit load factor. For  normal  and  utility 
category airplanes assume 100 percent of the airload of condition 
A  on one side of the airplane and 70 percent on the  other.  For 
airplanes of more than 1000 pounds design weight, the  percentage 
may  be increased linearly with weight up to 75 percent at  12500 
pounds.  (For  acrobatic category use 60  percent  regardless  of 
weight.)

In the sample calculation to follow for accelerated roll, we 
found the bending moment at the plane of symmetry for condition A 
(case  262) is 324,050 inch pounds. We used case 262 because  the 
critical  condition  for accelerated roll was case 280  at  18000 
foot altitude and CG 4 as selected by the program SELECT.BAS  and 
case 262 is condition A for CG 4 at 18000 feet altitude.

Using  the  formula  for percentage on  the  other  side  we 
calculate the other side is 71.43 percent or 231,469 inch pounds. 
Then  the unbalanced moment accelerating the roll is  92581  inch 
pounds.

At this point we will  calculate the airloads for  condition 
280.  Later  the reacting moments to unbalanced moments  will  be 
calculated by the wing inertia program, WINGINER.BAS.

Steady Rolling (maximum outboard torsion) Condition

According   to   FAR  23.349(b)  the   effect   of   aileron 
displacement  on wing torsion may be accounted for by adding  .01 
times  the  aileron  deflection  to  the  basic  airfoil   moment

103

FAR 23 LOADS

coefficient over the aileron portion of the span in the  critical

condition in 23.333(d). The aileron deflections are specified  in 
FAR 23.455.

For  conventional ailerons the deflection at maneuver  speed 
is  the full deflection. For deflections at V^ the deflection  is 
Vp/V^  times  the  deflection at Vp. For deflections  at  V^  the 
deflection  is .5 times Vp/V^. This is the FAA interpretation  as 
expressed in CAM 3.222(b)T3).

In our sample the critical steady roll condition selected by 
program SELECT.BAS is case 138 which is for CG 1 at V^ at  12,000 
feet   altitude.   Then  the  deflection  of   the   aileron   is 
(15)V /V^=15(121.3/170)=10.703 deg.

The increment of pitching moment coefficient to be added  to 
the  basic  airfoil coefficient is  -.01(10.703)=-.107.  This  is 
added  to  the -.03 for the basic airfoil for c^ = -.137  in  the 
area of the aileron.

Sweepback

AIRLOAD4.BAS is a supplemental program on your program  disk 
which  should be used in place of AIRLOADS.BAS to calculate  air-
loads  when  sweepback (of 25 percent chord) is greater  than  15 
degrees.

High Mach Numbers

AIRLOAD4.BAS is a supplemental program on your program  disk 
which  should be used in place of AIRLOADS.BAS to  calculate  air 
loads when any Mach number is greater than Mach .5.

(Note: Either AIRLOADS.BAS or AIRLOAD4.BAS may be used to  calcu- 
late aero coefficients when sweepback is less than 15 degrees but 
then  AIRLOAD4.BAS should be used to calculate airloads  if  Mach 
number is greater than .5).

104

AERODYNAMIC COEFFICIENTS & AIRLOADS

3 REM-

4 REM

5 REM-

HEADING, COPYRIGHT, MAIN PROGRAM

'FLAPS 35 DEGREES' OR

9  CLS

10 PRINT "WING AIRLOADS PROGRAM---AIRLOADS.BAS, VERSION 2.2"

20 PRINT "(C) COPYRIGHT HAL C. MCMASTER, 1988, 1990, 1993"

25 CLEAR 1000:H=100

26 DIM L(H).D(H),ML(H),LZ(H),DX(H),XF(H),XA(H),CE(H)

27 DIM MO(H),CLA1(H),CCLA1(H),CX25(H+1),C50X(H)

28 DIM CD(H),A(H),AI(H),CID(H),CM(H),ZCOEFM(H),X(40),Y(40)

29 DIM SZ(H+1),MXX(H),TYY(H),SX(H+1),MZZ(H),TVYY(H),Z(H),TRQ(H),

TMYY(H) 
30 PRINT:PRINT "ENTER CONFIGURATION SUCH AS

CRUISE' WITHOUT QUOTES" 
35 LINE INPUT C$ 
50 PRINT "WILL NOW CALCULATE WING GEOMETRY"

55 INPUT "IS PRINTER READY ";QP$:QP$=LEFT$(QP$,1) 
57 IF QP$0"Y" THEN 55

60 LPRINT CHR$(27)CHR$(78)CHR$(6):REM   TO SKIP OVER PERFORATIONS 
65 LPRINT CHR$(27)"1"CHR$(3):REM   TO SET LH MARGIN

67 LPRINT TAB(20)"WING SPANWISE AERO COEFFICIENT DISTRIBUTIONS"

68 LPRINT TAB(20)C$

70 LPRINT:LPRINT "WING GEOMETRY CALCULATIONS"

80 LPRINT "---- -------- -------------

90 GOSUB 310

100 PRINT "WILL NOW CALCULATE ADDITIVE LIFT DISTRIBUTION"

110 LPRINT CHR$(12):LPRINT:LPRINT "ADDITIVE LIFT DISTRIBUTION"

120 LPRINT "------- --- ------------

130 GOSUB 950

140 PRINT "WILL NOW CALCULATE BASIC LIFT DISTRIBUTION" 
150 LPRINT CHR$(12):LPKI NT:LPRINT "BASIC LIFT DISTRIBUTION" 
160 LPRINT "---- --- ----------" 
170 GOSUB 1310

180 PRINT:INPUT "DO YOU WANT TO CALCULATE STALL CL";AN$ 
190 LPRINT CHR$(12):REM TO TOP OF NEXT PAGE 
200 AN$=LEFT$(AN$,1) 
210 IF AN$="Y" THEN GOTO 230 
220 IF AN$="N" THEN GOTO 250 
230 PRINT "WILL NOW CALCULATE STALL CL" 
240 GOSUB 2010

250 PRINT:PRINT "WILL NOW CALCULATE LIFT, DRAG AND MOMENT COEFFICIENT 
AND LOAD (OPTIONAL) DISTRIBUTIONS FOR WING"

260 GOSUB 2530 
270 PRINT:PRINT "WILL NOW CALCULATE LIFT, DRAG AND MOMENT CURVES FOR

AIRPLANE LESS TAIL":LPRINT CHR$(12) 
280 GOSUB 3420

290 REM    AA$=WANT ANOTHER CL FOR SPAN DIST? REF 3370 
300 END 
303 REM--------------------------------------------------------------

304 REM          CALCULATE WING GEOMETRY

305 REM-----------------------------------------------

310 PRINT "SUBROUTINE TO CALCULATE WING GEOMETRY"

320 INPUT "HOW MANY POINTS DEFINE THE LEADING EDGE";M$:M=VAL(M$):IF 
M<2 OR M>100 THEN GOTO 320

105

FAR 23 LOADS

330 LPRINT:LPRINT M;" POINTS DEFINE THE LEADING EDGE"

340 DIM XLE(M),YLE(M)

350 LPRINT "LEADING EDGE COORDINATES"

360 LPRINT "I","XLE","YLE"

370 FOR 1=1 TO M

380 INPUT "ENTER COORDINATES OF LEADING EDGE STARTING AT INBOARD (XLE,

YLE)";XLE(I),YLE(I)

390 LPRINT I,XLE(I),YLE(I)

400 NEXT I

410 LPRINT:LPRINT:INPUT "HOW MANY POINTS DEFINE THE TRAILING EDGE";N$

420 N=VAL(N$):IF N<2 OR N>100 THEN.GOTO 410

430 LPRINT N;" POINTS DEFINE THE TRAILING EDGE"

440 DIM XTE(N),YTE(N)

450 LPRINT "TRAILING EDGE COORDINATES"

460 LPRINT "I","XTE","YTE"

470 FOR 1=1 TO N

480 INPUT "ENTER COORDINATES OF TRAILING EDGE STARTING AT INBOARD

(XTE

,YTE)";XTE(I),YTE(I) 
490 LPRINT I,XTE(I),YTE(I) 
500 NEXT I 
510 LPRINT:LPRINT:INPUT "THE WING IS DIVIDED INTO HOW MANY ELEMENTS

OF DY";H$

520 H=VAL(H$):IF H<2 OR H>100 THEN GOTO 510 
530 LPRINT "THE WING IS DIVIDED INTO ";H;" ELEMENTS OF DY" 
540 DIM YE(H+1),KCL(H),CPD(H):DY=(YLE(M)-YLE(1))/H:YE(1)=YLE(1)+DY/2 
550 FOR L=2 TO H 
560 YE(L)=YE(L-1)+DY 
570 NEXT L 
590 FOR J=1 TO H 
600 IF M>2 THEN GOTO 630

610 XF(J)=(XLE(2)-XLE(1))*(YE(J)-YLE(1))/(YLE(2)-YLE(1))+XLE(1) 
620 GOTO 670 
630 FOR 1=1 TO (M-1)

640 IF YE(J)<YLE(I) OR YE(J)>YLE(1+1) THEN 660 
650 XF(J)=(XLE(I+1)-XLE(I))*(YE(J)-YLE(I))/(YLE(1+1)-YLE(I))+XLE(I) 
660 NEXT I

670 IF N>2 THEN GOTO 700

680 XA(J)=(XTE(2)-XTE(1))*(YE(J)-YTE(1))/(YTE(2)-YTE(1))+XTE(1) 
690 GOTO 740 
700 FOR K=1 TO (N-1)

710 IF YE(J)<YTE(K) OR YE(J)>YTE(K+1) THEN 730 
720 XA(J)=(XTE(K+1)-XTE(K))*(YE(J)-YTE(K))/(YTE(K+1)-YTE(K))+XTE(K) 
730 NEXT K 
740 NEXT J

750 A=0:SC2=0:SAYE=0:SBARXC=0 
770 FOR L=1 TO H

780 CE(L)=XA(L)-XF(L):DA=CE(L)*DY:A=A+DA:C2DY=CE(L)-2*DY 
790 CX25(L)=XF(L)+.25*CE(L):C50X(L)=XF(L)+.5*CE(L) 
800 SC2=SC2+C2DY:ZDAYE=DA*YE(L):SAYE=SAYE+ZDAYE 
810 DBARXC=DA*(XF(L)+XA(L))/2:SBARXC=SBARXC+DBARXC 
820 NEXT L

830 LPRINT "ELEMENT","YE","CE" 
840 FOR 1=1 TO H

106

 AERODYNAMIC COEFFICIENTS & AIRLOAD3

850 LPRINT I,YE(I),CE(I)

860 NEXT I

870 XBAR=SBARXC/A:YBAR=SAYE/A:MAC=SC2/A

880 ZAR=YLE(M)-2*4/(2*A)

890 B=2*YLE(M)

900 XMACLE=XBAR-MAC/2

910 MAC$="^#^##.# w.### w.^# ###.### >.m #^#.##^ w

 ##.^#^#"

920 LPRINT:LPRINT "AREA      MAC YBAR XLE(MAC) ASPECT SPAN 
 NUMBER DY"

921 LPRINT "TOTAL RATIO TOTAL ELEM

ENTS"

930 LPRINT USING MAC$;2*A;MAC;YBAR;XMACLE;ZAR;B;H;DY

940 RETURN

943 REM---------------------------------------------------------------

944 REM          CALCULATE ADDITIVE LIFT DISTRIBUTION

945 REM----------------------------------------------------------------

950 PRINT:PRINT "SUBROUTINE TO CALCULATE ADDITIVE LIFT DISTRIBUTION"

970 PRINT "ASSUME THAT SLOPE OF LIFT CURVE VARIES LINEARLY BETWEEN SEL

ECTED WING STATIONS"

980 INPUT "HOW MANY WING STATIONS DO YOU SELECT";NO$

990 NO=VAL(NO$):IF N0<2 OR N0>300 THEN GOTO 980

1000 PRINT "ENTER EACH SELECTED WING STATION AND ITS SLOPE OF LIFT CUR

VE STARTING AT INBOARD"

1010 LPRINT "SELECTED WING STATIONS AND THEIR SLOPES OF LIFT CURVE"

1020 LPRINT "WING STA","SLOPE OF LIFT CURVE"

1030 FOR 1=1 TO NO

1040 INPUT "WING STATION, SLOPE CL/DEG";WS(I),M(I)

1050 LPRINT WS(I),M(I)

1060 NEXT I

1070 FOR J=1 TO H

1080 IF N0>2 THEN GOTO 1110

1090 MO(J)=(YE(J)-WS(1))*(M(2)-M(1))/(WS(2)-WS(1))+M(1)

1100 GOTO 1150

1110 FOR 1=1 TO NO-1

1120 IF YE(J)<WS(I) OR YE(J)>WS(1+1) THEN GOTO 1140

1130 MO(J)=(YE(J)-WS(I))*(M(1+1)-M( I))/(WS(1+1)-WS(I))+M(I)

1140 NEXT I

1150 NEXT J

1160 SMOCDY=0

1170 FOR J=1 TO H

1180 SMOCDY=SMOCDY+MO(J)*CE(J)*DY

1190 NEXT J

1200 BARMO=SMOCDY/A:S=2*A:S6=0

1210 FOR K=1 TO H

1220 CCLA1(K)=.5*(MO(K)*CE(K)/BARMO+(4*S/(3.1416*B))*SQR(1-(2*YE(K)/B)

-2))

1230 CLA1(K)=CCLA1(K)/CE(K):S6=S6+CCLA1(K)*DY

1240 NEXT K

1250 CHECKCL1=S6/A

1260 LPRINT:LPRINT "ELEM","YE","CC(LA1)","C(LA1)";" FOR CL=";CHECKCL1

1270 FOR 1=1 TO H

1280 LPRINT I,YE(I),CCLA1(I),CLA1(I)

1290 NEXT I

107

FAR 23 LOADS

1300 RETURN

1303 REM----------------------- -----------------------------------

1304 REM          CALCULATE BASIC LIFT DISTRIBUTION           . .

1305 REM------------------------------------------------------

1310 PRINT:PRINT "SUBROUTINE TO CALCULATE BASIC LIFT DISTRIBUTION" 
1320 PRINT "ASSUME THAT ANGLES FROM WATERLINE UP TO SECTION ZERO LIFT 
LINES VARY LINEARLY BETWEEN SELECTED WING STATIONS (-SECTION ZERO LIFT 
ANGLE + WING INCIDENCE + TWIST)" 
1330 INPUT "HOW MANY WING STATIONS DO YOU SELECT";NN$ 
1340 NN=VAL(NN$):IF NN<2 OR NN>100 THEN 1330 
1350 PRINT "ENTER EACH WING STATION .AND ITS ANGLE FROM WL STARTING AT

INBOARD"

1360 DIM REFANG(H),RANG(NN),ZWS(NN)

1370 LPRINT:LPRINT "SELECTED WING STATIONS AND THEIR ANGLES FROM WL TO 
SECTION ZERO LIFT LINE" 
1380 LPRINT "I","WING STA","ANGLE" 
1390 FOR 1=1 TO NN

1400 INPUT "WING STATION,ANGLE FROM WL";ZWS(I),RANG( I) 
1410 LPRINT I,ZWS(I),RANG(I) 
1420 NEXT I 
1430 FOR J=1 TO H 
1440 IF NN>2 GOTO 1460 
1450 REFANG(J)=(YE(J)-ZWS(1))*(RANG(2)-RANG(1))/(ZWS(2)-ZWS(1))+RANG(1

)

1460 FOR 1=1 TO NN-1

1470 IF YE(J)<ZWS(I) OR YE(J)>ZWS(1+1) THEN GOTO 1490

1480 REFANG(J)=(YE(J)-ZWS(I))*(RANG(I+1)-RANG(I))/(ZWS(I+1)-ZWS(I))+RA

NG(I)

1490 NEXT I

1500 NEXT J

1510 WSUM=0:XSUM=0

1520 FOR L=1 TO H

1530 WCEARMO=CE(L)*REFANG(L)*MO(L)*DY

1540 WSUM=WSUM+WCEARMO

1550 XCEMO=CE(L)*MO(L)*DY

1560 XSUM=XSUM+XCEMO

1570 NEXT L

1580 AWO=WSUM/XSUM

1590 LPRINT:LPRINT "AWO=";AWO

1600 DIM AO(H),FCLB(H),VCCLB(H)

1610 LPRINT:LPRINT "ELEM REF ANGLE      Ao     CClb     Clb"

1620 BD$="### ##.^### #^.##### #^.^#^# #.#^##"

1630 FOR 1=1 TO H

1640 AO(I)=REFANG(I)-AWO

1650 FCLB(I)=AO(I)*MO(I)/2

1660 VCCLBfI)=CE(I)*FCLB(I)

1670 LPRINT USING BD$;I;REFANG(I),AO(I),VCCLB(I),FCLB(I)

1680 NEXT I

1690 LPRINT:INPUT "WHAT IS WING STATION OF DISCONTINUITY BETWEEN FLAP

AND AILERON (ENTER 0 FOR NO DISCONTINUITY)";YDIS$

1700 YDIS=VAL(YDIS$):IF YDIS<0 OR YDIS>300 THEN GOTO 1690

1710 IF YDIS=0 THEN LPRINT "THERE IS NO DISCONTINUITY BETWEEN FLAP AND

AILERON" 
1720 IF YDISoO THEN LPRINT "WING STATION OF DISCONTINUITY BETWEEN FLA

108

 AERODYNAMIC COEFFICIENTS & AIRLOADS

P AND AILERON IS ";YDIS

1730 DIM UCLB(H)

1740 IF YDIS=0 THEN GOTO 1870

1750 IF (B/2-YDIS)>YDIS THEN GOTO 1780

1760 L=YDIS/2

1770 GOTO 1790

1780 L=(B/2-YDIS)/2

1790 YLIN=YDIS-L

1800 YZLOB=YDIS+L

1810 LPRINT "L=DISTANCE PAIRED ON BOTH SIDES OF DISCONTINUITY = ";L

1820 S7=0

1830 FOR 1=1 TO H-1

1840 IF YE(I)<=YDIS AND YE(1+1)=>YDIS THEN GOTO 1850 ELSE GOTO 1860

1850 AVECLB=(VCCLB(I)+VCCLB(I+1))/2

1860 NEXT I

1870 LPRINT:LPRINT "ELEM     CC(lb) C(lb) PAIRED"

1875 BE$="#ft#     +^.m##     +#.##W

1880 FOR 1=1 TO H

1890 IF YDIS=0 THEN UCLB(I)=FCLB(I)

1900 IF YDIS=0 THEN GOTO 1950

1910 IF YE(I)<YLIN OR YE(I)>YZLOB THEN GOTO 1940

1920 THETA=3.1416*(YE(I)-YLIN)/(2*L)

1930 VCCLB(I)=(VCCLB(I)-AVECLB)*ABS(COS(THETA))+AVECLB

1940 UCLB(I)=VCCLB(I)/CE(I)

1950 LPRINT USING BE$;I,VCCLB(I),UCLB(I)

1960 S7=S7+VCCLB(I)*DY

1970 NEXT I

1980 BCHECK=S7/A

1990 LPRINT:LPRINT "BCHECK=";INT(10000*BCHECK)/10000:LPRINT

2000 RETURN

2003 REM-------------------------------------------------------

2004 REM          CALCULATE STALL CL

2005 REM----------- -.--------------------------------------.------

2010 LPRINT:PRINT "SUBROUTINE TO CALCULATE STALL CL" 
2020 LPRINT "STALL CALCULATIONS" 
2030 LPRINT "---- ---------"

2040 PRINT "ASSUME MAXCL VARIES LINEARLY BETWEEN SELECTED WING STATION 
S"

2050 INPUT "HOW MANY WING STATIONS DO YOU SELECT";MR$ 
2060 MR=VAL(MR$):IF MR<2 OR MR>100 THEN GOTO 2050

2070 LPRINT:LPRINT "SELECTED WING STAS , 2 CLMAXS & REYNOLDS NOS. AND 
CHORD" 
2080 LPRINT: LPRINT "WING STA  CLMAX1  RN1         CLMAX2  RN2

CHORD"

2090 PRINT "ENTER EACH SELECTED WING STATION AND ITS FIRST CLMAX AND R 
N, ITS SECOND CLMAX AND RN AND ITS CHORD STARTING AT INBOARD" 
2100 DIM WWS(MR),C1LMAX(MR),R1N(MR) ,C2LMAX(MR),R2N(MR),AA(MR),C3LMAX(M 
R),R3N(MR),CHERD(MR) 
2110 FOR 1=1 TO MR

2120 INPUT "WS,C1LMAX,R1N,C2LMAX,R2N,CHORD";WWS(I),C1LMAX(I),R1N( I ) , C2 
LMAX(I),R2N(I),CHERD(I)

2130 ST$="+W.###  +#.M  +M##M,  +ft.###   WWft^,   ###.#^#" 
2140 LPRINT USING ST$;WWS( I ) , C1LMAX( I) , R1N( I ) , C2LMAX( I) , R2N( I) ,CHERD( I 
)

109

FAR 23 LOADS

2150 AA(I)=(LOG(C1LMAX(I))/LOG(10)-LOG(C2LMAX(I))/LOG(10))/(LOG(R1N(I)

)/LOG(10)-LOG(R2N(I))/LOG(10))

2160 R3N(I)=6380*70*1.467*CHERD(I)/12

2170 C3LMAX(I)=C2LMAX(I)*(R3N(I)/R2N(I))-AA(I)

2180 NEXT I

2190 LPRINT:LPRINT "FOR 70 MPH"

2200 FOR 1=1 TO MR

2210 LPRINT "I=";I, "R3N(I)=";R3N(I),"C3LMAX(I)=";C3LMAX(I)

2220 NEXT I

2240 FOR J=1 TO H

2250 IF MR>2 THEN GOTO 2280

2260 CM(J)=(YE(J)-WWS(1))*(C3LMAX(2)-C3LMAX(1))/(WWS(2)-WWS(1))+C3LMAX

(1)

2270 GOTO 2320

2280 FOR 1=1 TO MR-1

2290 IF YE(J)<WWS(I) OR YE(J)>WWS(1+1) THEN GOTO 2310

2300 CM(J)=(YE(J)-WWS(I))*(C3LMAX(I+1)-C3LMAX(I))/(WWS(1+1)-WWS(I))+C3

LMAX(I)

2310 NEXT I

2320 NEXT J

2330 LPRINT:LPRINT "CL MAX (STALL) FOR EACH ELEMENT":LPRINT"J","YE(J)"

,"ELEMENT CL MAX"

2340 FOR J=1 TO H

2350 LPRINT J,YE(J),CM(J)

2360 NEXT J

2370 PRINT "PLEASE WAIT"

2380 QCL=.2:STALLCL=0

2390 FOR J=1 TO H

2400 KCL(J)=UCLB(J)+QCL*CLA1(J)

2410 IF KCL(J)=>CM(J) THEN STALLCL=QCL

2420 NEXT J

2430 IF STALLCL>.2 THEN GOTO 2460

2440 QCL=QCL+.01

2450 GOTO 2390

2460 LPRINT:LPRINT "WING STALL CL DISTRIBUTION"

2470 LPRINT "WING STALL CL = ";QCL

2480 LPRINT "J","YE(J)","CL(J)"

2490 FOR J=1 TO H

2500 LPRINT J,YE(J),KCL(J)

2510 NEXT J

2520 RETURN

2530 PRINT "SUBROUTINE FOR WING SPANWISE COEFFICIENT DISTRIBUTIONS"

2533 REM------------------------------------------------------------

2534 REM     CALCULATE SPANWISE COEFFICIENT DISTRIBUTIONS AND/OR LOADS

2535 REM-------------------------------------------------------------

2540 AA$="":REM   REF 3380

2560 INPUT "WHAT IS TAU? REF PEERY P 244";TAU$

2570 TAU=VAL(TAU$):IF TAU<0 OR TAU>1 THEN 2560

2580 LPRINT CHR$(12):LPRINT:LPRINT "WING AERO COEFFICIENT DISTRIBUTION

S"

2590 LPRINT"---- ---- ----------- --------------

2600 LPRINT "TAU = ";TAU

2610 INPUT "FOR WHAT CL DO YOU WANT WING COEFFICIENT DISTRIBUTIONS";QC

L

110

AERODYNAMIC COEFFICIENTS & AIRLOADS

2620 MM=(BARMO*57.3)/(!+((BARMO*57.3)/(3.1416*ZAR))*(1+TAU))

2630 ALPHA=QCL/(MM/57.3)

2640 FOR J=1 TO H

2650 KCL(J)=UCLB(J)+QCL*CLA1(J)

2660 A(J)=ALPHA-AWO+REFANG(J)

2670 AI(J)=A(J)-KCL(J)/MO(J)

2680 CID(J)=KCL(J)*AI(J)/57.3

2690 NEXT J

2700 IF AA$="Y" THEN GOTO 3090

2710 PRINT "ASSUME PROFILE DRAG VARIES LINEARLY BETWEEN SELECTED WING

STATIONS"

2720 INPUT "HOW MANY WING STATIONS DO YOU SELECT, NOT MORE THAN 10 STA

TIONS";MZ$

2730 MZ=VAL(MZ$):IF MZ<2 OR MZ>10 THEN 2720

2740 PRINT "ENTER EACH SELECTED WING STATION AND ITS CDO"

2750 LPRINT:LPRINT "SELECTED WING STATIONS AND THEIR PROFILE DRAG COEF

FICIENTS"

2760 FOR 1=1 TO MZ

2770 INPUT "WING STATION,CDO";WIS(I),COD(I)

2780 ZWS$="##     +^#.m     +.^#ft##"

2790 LPRINT USING ZWS$;I,WIS(I),COD(I)

2800 NEXT I

2810 FOR J=1 TO H

2820 IF MZ>2 THEN GOTO 2850

2830 CPD(J)=(YE(J)-WIS(1))*(COD(2)-COD(1))/(WIS(2)-WIS(1))+COD(1)

2840 GOTO 2890

2850 FOR 1=1 TO MZ-1

2860 IF YE(J)<WIS(I) OR YE(J)>WIS(1+1) THEN GOTO 2880

2870 CPD(J)=(YE(J)-WIS(I))*(COD(1+1)-COD(I))/(WIS(1+1)-WIS(I))+COD(I)

2880 NEXT I

2890 NEXT J

2900 PRINT "ASSUME MOMENT COEFFICIENT VARIES LINEARLY BETWEEN SELECTED

WING STATIONS"

2910 INPUT "HOW MANY WING STATIONS DO YOU SELECT, NOT MORE THAN 10 STA 
TIONS";MC$

2920 MC=VAL(MC$) :IF MC<2 OR M010 THEN 2910 
2930 PRINT "ENTER EACH SELECTED WING STATION AND ITS SECTION MOMENT CO 
EFFICIENT"

2940 LPRINT:LPRINT "SELECTED WING STATIONS AND THEIR MOMENT COEFFICIEN 
TS"

2950 FOR 1=1 TO MC

2960 INPUT "WINGSTATION,MOMENT COEFFICIENT";STA(I),MMC(I) 
2970 LPRINT USING ZWS$;I, STA(I),MMC(I) 
2980 NEXT I 
3000 FOR J=1 TO H 
3010 IF MC>2 THEN GOTO 3040

3020 ZCOEFM(J)=(YE(J)-STA(1))*(MMC(2)-MMC(1))/(STA(2)-STA(1))+MMC(1) 
3030 GOTO 3080 
3040 FOR 1=1 TO MC-1

3050 IF YE(J)<STA(I) OR YE(J)>STA(1+1) THEN GOTO 3070 
3060 ZCOEFM(J)=(YE(J)-STA(I))*(MMC(I+1)-MMC(I))/(STA(I+1)-STA(I))+MMC( 
I)

3070 NEXT I 
3080 NEXT J

111

FAR 23 LOADS

3090 FOR J=1 TO H

3100 CD(J)=CPD(J)+CID(J)

3110 NEXT J

3120 LPRINT:LPRINT "SPANWISE AERO COFFICIENT DISTRIBUTIONS FOR CL = ";

QCL

3130 LPRINT "J";TAB(6)"CL";TAB(18)"CDI";TAB(30)"CPD";TAB(42)"CD";TAB(5

3)"CM"

3140 sp$="##    +#.#####    +.mm    +.mm +.ww   +.m> 
^"

3150 FOR J=1 TO H

3160 LPRINT USING SP$;J,KCL(J),CID(J),CPD(J),CD(J),ZCOEFM(J)

3170 NEXT J

3180 G1=0:G2=0:G3=0:G7=0

3190 FOR J=1 TO H

3200 G1=G1+KCL(J)*CE(J)*DY

3210 G2=G2+CD(J)*CE(J)*DY

3220 G3=G3+ZCOEFM(J)*CE(J)~2*DY

3230 G7=G7+CE(J)"2*DY

3240 NEXT J

3250 LPRINT

3260 LPRINT "AWO=ANGLE FROM WL TO WING ZERO LIFT LINE=";AWO

3270 LPRINT "ALPHA=ANGLE FROM RELATIVE WIND TO WING ZERO LIFT LINE=";A

LPHA

3280 ANRW2WL=ALPHA-AWO

3290 LPRINT "ANRW2WL = ANGLE FROM RELATIVE WIND TO WATERLINE = ";ANRW2

WL

3300 G4CLW=G1/A:LPRINT USING "CL(WING)=+#.####";G4CLW

3310 G5CDW=G2/A:LPRINT USING "CD(WING)=+#.#W;G5CDW

3320 G6CMW=G3/G7: LPRINT USING "CM(WING)=+#. M>" ;G6CMW

3330 INPUT "WOULD YOU LIKE AIRLOADS  (NOT AERO COEFFICIENT DISTRIBUTIO

N) FOR THIS CL";L$:L$=LEFT$(L$,1)

3340 IF L$="N" THEN GOTO 3370

3350 IF L$0"Y" AND L$0"N" THEN GOTO 3330

3360 IF L$="Y" THEN GOSUB 4500

3370 INPUT "DO YOU WANT SPANWISE DISTRIBUTIONS FOR ANOTHER CL";AA$

3380 AA$=LEFT$(AA$,1)

3390 IF AA$="Y" THEN LPRINT CHR$(12):GOTO 2610

3400 IF AA$o"N" THEN GOTO 3370

3410 RETURN

3420 PRINT "SUBROUTINE FOR  L,D & M COEFFICIENT CURVES FOR AIRPLANE LE

SS TAIL"

3423 REM-------------------------------------------------------------

3424 REM          CALCULATE AIRPLANE LESS TAIL COEFFICIENTS

3425 REM-----------------------------------------------------------

3430 LPRINT:LPRINT:LPRINT "AIRPLANE LESS TAIL AERO COEFFICIENTS" 
3440 LPRINT "------ --- ---- ---- ---------"

3450 INPUT "WHAT IS WIDTH AND LENGTH OF FUSELAGE IN FEET";WF,LF:LPRINT

"FUS WIDTH = ";WF;" FT     FUS LENGTH = ";LF;" FT" 
3460 INPUT "WHAT IS POSITION OF 1/4 ROOT CHORD ON FUSELAGE IN PER CENT 
";PC:LPRINT "ROOT OTR CHORD IS AT ";PC;" PERCENT OF FUS" 
3470 KF=3.338167E-03+4.358083E-05*PC+5.751194E-07*PC~2+1.850009E-07*PC 
"3

3480 REM   REF PERKINS AND HAGE EQ 5-30 & 5-31 
3490 S=2*A/144

112

AERODYNAMIC COEFFICIENTS & AIRLOADS

3500 INPUT "ENTER FACTOR TO MODIFY DCMF/DCL";FA

3501 REM   FA IS USED TO ADJUST SLOPE OF FUSELAGE PITCHING MOMENT COEF

FICIENT TO MATCH WIND TUNNEL OR OTHER AERODYNAMIC DATA IF DESIRED

3510 SLOPCM=FA*KF*WF~2*LF/(S*MAC*MM/12/57.3)

3520 INPUT "WHAT IS FUSELAGE FRONTAL AREA IN SQUARE FEET";AF

3530 LPRINT "FUSELAGE FRONTAL AREA = ";AF;" SQ FT"

3540 INPUT "WHAT IS ANGLE OF FUSELAGE CL FROM WL (NOSE DOWN IS NEG ANG

r c" \ 11 . THpTfl

3550'LPRINT "FUSELAGE ANGLE FROM WL TO FUS CL = ";THETA

3555 LPRINT "FACTOR TO ADJUST CM(FUS) PERKINS & HAIG EQ 5-31 TO MATCH

WINDTUNNEL DATA = ";FA

3560 AD=.105*AF:CFD=AD/S

3570 INPUT "WHAT IS TOTAL AREA OF HORIZONTAL + VERTICAL TAIL IN SQUARE

FEET";TA

3580 LPRINT "TOTAL HORIZONTAL & VERTICAL TAIL AREA = ";TA;" SQ FT" 
3590 AT=.012*2*TA 
3600 CTD=AT/S

3610 INPUT "ENTER MIN AND MAX CL FOR RANGE OF CL'S FOR CURVES (MINCL,M 
AXCL)";NEGST,ST

3620 INPUT "WHAT STEP IN CL'S DO YOU WANT";DELTA 
3630 LPRINT "RANGE OF CL'S = ";NEGST;" TO ";ST;" IN INCREMENTS OF ";DE 
LTA

3640 LPRINT "AWO = ANGLE FROM RELATIVE WIND TO WING ZERO LIFT LINE" 
3650 LPRINT:LPRINT "ANGLE(RW TO WL) CL(WING) CD(WING) CD(F+T) CD(A/P) 
CM(WING) CM(FUS) CM(W+F)" 
3670 G=0

3680 BB$="+ft.#####  -   +ft.##t#^ +.#m> +.##m +.#####  +.w#ft +.# 
w#  +.##^#"

3690 FOR QCL=NEGST TO ST STEP DELTA

3700 ALPHA=QCL/(MM/57.3)

3710 ANRW2WL=ALPHA-AWO

3720 FOR J=1 TO H

3730 KCL(J)=UCLB(J)+QCL*CLA1(J)

3740 A(J)=ALPHA-AWO+REFANG(J)

3750 AI(J)=A(J)-KCL(J)/MO(J)

3760 CID(J)=KCL(J)*AI(J)/57.3

3770 NEXT J

3780 FOR J=1 TO H

3790 CD(J)=CPD(J)+CID(J)

3800 NEXT J

3810 G1=0:G2=0:G3=0:G7=0

3820 FOR J=1 TO H

3830 G1=G1+KCL(J)*CE(J)*DY

3840 G2=G2+CD(J)*CE(J)*DY

3850 G3=G3+ZCOEFM(J)*CE(J)~2*DY

3860 G7=G7+CE(J)-2*DY

3870 NEXT J

3880 G4CLW=G1/A

3890 G5CDW=G2/A

3900 G6CMW=G3/G7

3910 U8CMFO=THETA*SLOPCM*(MM/57.3)

3920 G8CMF=SLOPCM*QCL

3930 G9CDF=CFD+CTD

3940 LPRINT USING BB$;ANRW2WL,G4CLW,G5CDW,G9CDF,G9CDF+G5CDW,G6CMW,G8CM

113

FAR 23 LOADS

F+U8CMFO, G6CMW+G8CMF+U8CMFO

3950 G=G+1

3960 Y(G)=G5CDW+G9CDF:X(G)=G4CLW

3970 NEXT QCL

3980 HH=G :NP=4: GOSUB 4090

3990 LPRINT:LPRINT:LPRINT:LPRINT "EQUATION FOR AERO COEFFICIENTS FOR A

IRPLANE LESS TAIL"'LPRINT

4000 EQCD$="CD=+ . #iw#+ . f#W^*CL+ . #ft^#*CL-2+ . MW*CL~3+ . ##ft##ft*C

L-4"

4010 LPRINT USING EQCD$;X(1),X(2),X(3),X(4),X(5)

4020 ElQCM$="CM=+.##W#+.^###ft#*CL"

4030 LPRINT USING E1QCM$;G6CMW+U8CMFO,SLOPCM

4040 M9=MM/57.3*AWO:M8=MM/57.3

4050 E2QCL$="CL=+#.#Wft#+.ft#####*ANGLE(RW TO WL)"

4060 LPRINT USING E2QCL$;M9,M8

4070 LPRINT "WHERE ANGLE(RW TO WL)=ANGLE MEASURED FROM RELATIVE WIND T

0 WATERLINE"

4072 M10=G6CMW+U8CMFO+SLOPCM*M9

4074 M11=SLOPCM*M8

4076 E3QCM$="CM=+.#W#ft+.#^#ftft*ANGLE(RW TO WL) "

4078 LPRINT USING E3QCM$;M10,M11

4080 RETURN

4083 REM----------------------------------------------------------------

4084 REM          CALCULATE CURVE TO FIT DATA

4085 REM---- --------------------------------

4087 DIM SX99(H+1)

4090 FOR J=0 TO NP*2

4100 FOR 1=1 TO HH

4110 SX99(J)=SX99(J)+X(I)"J

4120 NEXT I

4130 NEXT J

4140 FOR J=0 TO NP

4150 FOR 1=1 TO HH

4160 SYX(J)=SYX(J)+Y(I)*X(I)-J

4170 NEXT I

4180 NEXT J

4190 FOR 1=1 TO NP+1

4200 FOR J=1 TO NP+1

4210 A2(I,J)=SX99(I+J-2)

4220 NEXT J

4230 NEXT I

4240 FOR 1=1 TO NP+1

4250 A2(I,NP+2)=SYX(I-1)

4260 NEXT I

4270 N=NP+1

4280 GOSUB 4300

4290 RETURN

4300 FOR K=1 TO N-1

4310 B=A2(K,K)

4320 FOR J=K TO N+1

4330 A2(K,J)=A2(K,J)/B

4340 NEXT J

4350 FOR I=K+1 TO N

4360 B=A2(I,K)

114

AERODYNAMIC COEFFICIENTS & AIRLOADS

4370 FOR J=K TO N+1

4380 A2(I,J)=A2(I,J)-B*A2(K,J)

4390 NEXT J

4400 NEXT I

4410 NEXT K

4420 X(N)=A2(N,N+1)/A2(N,N)

4430 FOR K=N-1 TO 1 STEP -1

4440 X(K)=A2(K,N+1)

4450 FOR J=K+1 TO N

4460 X(K)=X(K)-A2(K,J)*X(J)

4470 NEXT J

4480 NEXT K

4490 RETURN

4493 REM--- ----------------

4494 REM          CALCULATE AIRLOADS FOR SPECIFIED CL AND V

4495 REM---------- ------------------------------------------------

4500 PRINT "SUBROUTINE TO CALCULATE AIRLOADS"

4520 INPUT "WHAT IS YOUR AIRPLANE SPEED IN KTS(EAS)";V$

4530 V=VAL(V$):IF V<0 OR V>800 THEN 4520

4540 LINE INPUT "ENTER DESCRIPTION OF CONDITION SUCH AS ---'CASE 25 C

OND MAN D' WITHOUT QUOTES   ";AIRL$

4550 LPRINT:LPRINT "AIRLOADS FOR ";AIRL$

4560 LPRINT "CL = ";QCL;"     V KTS(EAS) = ";V

4570 LPRINT "  J       Y       X      L      D    M"

4580 LD$="m  m.M +M^##  +#W  +#W+#W

4590 Q=V-2/295

4600 FOR J=1 TO H

4610 L(J)=KCL(J)*CE(J)*DY*Q/144

4620 D(J)=CD(J)*CE(J)*DY*Q/l44

4630 ML(J)=ZCOEFM(J)*CE(J)*DY*CE(J)*Q/144

4640 LZ(J)=L(J)*COS(AN/57.3)+D(J)*SIN(AN/57.3)

4650 DX(J)=D(J)*COS(AN/57.3)-L(J)*SIN(AN/57.3)

4660 LPRINT USING LD$;J;YE(J);CX25(J);LZ(J);DX(J);ML(J)

4670 NEXT J

4680 PRINT "NOW CALCULATING SHEAR, MOMENT AND TORSION ALONG 25 PERCENT

CHORD DUE TO LZ"

4700 SZ(H)=LZ(H):SZ=SZ(H):MXX(H)=0:MXX=MXX(H):TYY=0 
4710 FOR I=(H-1) TO 1 STEP -1 
4720 SZ=SZ+LZ(I) 
4730 SZ(I)=SZ 
4740 MXX=MXX+SZ(I+1)*DY 
4750 MXX(I)=MXX

4760 TYY=TYY-SZ(I+1)*(CX25(I+1)-CX25(I)) 
4770 TYY(I)=TYY 
4780 NEXT I 
4790 PRINT "NOW CALCULATING SHEAR, MOMENT AND TORSION ALONG 25 PERCENT

CHORD LINE DUE TO DX"

4800 INPUT "ENTER WL WING REF PLANE (25 % CHORD) AT PLANE OF SYMMETRY 
OF AIRPLANE";WL$

4810 WL=VAL(WL$):IF WL>200 OR WL<-200 THEN 4800 
4820 INPUT "ENTER SLOPE OF WING REF PLANE (DEG) ";SL$:SL=VAL(SL$): IF S 
L>25 OR SL<-10 THEN 4820 
4840 FOR 1=1 TO H 
4850 Z(I)=WL+TAN(SL/57.3)*YE(I)

115

FAR 23 LOADS

4860 NEXT I 
4870 LPRINT:LPRINT "WL WING REF PLANE AT PLANE OF SYMMETRY OF AIRPLANE

IS " " WL

4880 LPRINT "SLOPE OF WING REF PLANE (DIHEDRAL) IS ";SL 
4900 SX(H)=DX(H):SX=SX(H):YE(H+1)=YE(H):MZZ(H)=0:MZZ=MZZ(H) 
4910 FOR I=(H-1) TO 1 STEP -1 
4920 SX=SX+DX(I) 
4930 SX(I)=SX

4940 MZZ=MZZ+SX(I+1)*(YE(I+1)-YE(I) ) 
4950 MZZ(I)=MZZ

4960 TVYY=TVYY+SX(I+1)*(Z(I+1)-Z(I) ) 
4970 TVYY(I)=TVYY 
4980 NEXT I 
4990 PRINT "NOW CALCULATING TORSION ALONG 25 PERCENT CHORD LINE DUE TO

M"

5010 TRQ=0

5020 FOR I=H TO 1 STEP -1 
5030 TRQ=TRQ+ML(I) 
5040 TRQ(I)=TRQ 
5050 NEXT I

5060 PRINT "NOW ADDING TORSION COMPNENTS TOGETHER" 
5080 FOR 1=1 TO H

5090 TMYY(I)=TYY(I)+TVYY(I)+TRQ(I) 
5100 NEXT I

5110 PRINT "NOW PRINTING OUT LOADS, SHEARS AND MOMENTS ALONG 25 PERCEN 
T CHORD LINE"

5120 p$="+###.### +w.### +^##.^+####M####+##W +mm +w####

+#^#W +####ft"

5130 LPRINT:LPRINT" X Y Z FX FZ SX S 
Z MXX MYY MZZ" 
5140 FOR I=H TO 1 STEP -1

5150 LPRINT USING P$;CX25(I),YE(I),Z(I),DX(I),LZ(I),SX(I),SZ(I),MXX(I) 
,TMYY(I),MZZ(I) 
5160 NEXT I 
5170 RETURN

116

AERODYNAMIC COEFFICIENTS & AIRLOADS

8 REM----------------------------------------------------------------

10 PRINT "CALCULATION OF TAU PROGRAM --- TAU.BAS VERSION 1.0"

11 REM---------------------------------------------------------------

12 PRINT "(C) COPYRIGHT HAL C MCMASTER, 1990"

14 PRINT "TAU IS A CORRECTION FACTOR WHICH ACCOUNTS FOR THE DEVIATION 
OF THE WING PLANFORM FROM AN  ELLIPSE IN CALCULATING THE SLOPE OF THE 
LIFT CURVE OF THE WING."

15 PRINT:PRINT "TAPER RATIO IS THE WING CHORD AT THE TIP DIVIDED BY 
THE CHORD AT THE CENTER PLANE OF THE AIRPLANE ASSUMING THE LEADING 
AND TRAILING EDGE ARE EXTENDED TO THE TIP AND TO THE CENTER PLANE."

16 INPUT "ENTER THE TAPER RATIO OF THE WING ";TAPR

17 PRINT:PRINT "TIP RATIO IS THE SPANWISE WIDTH OF THE ROUNDED TIP 
DIVIDED BY THE SEMI-SPAN OF THE WING."

18 PRINT "A SQUARE TIP OR UNROUNDED TIP HAS A TIP  RATIO OF O."

19 INPUT "ENTER YOUR TIP RATIO ";TIPR

40 GOSUB 7000

41 CLS:PRINT:PRINT:PRINT TAB(5)"  TAPR";TAB(15)"  TIPR";TAB(26)"  TAU"

45 PRINT USING "    ##.###":TAPR;TIPR;TAU: END

7000 PRINT "SUBROUTINE TAU PER ANC1(1)"

7010 TAUO=.206209-1.26146*TAPR+3.05385*TAPR'2-2.8027*TAPR-3+.976801*

TAPR'4:REM  SQUARE TIP, TIP TO SPAN RATIO=0

7020 TAU1=.112203-.575843*TAPR+1.08306*TAPR-2-.696856*TAPR-3+.194241*

TAPR"4:REM  TIP TO SPAN RATIO=.1

7030 TAU2=.0302789+.0294027*TAPR-.470926*TAPR-2+.880983*TAPR~3-.394766

*TAPR-4:REM  TIP TO SPAN RATIO=.2

7040 TAU3=0: REM    TIP TO SPAN RATIO=1.0

7050 IF TIPR=0 THEN TAU=TAUO

7060 IF TIPR=.1 THEN TAU=TAU1

7070 IF TIPR=.2 THEN TAU=TAU2

7080 IF TIPR=1! THEN TAU=0

7090 IF TIPR>0 AND TIPR<.1 THEN TAU=TAUO+(TIPR-0)*(TAU1-TAUO)/.1

7100 IF TIPR>.1 AND TIPR<.2 THEN TAU=TAU1+(TIPR-.1)*(TAU2-TAU1)/.1

7110 IF TIPR>.2 AND TIPR<1! THEN TAU=TAU2+(TIPR-.2)*(TAU3-TAU2)/.8

7120 RETURN

117

FAR 23 LOADS

AIRFOIL SECTION DATA FOR BEACH BANANA

^ero lift

-1 deg for all 23000 airfoils, flap at 0 deg  **

-16 deg for all 23000 airfoils, flap at 40 deg

^zero lift = -ib deg ?or SL1L '-->UUL> airroiis, ri 
c^o = .01 for all 23000 airfoils, flap at 0 deg

-m 
dc^/da --

BL

0

0

0

0

46.5 
46.5 
46.5 
46.5

109.279 
109.279 
109.279 
109.279

201 
201

.04 for all 23000 airfoils, flap at 40 deg 
.03 for all 23000 airfoils, flap at 0 deg

-.45 for all 23000 airfoils, flap at 40 deg

f* *~

Cy= -.03 for all 23000 airfoils, flap at 0 deg 
c

.1075 for all 23000 airfoils, flap at any angle

t/c Percent

16.5

16.5

16.5

16.5

15.459 
15.459 
15.459 
15.459

14.053 
14.053 
14.053 
14.053

12 
12

Flap Deflection

0

0

40

40

0 
0

40 
40

0 
0

40 
40

RN

3x10" 
9x10 
3x10"

9x10

6

3xl06 
9x10" 
3x10" 
9x10"

3xl06 
9x10 
3x10" 
9x10"

3xl06 
9x10"

c! max * 
1.45

1.66 
2.36 
2.62

1.46 
1.68 
2.37 
2.64

1.48 
1.70 
2.44 
2.66

1.50 
1.74

AIRPLANE DATA

Fuselage width = 
Fuselage length = 
Fuselage frontal 
Total horizontal 
Wing root c/4 at 
Angle from WL to

3.833 ft. 
: 26.522 ft.

area = 17.231 sq. ft.

and vertical tail area = 51.785 sq. ft. 
31.8 percent of fuselage 
fuselage cord nose to tail cone = -.918 deg,

* Estimated and interpolated from figure 4.10 
Aerodynamics" by Dommasch, Sherby and Connolly

in "Airplane

**   Estimated from data in "Theory of Wing Sections" by Abbott 
and Von Doenhoff

118

LOADS AND BALANCING CALCULATIONS FOR FLIGHT ENVELOPE 
GENERAL

The  FLTLOADS.BAS  program computes all the loads  for  any

combination  of  airspeed  and  load factor  on and within  the

boundaries  of the flight envelopes specified in FAR  23.333  and 
FAR 23.345.

The  data  necessary  to make these  calculations  has  been 
provided  by  the  weights,   geometry,   aero  coefficients  and 
structural speeds programs.

The  points  or  conditions on the flight  envelope  of  FAR 
23.333  must  be calculated not only for each airspeed  and  load 
factor  but  for  each  altitude  up  to  the  maximum operating 
altitude.   For  single naturally aspirated engine airplanes with 
gross  weight of 6000 pounds or less,  dive speed of mach  .4  or 
less  and max operating altitude of 15000 feet or less,  the  FAA 
will  probably  accept sealevel loads only.  For other  airplanes 
with  maximum operating altitudes of 20,000 feet or  less,  three 
altitudes should be investigated -- sealevel,  shoulder  altitude 
and  max operating altitude.  For other airplanes with  operating 
altitudes   above   20,000  feet,   four  altitudes   should   be 
investigated,  to  include  20,000 feet where the  gust  formulas 
begin to taper.

For the flight envelope of FAR 23.345 for take-off, approach 
and landing, only sealevel need be investigated.

MENU

A menu is provided to choose the activity you want as 
follows:

1. Start new input

2. Read old input from disk

3. Save input on disk

4. Correct input

5. Make balancing calculations for flight conditions

6. Print input on paper

7. Save balancing calculations on disk

8. End program

START NEW INPUT

Input data required is entered by keyboard in response to 
questions on the monitor. Provisions are made to verify the data 
and make changes until data is correct.

INPUT FROM DISK

159

FAR 23 LOADS

Data previously saved by menu item 3 may be read into com- 
puter memory without retyping.

SAVE INPUT ON DISK

Input data which has been entered by keyboard or from disk

or that has been corrected may be saved on disk under new file 
name or over written on same file name.

CORRECT INPUT

This  subroutine  is not included in  the  current  version, 
Version 2.02. Corrections can be made by entering data again from 
the keyboard where changes can be made until data is correct.

You  can  correct the input data on your word  processor.  First, 
save your current input data to a disk file using menu action  3. 
Then load that file to your word processor as a non-document file 
(an  ASCII file). Make the changes using your word processor  and 
save the file to the same name. Then run the FLTLOADS.BAS program 
using the corrected data file.

BALANCING CALCULATIONS

The  airplane  is  balanced  at each  point  on  the  flight 
envelope  by  making  the  sum of moments of  all  loads  on  the 
airplane about its' center of gravity equal to zero.

An iteration process is used to accomplish this. For  condi- 
tions  with known speeds the aero coefficients are corrected  for 
compressibility effects due to speed and altitude. Then the angle 
of  attack is estimated and the total airplane load  factor,  N^, 
normal  to  the  airplane reference line is  calculated.  If  the 
calculated load factor N^ does not equal the required load factor 
for  the condition, the angle of attack is incremented until  the 
correct load factor is produced.

For conditions on the stall or C]_^^ line, the speed is  not 
known.  So a speed is estimated and the angle of attack is  found 
which produces the correct load factor by the process above.  The 
CL  for the wing is calculated from C^ = L^/(qS).  If the  C^  of 
the  wing is greater than the C^g^^LL' the ^Q^  is  incremented 
and  the process repeated until the correct load factor and  lift 
factor  are  attained. Each time the speed is changed,  the  aero 
coefficients  are  corrected for compressibility effects  due  to 
speed and altitude.

The  data for each point on the flight envelope is saved  in 
computer  memory  including the name of the condition,  the  case 
number, equivalent air speed, altitude, normal load factor, angle 
of  attack, compressibility factor, wing lift  coefficient,  wing

160

