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)) # Fuselage.Nose.AddComponent('SpeedController', 0.28 * LBF,
# on the builds # **main spar assumed to weigh from 14.5-16 ozf** SparLinearDensity = WebArea*Poplar.ForceDensity*0.855 + \ CapArea*Basswood.ForceDensity*0.855 # TESTS SHOULD BE RUN TO VALIDATE DENSITY VALUES IN AEROTHON!!, shiggins 151107 # ** Try splitting the main spar definition into three spars to accurately ** # represent the taper at the ends # -> generate WingWeight obj for the main spar using AddSpar in ACWingWeight Wing.WingWeight.AddSpar("MainSpar", SparH, SparW, (0.33,0),1.0,\ DSpar=False,Mirror=False,Structural=True) # -> assign material to WingWeight object (use Basswood as a base then adjust) Wing.WingWeight.MainSpar.SparMat = Basswood.copy() Wing.WingWeight.MainSpar.SparMat.LinearForceDensity = SparLinearDensity # -> scale the cross sectional dimensions of the spar relative to wing thk # along the span of the spar; first entry is x (d1), second entry is z (d2) Wing.WingWeight.MainSpar.ScaleToWing = [False, False] # -> add main spar WingWeight object to the weight group for the main wing Wing.WingWeight.MainSpar.WeightGroup = "MainWing" #------------------------------- SECONDARY SPAR -------------------------------# secondSparW = 0.5 * IN secondSparH = 0.5 * IN secondCapThk = 1 / 8 * IN secondWebThk = 1 / 8 * IN
HTail.Elevator.Ft = 0.0 #0.25 HTail.Elevator.Weight = 0.1 * LBF HTail.Elevator.WeightGroup = "HTail" HTail.Elevator.Servo.Fc = 0.3 HTail.Elevator.Servo.Fbc = 0.5 HTail.Elevator.Servo.Weight = 0.77 * OZF HTail.Elevator.Servo.WeightGroup = "Controls" 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"
# Elevator properties HTail.Elevator.Fc = 0.50 # Elevator chord (% chord) HTail.Elevator.Fb = 1.0 # Elevator span (% span) HTail.Elevator.Ft = 0.0 # Start of the aileron (% span) HTail.Elevator.Weight = 2.8 * OZF # ##MASS##: matches prototype build 01/14/2016 SPH HTail.Elevator.WeightGroup = 'HTail' HTail.Elevator.Servo.Fc = 0.363 # c.g. of servo matches proto build 01/14/2016 SPH HTail.Elevator.Servo.Fbc = 0.0 HTail.Elevator.Servo.Weight = 1.58 * OZF ##MASS## measured for proto build 01/15/2016 SPHHTail.Elevator.Servo.WeightGroup = 'Controls' HTail.Elevator.Servo.Torque = 152 * IN * OZM # 2 servos on elevator @76 IN*OZM each # Structural properties # Spar taken as 1/8 inch width and thickness of the max thickness at the root Basswood = Basswood.copy() RibMat = Balsa.copy() RibMat.Thickness = 1 / 8 * IN RibMat.ForceDensity *= 0.425 * 0.85 # assuming 50% rib area cut-out HTail.SetWeightCalc(ACRibWing) HTail.WingWeight.RibMat = RibMat HTail.WingWeight.RibSpace = 4.0 * IN HTail.WingWeight.SkinMat = Ultracote.copy() HTail.WingWeight.SkinMat.AreaForceDensity *= 0.5 # shiggins: based on measurements HTail.WingWeight.SkinMat.Thickness = 0.002125 * IN # shiggins: based on measurements HTail.WingWeight.WeightGroup = 'HTail' HTail.WingWeight.AddSpar('MainSpar', 0.5 * IN, 0.75 * IN, (0.25, 1), 1.0, False)