예제 #1
0
# FUSELAGE MODEL
#==============================================================================#
# NOTES:
#    So Aerothon does some funny business here that will not match our CAD
#    perfectly, so we consider only the outer edges of the fuselage and then
#    will adjust densities of the materials being used such that the CG
#    representations match that in the CAD (and tests from prototype builds)
#
# We break the fuselage into the following sections:
# (1) Nose:     Front cap of the plane with motor bay over top of it
# (2) PayBay:   Payload bay (w/ext above for ties to main and secondary spars)
# (3) Pay2Tail: Transition from payload bay to tail
# (4) Tail:     Tail section
# (5) TailBrac: Tail bracket (to connect tail to fuselage)

Fuselage = ACFuselage()  # create the fuselage class

# Create the sections of the fuselage that we intend to populate
# -> AddSection('NAME',sectionLength,alignment(-1=bot, 0=center, 1=top, None=@CG)
Fuselage.AddSection('Nose', 9.63 * IN, 1)
Fuselage.AddSection('PayBay', 9 * IN, 1)
Fuselage.AddSection('Pay2Tail', 25.48 * IN, 0)
Fuselage.AddSection('Tail', 22.53 * IN, 0)
BaseWeight = 24 * OZF  # Weight in OZF that is multiplied in the force densities

# SECTION 1: Nose section only -------------------------------------------------#
#### SHIFT ALL X POSITIONS BY 7.03125in (Dist from payload CG to front of fuse)

# SPH 12/1/2015: from 151130 CAD target weight @ 15.5oz CG @ 1.14125in
# in SolidWorks relative to payload CG (5.89,0,-0.12)
# front bulkhead definition
예제 #2
0
ACPlyBH.ForceDensity = ACPly.ForceDensity * (1 - cutout)

# Section plywood (truss structure + monokote)
# 1/8 inch thick with 80% material cut out
cutout = 0.8
ACPlySkin = ACMaterial()
ACPlySkin.AreaDensity = ACPly.ForceDensity * (
    1 - cutout) * 0.125 * IN / g + Monokote.AreaDensity

# Stringer material from basswood (w=0.25 in , t=0.25 in)
w = 0.25 * IN
t = 0.25 * IN
BassStringer = ACMaterial()
BassStringer.LinearForceDensity = Basswood.ForceDensity * w * t

Fuselage = ACFuselage()
#
# Create the sections of the fuselage
#
Fuselage.AddSection('Nose', 6 * IN, 1)
Fuselage.AddSection('PyldBay', 11 * IN, 1)
Fuselage.AddSection('TailTaper')

#
# Size the engine fire wall
#
Fuselage.Nose.FrontBulk.Width = 2.7 * IN
Fuselage.Nose.FrontBulk.Height = 2.7 * IN
Fuselage.Nose.FrontBulk.Material = ACPlyBH
Fuselage.Nose.Align = -1
Fuselage.Nose.SkinMat = ACPlySkin
예제 #3
0
# FUSELAGE MODEL
#==============================================================================#
# NOTES:
#    So Aerothon does some funny business here that will not match our CAD
#    perfectly, so we consider only the outer edges of the fuselage and then
#    will adjust densities of the materials being used such that the CG
#    representations match that in the CAD (and tests from prototype builds)
#
# We break the fuselage into the following sections:
# (1) Nose:     Front cap of the plane with motor bay over top of it
# (2) PayBay:   Payload bay (w/ext above for ties to main and secondary spars)
# (3) Pay2Tail: Transition from payload bay to tail
# (4) Tail:     Tail section
# (5) TailBrac: Tail bracket (to connect tail to fuselage)

Fuselage = ACFuselage() # create the fuselage class

# Create the sections of the fuselage that we intend to populate
# -> AddSection('NAME',sectionLength,alignment(-1=bot, 0=center, 1=top, None=@CG)
Fuselage.AddSection('Nose',4.813*IN,1)
Fuselage.AddSection('NoseToPayBay',1.38*IN,1)  
Fuselage.AddSection('PayBay',26.567*IN,1)
Fuselage.AddSection('PayBayGap',1.02*IN,0)
Fuselage.AddSection('Pay2Tail',5.268*IN,0)
Fuselage.AddSection('Pay2TailGap',0.001*IN,0)
Fuselage.AddSection('Tail',27.875*IN,0)
BaseWeight = 24*OZF # Weight in OZF that is multiplied in the force densities

# SECTION 1: Nose section only -------------------------------------------------#
#### SHIFT ALL X POSITIONS BY 7.03125in (Dist from payload CG to front of fuse)
예제 #4
0
from __future__ import division # let 5/2 = 2.5 rather than 2
from scalar.units import IN, LBF, SLUG, FT, OZF
from scalar.units import AsUnit
from Aerothon.ACFuselage import ACFuselage
from Adv2019Aircraft.Structures.Materials import BalsaBH, ACPlyBH, ACPlySkin, BassStringer, BalsaStringer, Monokote, Steel

Fuselage = ACFuselage()
#
# Create the sections of the fuselage
#
Fuselage.AddSection('Nose'   , 7.5*IN, -1)
Fuselage.AddSection('PyldBay', 22.5*IN, -1)
Fuselage.AddSection('PyldTaper', 7.5*IN, -1)
Fuselage.AddSection('Tail', 33*IN, 1)

# Size the engine fire wall
#
Fuselage.Nose.FrontBulk.Width  = 3.0*IN
Fuselage.Nose.FrontBulk.Height = 3.0*IN
Fuselage.Nose.FrontBulk.Material = ACPlyBH.copy()
Fuselage.Nose.Align             = 0.7
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
예제 #5
0
from __future__ import division  # let 5/2 = 2.5 rather than 2
from scalar.units import IN, LBF, SLUG, FT, GRAM, gacc, OZF
from scalar.units import AsUnit
from Aerothon.ACFuselage import ACFuselage
from Aircraft_Models.Reg2014Aircraft_AeroCats.Structures.Materials import BalsaBH, ACPlyBH, ACPlySkin, BassStringer, BalsaStringer, Monokote, Steel

Fuselage = ACFuselage()
#
# Create the sections of the fuselage
#
Fuselage.AddSection('Nose', 9 * IN, -1)
Fuselage.AddSection('PyldBay', 5 * IN, -1)
Fuselage.AddSection('Tail')

#
# Size the engine fire wall
#
Fuselage.Nose.FrontBulk.Width = 3 * IN
Fuselage.Nose.FrontBulk.Height = 3 * IN
Fuselage.Nose.FrontBulk.Material = ACPlyBH.copy()
Fuselage.Nose.Align = 1
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 * IN
Fuselage.PyldBay.FrontBulk.Height = 6 * IN
Fuselage.PyldBay.BackBulk.Width = 6 * IN
Fuselage.PyldBay.BackBulk.Height = 6 * IN