Beispiel #1
0
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))  #
Beispiel #3
0
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')