home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / pool / plane.pas < prev    next >
Pascal/Delphi Source File  |  1990-09-29  |  4KB  |  111 lines

  1. PROGRAM PLANE(INPUT,OUTPUT);
  2. { PROGRAM TO CALCULATE  AIRPLANE PERFORMANCE
  3.   ACCORDING TO THE BOOK BY D.R.CRAWFORD A PRACTICAL GUIDE TO AIRPLANE
  4.   PERFORMANCE AND DESIGN, COPIED FROM FORTRAN TO PASCAL BY STEVE OLSON }
  5.  
  6.  
  7. VAR
  8.   LDMAX,WS,VS0,S,AR,C,BE,EAR,CE,WBE,AD,CD0,AD2,AD4,VMINS,THPM : REAL;
  9.   MP,RSMIN,AMAX1,DMIN,CLMINS,RCSTAR,DPF,VTIP,VPROP,TS : REAL;
  10.   VS1,CLMAX,CLMAXF,W,WU,B,E,BHP,VMAX,DP,RPM,ALT,DELV,WV2,FP :REAL;
  11.  
  12. BEGIN
  13.  
  14.  
  15. WRITE('STALL SPEED W/OUT FLAPS IN MPH    (VS1) =');
  16. READLN(VS1);
  17. WRITE('MAXIMUM LIFT COEFFICIENT  (CLMAX) =');
  18. READLN(CLMAX);
  19. WRITE('MAXIMUM LIFT COEFFICIENT WITH FLAPS (CLMAXF) =');
  20. READLN(CLMAXF);
  21. WRITE('GROSS WEIGHT IN LBS          (W)   =');
  22. READLN(W);
  23. WRITE('USEFUL LOAD IN LBS             (WU)  =');
  24. READLN(WU);
  25. WRITE('WINGSPAN  IN FT               (B)   =');
  26. READLN(B);
  27. WRITE('AIRPLANE EFFICIENCY FACTOR  (E) =');
  28. READLN(E);
  29. WRITE('BRAKE HORSEPOWER OF ENGINE IN HP (BHP) =');
  30. READLN(BHP);
  31. WRITE('DESIRED MAX LEVEL FLIGHT SPEED IN MPH (VMAX) =');
  32. READLN(VMAX);
  33. WRITE('PROPELLER DIAMETER IN INCHES      (DP) =');
  34. READLN(DP);
  35. WRITE('PROPELLER SPEED IN RPM         (RPM) =');
  36. READLN(RPM);
  37. WRITE('ALTITUDE IN FEET               (ALT) =');
  38. READLN(ALT);
  39.  
  40. {THIS IS WHERE THE CALCULATIONS BEGIN}
  41.  
  42. WS := CLMAX*VS1*VS1/391. ;
  43. VS0:=SQRT(WS*391./CLMAXF);
  44. S:=W/WS ;
  45.   AR:=B*B/S ;
  46. C:=B/AR;
  47. BE:= B*SQRT(E);
  48. EAR:=BE*BE/S ;
  49. CE:=S/BE ;
  50. WBE:=W/BE ;
  51. AD:=0.8*BHP*146625./(VMAX*VMAX*VMAX) ;
  52. CD0 := AD/S ;
  53. AD2:=SQRT(AD);
  54. AD4 := SQRT(AD2);
  55. VMINS := 11.29*SQRT(WBE)/AD4 ;
  56. THPM := 0.03922*AD4*WBE*SQRT(WBE);
  57. RSMIN := 33000.*THPM/W ;
  58. LDMAX := 0.8862*BE/AD2 ;
  59. DMIN := W/LDMAX ;
  60. CLMINS := 3.07*AD2/CE ;
  61. RCSTAR := 33000.*BHP/W ;
  62. DPF := DP/12.0 ;
  63. VTIP := RPM*DPF*0.05236 ;
  64. MP := VTIP/1100. ;
  65. VPROP := 41.9*EXP((1.0/3.0)*LN(BHP/DPF/DPF)) ;
  66. TS := 10.41*EXP((2.0/3.0)*LN(BHP*DPF))  ;
  67. WRITELN;
  68. WRITELN('INPUT QUANTITIES:   ');
  69. WRITELN;
  70. WRITELN('STALL SPEED WITHOUT FLAPS  = ',VS1:6:1,'  MPH');
  71. WRITELN('MAX LIFT COEFFICIENT       = ',CLMAX:6:3);
  72. WRITELN('MAX LIFT COEFF. W/FLAPS    = ',CLMAXF:6:3);
  73. WRITELN('GROSS WEIGHT               = ',W:6:0,'  LBS');
  74. WRITELN('USEFUL LOAD                = ',WU:6:0,'  LBS');
  75. WRITELN('WINGSPAN                   = ',B:6:2);
  76. WRITELN('AIRPLANE EFFICIENCY FACTOR = ',E:6:3);
  77. WRITELN('ENGINE BRAKE HORSEPOWER    = ',BHP:6:0,'  HP');
  78. WRITELN('MAXIMUM LEVEL SPEED        = ',VMAX:6:1,'  MPH');
  79. WRITELN('PROPELLER DIAMETER         = ',DP:6:1,'  INCHES');
  80. WRITELN('PROPELLER RPM              = ',RPM:6:0,'  RPM');
  81. WRITELN('ALTITUDE                   = ',ALT:6:0,'  FT');
  82.  
  83.  
  84. WRITELN;
  85. WRITELN('OUTPUT QUANTITIES DETERMINED FROM INPUT:');
  86. WRITELN;
  87. WRITELN('WING LOADING                         = ',WS:6:3,'  LB/FT2');
  88. WRITELN('STALL SPEED WITH FLAPS               = ',VS0:6:1,'  MPH');
  89. WRITELN('WING AREA                            = ',S:6:1,'  FT2');
  90. WRITELN('ASPECT RATIO                         = ',AR:6:2);
  91. WRITELN('CHORD                                = ',C:6:2,'  FT');
  92. WRITELN('EFFECTIVE ASPECT RATIO               = ',EAR:6:2);
  93. WRITELN('EFFECTIVE SPAN                       = ',BE:6:2,'  FT');
  94. WRITELN('EFFECTIVE CHORD                      = ',CE:6:2,'  FT');
  95. WRITELN('EFFECTIVE SPAN  LOADING              = ',WBE:6:2,'  LBS/FT2');
  96. WRITELN('DRAG AREA                            = ',AD:6:2,'  FT2');
  97. WRITELN('ZERO-LIFT DRAG COEFFICIENT           = ',CD0:6:3);
  98. WRITELN('AIRSPEED FOR MINIMUM SINK            = ',VMINS:6:1,'  MPH');
  99. WRITELN('MIN POWER FOR LEVEL FLIGHT           = ',THPM:6:2,'  HP');
  100. WRITELN('MINIMUM DRAG                         = ',DMIN:6:1,'  LB');
  101. WRITELN('MINIMUM SINK RATE                    = ',RSMIN:6:1,'  FPM');
  102. WRITELN('MAXIMUM LIFT-TO-DRAG RATIO           = ',LDMAX:6:2);
  103. WRITELN('LIFT COEFF AT MIN SINK               = ',CLMINS:6:2);
  104. WRITELN('MAX IDEAL CLIMB RATE                 = ',RCSTAR:6:1,'  FPM');
  105. WRITELN('REFERENCE PROP AIRSPEED .74 EFF      = ',VPROP:6:1,'  MPH');
  106. WRITELN('IDEALIZED STATIC THRUST              = ',TS:6:1,'  LBS');
  107. WRITELN('PROPELLER TIP MACH NUMBER            = ',MP:6:4);
  108. {$IPLANELST.PAS}
  109.  
  110. END.
  111.