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

#End Plate
Example #2
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
# Spar taken as 1/8 inch width and thickness of the max thickness at the root
#
Basswood = Basswood.copy()
BWRibMat = Balsa.copy()
BWRibMat.Thickness = 3 / 32 * IN

#HTail.SetWeightCalc(ACRibWing)
#HTail.WingWeight.RibMat                    = BWRibMat
#HTail.WingWeight.RibSpace                  = 3 * IN
HTail.SetWeightCalc(ACSolidWing)
HTail.WingWeight.WingMat = PinkFoam.copy()
HTail.WingWeight.WingMat.ForceDensity *= 0.4

HTail.WingWeight.AddSpar("HMainSpar", 0.25 * IN, 0.5 * IN)
HTail.WingWeight.HMainSpar.SparMat = CarbonBar.copy()
HTail.WingWeight.SkinMat = Monokote.copy()

#==============================================================================
# Vertical tail
#
VTail = Aircraft.VTail
VTail.Airfoil = 'NACA0012'
VTail.VC = 0.040
VTail.AR = 1.95
VTail.TR = 0.7
VTail.Axis = (0, 1)
VTail.L = 100.0 * IN
#VTail.S       = 100 * IN**2
#VTail.b       = 10 * IN

#
Example #4
0
Wing.Refresh()  # refresh so the thicknesses can be calculated
Wthick = Wing.Thickness(0 * FT)
sparFD = Basswood.ForceDensity * sparw * Wthick

# Dspar density as balsa at 1/16in thick and the distance around the front of the airfoil
#  approximated as 2 times the airfoil thickness at the root
DsparFD = Balsa.ForceDensity * 0.0625 * IN * 2.0 * Wthick

#
# Rib material (1/8in balsa)
#
BWRibMat = Balsa.copy()
BWRibMat.Thickness = 0.125 * IN

Wing.SetWeightCalc(ACRibWing)
Wing.WingWeight.SkinMat = Monokote.copy()
Wing.WingWeight.RibMat = BWRibMat
Wing.WingWeight.RibSpace = 5 * IN

#Wing.SetWeightCalc(ACSolidWing)
#Wing.WingWeight.SparMat.LinearForceDensity = 0.0051*LBF/IN
#Wing.WingWeight.SkinMat                    = Monokote.copy()
#Wing.WingWeight.WingMat                    = PinkFoam.copy()
#Wing.WingWeight.WingMat.ForceDensity      *= 0.5

if __name__ == '__main__':
    import pylab as pyl

    print "V lift of   : ", AsUnit(Wing.GetV_LO(), 'ft/s')
    print "V stall     : ", AsUnit(Wing.V_Stall, 'ft/s')
    print "Wing Area   : ", AsUnit(Wing.S, 'in**2')
Example #5
0
Fuselage = ACFuselage()
#
# Create the sections of the fuselage
#
Fuselage.AddSection('Nose', 9.125 * IN, -1)
Fuselage.AddSection('PyldBay', 26 * IN, -1)
Fuselage.AddSection('PyldTaper', 8 * IN, -1)
Fuselage.AddSection('Tail', 28 * IN, 1)

# Size the engine fire wall
#
Fuselage.Nose.FrontBulk.Width = 3.0 * IN
Fuselage.Nose.FrontBulk.Height = 4.0 * IN
Fuselage.Nose.FrontBulk.Material = ACPlyBH.copy()
Fuselage.Nose.Align = 0
Fuselage.Nose.SkinMat = Monokote.copy()
Fuselage.Nose.StringerMat.LinearForceDensity = .001 * LBF / IN
Fuselage.Nose.FrontBulk.WeightGroup = 'Fuselage'
#
# Size the payload bay
#
Fuselage.PyldBay.FrontBulk.Width = 6.0 * IN
Fuselage.PyldBay.FrontBulk.Height = 8.25 * IN
Fuselage.PyldBay.BackBulk.Width = 6.0 * IN
Fuselage.PyldBay.BackBulk.Height = 8.25 * IN
Fuselage.PyldBay.FrontBulk.Material = ACPlyBH.copy()
Fuselage.PyldBay.BackBulk.Material = ACPlyBH.copy()
Fuselage.PyldBay.SkinMat = Monokote.copy()
Fuselage.PyldBay.StringerMat.LinearForceDensity = 0.01 * LBF / IN
Fuselage.PyldBay.FrontBulk.WeightGroup = 'Fuselage'
Fuselage.PyldBay.BackBulk.WeightGroup = 'Fuselage'