示例#1
0
from Aircraft_Models.Adv2014Aircraft_AeroCats.MonoWing.Aircraft import Aircraft

Vstl = npy.linspace(30, 34, 5) * FT / SEC
LLO = npy.linspace(31, 36, 6) * LBF
Vplt = Vstl / (FT / SEC)

Aircraft.VmaxPlt = 100 * FT / SEC

Wing = Aircraft.Wing

pyl.figure(1)
lgnd = []
for l in LLO:
    grndroll = []
    for v in Vstl:
        Wing.V_Stall = v
        Wing.Lift_LO = l
        Aircraft.TotalWeight = l

        grndroll.append(Aircraft.Groundroll() / FT)

    pyl.plot(Vplt, grndroll)
    lgnd.append('L_LO = %2.0f (lbf)' % (l / LBF))

pyl.axhline(y=190, color='r')
pyl.title('Groundroll vs. Stall Velocity')
pyl.xlabel('Stall Velocity (ft/s)')
pyl.ylabel('Groundroll (ft)')
pyl.legend(lgnd, loc='best')

pyl.show()
示例#2
0
# The following line turns off unit checking. Make sure things are working before it is turned off
#
from os import environ as _environ; _environ["scalar_off"] = "off"


import numpy as npy
import pylab as pyl
from scalar.units import FT, SEC, LBF, MIN, IN
from Aircraft_Models.Adv2014Aircraft_AeroCats.MonoWing.Aircraft import Aircraft

pyl.figure(1)

#
# Get the design point
#
dsgnGR = Aircraft.Groundroll() / (FT)
dsgnCR = Aircraft.Rate_of_Climb(1.07*Aircraft.GetV_LO()) / (FT/MIN)
pyl.plot([dsgnCR],[dsgnGR],'ro', markersize = 8)

#
# Set up ranges
#
Vstl = npy.linspace(31,35,5)*FT/SEC
WT   = npy.linspace(30,34,5)*LBF
Vplt = Vstl / (FT/SEC)

lgnd = ['Design']
arealist = []

# Initialize data arrays
grndroll = npy.zeros((len(WT),len(Vstl)))
#VTail.Rudder.Fc = 0.5
#VTail.Rudder.Weight = 0.05*LBF * 2 # * 2 For symmetric vertical tail
#VTail.Rudder.SgnDup    = -1.0
#VTail.Rudder.Servo.Fc  = 0.3
#VTail.Rudder.Servo.Fbc = 0.1
#VTail.Rudder.Servo.Weight = 5*GRAM*gacc
#VTail.Rudder.Servo.Weight = 0.58 * OZF
#VTail.Rudder.Servo.Torque = 42*IN*OZM
#Set the sweep about the rudder hinge
#VTail.SweepFc = 1.0 - VTail.Rudder.Fc

if __name__ == '__main__':
    #    print 'Aircraft   V_LO     : ', AsUnit( Aircraft.GetV_LO(), 'ft/s')
    #    print 'Wing       V_LO     : ',  AsUnit( Aircraft.Wing.GetV_LO(), 'ft/s')
    #    print 'Wing       Area     : ',  AsUnit( Aircraft.Wing.S, 'in**2')
    print 'Ground Roll Distance: ', AsUnit(Aircraft.Groundroll(), 'ft')
    #    print 'HTail      Area     : ',    AsUnit( Aircraft.HTail.S, 'in**2')
    #    print 'HTail      VC       : ',     AsUnit( Aircraft.HTail.VC)
    #    print 'HTail      Span       : ',     AsUnit( Aircraft.HTail.b, 'in')
    #
    Aircraft.WriteAVLAircraft('AVL\AVLAircraft100.avl')
    #
    Aircraft.Draw()
    #
    #    Aircraft.PlotPolarsSlopes(fig=2)
    #    Aircraft.PlotCMPolars(3, (-10*ARCDEG, -5*ARCDEG, 0*ARCDEG, +5*ARCDEG, +10 * ARCDEG), XcgOffsets=(+0.02, -0.02))
    #    HTail.Draw2DAirfoilPolars(fig=4)
    #    Aircraft.PlotCLCMComponents(fig = 5, del_es = (-10*ARCDEG, -5*ARCDEG, 0*ARCDEG, +5*ARCDEG, +10 * ARCDEG))
    #
    pyl.show()