HTail.Elevator.Servo.Torque = 94.4 * IN * OZM #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 = 1 / 8 * IN HTail.SetWeightCalc(ACRibWing) HTail.WingWeight.RibMat = BWRibMat HTail.WingWeight.RibSpace = 4 * IN HTail.WingWeight.SkinMat = Ultracote.copy() HTail.WingWeight.WeightGroup = 'HTail' HTail.WingWeight.AddSpar("MainSpar", 1 * IN, 1.25 * IN, (0.25, 1), 1.0, False) HTail.WingWeight.MainSpar.SparMat.LinearForceDensity = .008 * LBF / ( 1 * IN) # = Balsa.copy() HTail.WingWeight.MainSpar.Position = (0.45, 0.55) HTail.WingWeight.MainSpar.ScaleToWing = [False, False] HTail.WingWeight.MainSpar.WeightGroup = "HTail" HTail.WingWeight.AddSpar("LeadingEdge", 1 / 8 * IN, 1 / 4 * IN, (0.25, 1), 1.0, False) HTail.WingWeight.LeadingEdge.SparMat = Balsa.copy( ) #.LinearForceDensity = .008*LBF/(1*IN) HTail.WingWeight.LeadingEdge.Position = (0.45, 0.55) HTail.WingWeight.LeadingEdge.ScaleToWing = [False, False] HTail.WingWeight.LeadingEdge.WeightGroup = "HTail"
Fuselage.Nose.FrontBulk.Height = 2.0 * IN Fuselage.Nose.FrontBulk.Material = AircraftPly.copy() Fuselage.Nose.FrontBulk.Material.AreaForceDensity = (0.01 * BaseWeight) / ( 2.0 * IN * 2.0 * IN) Fuselage.Nose.FrontBulk.WeightGroup = 'Fuselage' # rear bulkhead definition Fuselage.Nose.BackBulk.Width = 10.55 * IN Fuselage.Nose.BackBulk.Height = 11.5 * IN Fuselage.Nose.BackBulk.Material = AircraftPly.copy() Fuselage.Nose.BackBulk.Material.AreaForceDensity = (0.03 * BaseWeight) / ( 10.55 * IN * 11.5 * IN) Fuselage.Nose.BackBulk.WeightGroup = 'Fuselage' # miscellaneous Fuselage.Nose.SkinMat = Ultracote.copy() Fuselage.Nose.StringerMat = Basswood.copy() Fuselage.Nose.StringerMat.LinearForceDensity = 0.005 * LBF / IN Fuselage.Nose.Align = 2.59 # Top of section relative to thrust line (z=0) Fuselage.Nose.WeightGroup = 'Fuselage' # Add components to the fuselage # add nose wheel servo Fuselage.Nose.AddComponent("NoseWheelServo", 0.05 * LBF, (1.14 * IN, 1.18 * IN, 0.51 * IN), "Front", (0.8, 0.5, 0.05)) Fuselage.Nose.NoseWheelServo.WeightGroup = "Controls" Fuselage.Nose.AddComponent('MotorBattery', 0.93125 * LBF, (5.5 * IN, 1.75 * IN, 1.5 * IN), 'Back', (-0.4, 0.5, 0.685)) #
Wing.WingWeight.TrailingEdge2.ScaleToWing = [False, False] Wing.WingWeight.TrailingEdge2.WeightGroup = "MainWing" #----------------------------------- RIBS -------------------------------------# # Rib material (1/8in balsa) BWRibMat = Balsa.copy() BWRibMat.Thickness = .125 * IN BWRibMat.ForceDensity *= 0.315 ##MASS## density based on rib weights prototype 01/14/2016 SPH Wing.WingWeight.RibMat = BWRibMat #Wing.WingWeight.RibSpace = 28.0*IN Wing.WingWeight.RibSpace = 6.0 * IN #------------------------------------ SKIN ------------------------------------# # -> add skin material to the weight Wing.WingWeight.SkinMat = Ultracote.copy() Wing.WingWeight.SkinMat.AreaForceDensity *= 0.53 # based on measurements (still conservative, measured suggested this should be 50%) shiggins 12/10/2015 Wing.WingWeight.SkinMat.Thickness = 0.002125 * IN # measured 12/10/2015 shiggins #-----------------------------------------------------------------------------# Wing.WingWeight.WeightGroup = 'MainWing' #==============================================================================# # Visualization & Results #==============================================================================# if __name__ == '__main__': import pylab as pyl print "V lift off : ", AsUnit(Wing.GetV_LO(), 'ft/s') print "V stall : ", AsUnit(Wing.V_Stall, 'ft/s') print "Wing Area : ", AsUnit(Wing.S, 'in**2')