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