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" HTail.WingWeight.AddSpar("LeadingEdge", 1 / 8 * IN, 1 / 4 * IN, (0.25, 1), 1.0,
BoxWing.LowerWing.Aileron.Fb = 0.40 BoxWing.LowerWing.Aileron.Ft = 0.10 BoxWing.LowerWing.Aileron.SgnDup = -1. BoxWing.LowerWing.Aileron.Servo.Fc = 0.3 BoxWing.LowerWing.Aileron.Servo.Weight = 0.77*OZF ############################################################################### # # Structural properties # ############################################################################### #Lower Wing BoxWing.LowerWing.SetWeightCalc(ACRibWing) BoxWing.LowerWing.WingWeight.AddSpar("MainSpar",1.307*IN,1*IN) BoxWing.LowerWing.WingWeight.MainSpar.SparMat = Balsa.copy() #BoxWing.LowerWing.WingWeight.SparMat.LinearForceDensity = LsparFD + LDsparFD BoxWing.LowerWing.WingWeight.SkinMat = Monokote.copy() BoxWing.LowerWing.WingWeight.RibMat = BWRibMat BoxWing.LowerWing.WingWeight.RibSpace = 4*IN BoxWing.LowerWing.WingWeight.DrawDetail = True #Upper Wing 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
secondSparH = 0.5 * IN secondCapThk = 1 / 8 * IN secondWebThk = 1 / 8 * IN secondCapArea = 2.0 * secondSparW * secondCapThk secondWebArea = 2.0 * (secondSparH - (2 * secondCapThk)) * secondWebThk # -> scaling the density down to get an accurate representation of weight based # on the builds # **main spar assumed to weigh from 14.5-16 ozf** secondSparLinearDensity = 2.52*secondWebArea*Balsa.ForceDensity + \ 2.52*secondCapArea*Balsa.ForceDensity Wing.WingWeight.AddSpar("SecondSpar", 1/2*IN, 1/2*IN, (0.6,0),48.0/104.0, \ DSpar=False, Mirror=False,Structural=True) Wing.WingWeight.SecondSpar.SparMat = Balsa.copy() Wing.WingWeight.SecondSpar.SparMat.LinearForceDensity = secondSparLinearDensity Wing.WingWeight.SecondSpar.ScaleToWing = [False, False] Wing.WingWeight.SecondSpar.WeightGroup = "MainWing" #-------------------------------- LEADING EDGE --------------------------------# Wing.WingWeight.AddSpar("LeadingEdge", 1 / 8 * IN, 1 / 4 * IN, (0, 1), 1.0, False) Wing.WingWeight.LeadingEdge.SparMat = Balsa.copy() Wing.WingWeight.LeadingEdge.Position = (0.006, 0) Wing.WingWeight.LeadingEdge.ScaleToWing = [False, False] Wing.WingWeight.LeadingEdge.WeightGroup = "MainWing" Wing.WingWeight.AddSpar("LeadingEdgeBent1", 1 / 32 * IN, 3.25 * IN, (0, 1), 1.0, False) Wing.WingWeight.LeadingEdgeBent1.SparMat = Balsa.copy()
from __future__ import division # let 5/2 = 2.5 rather than 2 from scalar.units import IN, LBF, SLUG, FT from Aerothon.ACBase import g from Aerothon.ACMaterial import ACMaterial from Aerothon.DefaultMaterialsLibrary import Steel, AircraftPly, Basswood, Monokote, Balsa # # Materials Set-up # Steel = Steel.copy() ACPly = AircraftPly.copy() Basswood = Basswood.copy() Monokote = Monokote.copy() Balsa = Balsa.copy() DivinicelFD = 0.00137 * LBF / IN**3 Fibre2Resin = 3 / 2 EpoxDens = 0.017316 * LBF / IN**3 XylonDens = 0.056 * LBF / IN**3 CompDens = 0.0404 * LBF / IN**3 ZylonCompFD = CompDens PlyThickness = 1 / 100 * IN / g ZylonCompAD = CompDens * PlyThickness ############################################################################### # Fuselage Materials ############################################################################### # Bulkhead Truss # 1/8 inch thick with 75% material cut out cutout = 0.9
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.15 #Relocating the HTail Servo closer to the elevator HTail.Elevator.Servo.Weight = 0.3 * OZF HTail.Elevator.Servo.WeightGroup = "Controls" HTail.Elevator.Servo.Torque = 33.3 * IN * OZM #Set the sweep about the elevator hinge HTail.SweepFc = 1.0 - HTail.Elevator.Fc #Makes Elevator LE straight # # 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 = 6.04 * IN HTail.WingWeight.SkinMat = Ultracote.copy() HTail.WingWeight.WeightGroup = 'HTail' HTail.WingWeight.AddSpar("MainSpar", 1 * IN, 1 * IN, (0.25, 0), 1.0, False) HTail.WingWeight.MainSpar.SparMat.LinearForceDensity = .008 * LBF / (1 * IN) HTail.WingWeight.MainSpar.ScaleToWing = [False, False] HTail.WingWeight.MainSpar.WeightGroup = "HTail" HTail.WingWeight.AddSpar("LeadingEdge", 0.25 * IN, 0.25 * IN, (0.01, 0), 1.0, False) HTail.WingWeight.LeadingEdge.SparMat = Balsa.copy()
Wing.Aileron.Servo.Fc = 0.3 # Pereentage of chord loction of servo Wing.Aileron.Servo.Weight = 0.01 * LBF ############################################################################### # # Structural properties # ############################################################################### # # Spar material (basswood, 1/4in width at max airfoil thickness # sparw = 1.0 * IN spart = 1.0 * IN Basswood = Basswood.copy() Balsa = Balsa.copy() BassLD = Basswood.ForceDensity * sparw * spart # # Rib material (1/8in balsa) # RibMat = Balsa.copy() RibMat.Thickness = 0.125 * IN Wing.SetWeightCalc(ACRibWing) Wing.WingWeight.AddSpar("MainSpar", 1 * IN, 1 * IN) Wing.WingWeight.MainSpar.SparMat.LinearForceDensity = BassLD Wing.WingWeight.SkinMat = Monokote.copy() Wing.WingWeight.RibMat = RibMat Wing.WingWeight.RibSpace = 5 * IN
HTail.Elevator.Fc = 0.35 HTail.Elevator.Fb = 1.0 HTail.Elevator.Ft = 0.0 HTail.Elevator.Servo.Fc = 0.3 HTail.Elevator.Servo.Fbc = 0.1 #Set the sweep about the elevator hinge HTail.SweepFc = 1.0 - HTail.Elevator.Fc # # Structural properties # HTail.SetWeightCalc(ACSolidWing) HTail.WingWeight.AddSpar("HMainSpar", 0.25 * IN, 0.5 * IN) HTail.WingWeight.HMainSpar.SparMat = Balsa.copy() HTail.WingWeight.SkinMat = Monokote.copy() HTail.WingWeight.WingMat = PinkFoam.copy() #============================================================================== # Vertical tail # VTail = Aircraft.VTail VTail.Airfoil = 'NACA0012' VTail.VC = 0.05 VTail.AR = 1.6 VTail.TR = 0.7 VTail.Axis = (0, 1) #VTail.L = 51.572 * IN VTail.S = 69 * IN**2 #VTail.b = 10 * IN
Wing.WingWeight.MainSpar.ScaleToWing = [False, False] Wing.WingWeight.MainSpar.WeightGroup = "MainWing" Wing.WingWeight.SkinMat = Ultracote.copy() Wing.WingWeight.AddSpar("SecondSpar", 0.6*IN, 0.6*IN, (0.66,-0.01),0.33, False) Wing.WingWeight.SecondSpar.SparMat = CarbonTube.copy() Wing.WingWeight.SecondSpar.ScaleToWing = [False, False] Wing.WingWeight.SecondSpar.WeightGroup = "MainWing" #Wing.WingWeight.AddSpar("ThirdSpar", 1/2*IN, 1/2*IN, (0.5,-0.01),1.0, False) #Wing.WingWeight.ThirdSpar.SparMat = Balsa.copy() #Wing.WingWeight.ThirdSpar.ScaleToWing = [False, False] #Wing.WingWeight.ThirdSpar.WeightGroup = "MainWing" Wing.WingWeight.AddSpar("TrailingEdge", 1/4*IN, 1*IN, (0.975,0.0), 0.6, False) Wing.WingWeight.TrailingEdge.SparMat = Balsa.copy() Wing.WingWeight.TrailingEdge.ScaleToWing = [False, False] Wing.WingWeight.TrailingEdge.WeightGroup = "MainWing" Wing.WingWeight.AddSpar("LeadingEdge",1/4*IN, 1/4*IN, (0,0), 1.0, False) Wing.WingWeight.LeadingEdge.SparMat= Balsa.copy() Wing.WingWeight.LeadingEdge.ScaleToWing = [False, False] Wing.WingWeight.LeadingEdge.WeightGroup = "MainWing" #Wing.WingWeight.AddSpar("LeadingEdgeBent1", 1/32*IN, 2.5*IN, (0.066,-0.8), 1.0, False) #Wing.WingWeight.LeadingEdgeBent1.SparMat = Balsa.copy() #Wing.WingWeight.LeadingEdgeBent1.ScaleToWing = [False,False] #Wing.WingWeight.LeadingEdgeBent1.WeightGroup = "MainWing" #Wing.WingWeight.AddSpar("LeadingEdgeBent2", 1/32*IN, 3.5*IN, (0.08, -0.3), 1.0, False) #Wing.WingWeight.LeadingEdgeBent2.SparMat = Balsa.copy()