Esempio n. 1
0
BoxWing.UpperWing.SetWeightCalc(ACRibWing)
BoxWing.UpperWing.WingWeight.AddSpar("MainSpar",1.307*IN,1*IN)
BoxWing.UpperWing.WingWeight.MainSpar.SparMat = Balsa.copy()
#BoxWing.UpperWing.WingWeight.SparMat.LinearForceDensity = UsparFD + UDsparFD
BoxWing.UpperWing.WingWeight.SkinMat                    = Monokote.copy()
BoxWing.UpperWing.WingWeight.RibMat                     = BWRibMat
BoxWing.UpperWing.WingWeight.RibSpace                   = 4*IN
BoxWing.UpperWing.WingWeight.DrawDetail = True

#End Plate
BoxWing.EndPlate.SetWeightCalc(ACSolidWing)
BoxWing.EndPlate.WingWeight.AddSpar("MainSpar", 0.25*IN, 0.25*IN)
BoxWing.EndPlate.WingWeight.MainSpar.SparMat = Balsa.copy()
#BoxWing.EndPlate.WingWeight.SparMat.LinearForceDensity = 0.0025*LBF/IN
BoxWing.EndPlate.WingWeight.SkinMat                    = Monokote.copy()
BoxWing.EndPlate.WingWeight.WingMat                    = PinkFoam.copy()
BoxWing.EndPlate.WingWeight.WingMat.ForceDensity      *= 0.6


if __name__ == '__main__':
    import pylab as pyl
    
    print "V lift of   : ", AsUnit( BoxWing.GetV_LO(), "ft/s" )
    print "V stall     : ", AsUnit( BoxWing.V_Stall, "ft/s" )
    print "Wing Area   : ", AsUnit( BoxWing.S, "in**2" )
    print "Wing Span   : ", AsUnit( BoxWing.b, "ft" )
    print "Wing AR     : ", BoxWing.AR
    print "Wing MAC    : ", AsUnit( BoxWing.MAC(), "in" )
    print "Wing Xac    : ", AsUnit( BoxWing.Xac(), "in" )
    print "Wing dCM_da : ", BoxWing.dCM_da()
    print "Wing dCL_da : ", BoxWing.dCL_da()
#Set the sweep about the elevator hinge
HTail.SweepFc = 1.0 - HTail.Elevator.Fc

#
# Structural properties
# Spar taken as 1/8 inch width and thickness of the max thickness at the root
#
Basswood = Basswood.copy()
BWRibMat = Balsa.copy()
BWRibMat.Thickness = 3 / 32 * IN

#HTail.SetWeightCalc(ACRibWing)
#HTail.WingWeight.RibMat                    = BWRibMat
#HTail.WingWeight.RibSpace                  = 3 * IN
HTail.SetWeightCalc(ACSolidWing)
HTail.WingWeight.WingMat = PinkFoam.copy()
HTail.WingWeight.WingMat.ForceDensity *= 0.4

HTail.WingWeight.AddSpar("HMainSpar", 0.25 * IN, 0.5 * IN)
HTail.WingWeight.HMainSpar.SparMat = CarbonBar.copy()
HTail.WingWeight.SkinMat = Monokote.copy()

#==============================================================================
# Vertical tail
#
VTail = Aircraft.VTail
VTail.Airfoil = 'NACA0012'
VTail.VC = 0.040
VTail.AR = 1.95
VTail.TR = 0.7
VTail.Axis = (0, 1)
Esempio n. 3
0
# Rib material (1/8in balsa)
#
BWRibMat = Balsa.copy()
BWRibMat.Thickness = 0.125 * IN

#BoxWing.LowerWing.SetWeightCalc(ACRibWing)
#BoxWing.LowerWing.WingWeight.SparMat.LinearForceDensity = LsparFD + LDsparFD
#BoxWing.LowerWing.WingWeight.SkinMat                    = Monokote.copy()
#BoxWing.LowerWing.WingWeight.RibMat                     = BWRibMat
#BoxWing.LowerWing.WingWeight.RibSpace                   = 6*IN

BoxWing.LowerWing.SetWeightCalc(ACSolidWing)
BoxWing.LowerWing.WingWeight.AddTubeSpar("MainSpar", 0.75 * IN, 0.625 * IN)
BoxWing.LowerWing.WingWeight.MainSpar.SparMat = CarbonBar.copy()
BoxWing.LowerWing.WingWeight.SkinMat = Monokote.copy()
BoxWing.LowerWing.WingWeight.WingMat = PinkFoam.copy()
BoxWing.LowerWing.WingWeight.WingMat.ForceDensity *= 0.5

#BoxWing.UpperWing.SetWeightCalc(ACRibWing)
#BoxWing.UpperWing.WingWeight.SparMat.LinearForceDensity = UsparFD + UDsparFD
#BoxWing.UpperWing.WingWeight.SkinMat                    = Monokote.copy()
#BoxWing.UpperWing.WingWeight.RibMat                     = BWRibMat
#BoxWing.UpperWing.WingWeight.RibSpace                   = 6*IN

BoxWing.UpperWing.SetWeightCalc(ACSolidWing)
BoxWing.UpperWing.WingWeight.AddTubeSpar("MainSpar", 0.75 * IN, 0.625 * IN)
BoxWing.UpperWing.WingWeight.MainSpar.SparMat = CarbonBar.copy()
BoxWing.UpperWing.WingWeight.SkinMat = Monokote.copy()
BoxWing.UpperWing.WingWeight.WingMat = PinkFoam.copy()
BoxWing.UpperWing.WingWeight.WingMat.ForceDensity *= 0.5
Esempio n. 4
0
#

Wing.AddWinglet("Winglet", 5)
Winglet = Wing.Winglets.Winglet

Winglet.b = 6 * IN
Winglet.Airfoil = 'NACA0012'
Winglet.Lam = [0 * ARCDEG, 0 * ARCDEG]
Winglet.Gam = [0 * ARCDEG, 0 * ARCDEG]
Winglet.Fb = [0.3, 1]
Winglet.TR = [1.0, 1.0]
Winglet.SweepFc = 0
Winglet.Symmetric = True
Winglet.Axis = (0, -1)
Winglet.SetWeightCalc(ACSolidWing)
Winglet.WingWeight.WingMat = PinkFoam.copy()

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')

    # Write two avl input files of the aircraft
    # The first does not write the winglets
    # The second writes the main wing and its winglets
    # Currently, you must manually combine the two avl files into one with all the surfaces
    Aircraft.WriteAVLAircraft('AVL\AVLAircraft_winglets.avl')