コード例 #1
0
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,
コード例 #2
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
コード例 #3
0
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()
コード例 #4
0
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
コード例 #5
0
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()
コード例 #6
0
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
コード例 #7
0
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
コード例 #8
0
ファイル: Wing.py プロジェクト: Aerothon-2020/Adv2020Aircraft
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()