## print 'Pay2Tail Wgt w/bulk:', AsUnit(Fuselage.Pay2Tail.Weight,'ozf') ## print 'Pay2Tail CG w/bulk:', AsUnit(Fuselage.Pay2Tail.CG(),'in') ## print 'shiggins weight @', AsUnit(actualTranWeight,'ozf'), ' CG @ ', AsUnit(tranCG,'in') ## print tailCompWeight = 0.0*OZF # initialize the weight for the components tailCompCG = 0.0*OZF*Fuselage.Tail.CG().copy() for component in Fuselage.Tail.param.Components: # loop through nose comps tailCompWeight += component.Weight tailCompCG += component.Weight*component.CG() actualTailWeight = Fuselage.Tail.FrontBulk.Weight + \ Fuselage.Tail.BackBulk.Weight + \ tailCompWeight tailCG = (1/actualTailWeight)*\ (tailCompCG + \ (Fuselage.Tail.FrontBulk.Weight*Fuselage.Tail.FrontBulk.CG())+\ (Fuselage.Tail.BackBulk.Weight*Fuselage.Tail.BackBulk.CG())) ## print 'Tail Weight w/bulk:', AsUnit(Fuselage.Tail.Weight,'ozf') ## print 'Tail CG w/bulk:', AsUnit(Fuselage.Tail.CG(),'in') ## print 'shiggins weight @', AsUnit(actualTailWeight,'ozf'), ' CG @ ', AsUnit(tailCG,'in') ## print print 'Fuselage Wgt w/bulk:', AsUnit(Fuselage.Weight,'lbf') print 'Fuselage CG w/bulk:', AsUnit(Fuselage.CG(),'in') print print 'Fuselage MOI :', AsUnit(Fuselage.MOI(),'slug*ft**2') print 'Fuselage Desired CG :', AsUnit(Fuselage.AircraftCG(),'in') print Fuselage.Draw() pyl.show()
# # Define the payload shape # Fuselage.Payload.Width = 4*IN Fuselage.Payload.Length = 10*IN Fuselage.Payload.Face = 'Bottom' Fuselage.Payload.Material = Steel.copy() Fuselage.Payload.Weight = 1*LBF # # Determine which bulkhead should be set by the horizontal tail # Fuselage.TailBulk = Fuselage.Tail.BackBulk Fuselage.TailBulk.WeightGroup = 'Fuselage' if __name__ == '__main__': import pylab as pyl print 'Nose Weight :', AsUnit( Fuselage.Nose.Weight, 'lbf' ) print 'PyldBay Weight :', AsUnit( Fuselage.PyldBay.Weight, 'ozf' ) print 'TailTaper Weight :', AsUnit( Fuselage.Tail.Weight, 'lbf' ) print 'Fuselage Weight :', AsUnit( Fuselage.Weight, 'lbf' ) print 'Fuselage MOI :', AsUnit( Fuselage.MOI(), 'slug*ft**2' ) print 'Fuselage CG :', AsUnit( Fuselage.CG(), 'in' ) print 'Fuselage Desired CG:', AsUnit( Fuselage.AircraftCG(), 'in' ) Fuselage.Draw() pyl.show()
# # Define which section contains the CG of the aircraft # Fuselage.XcgSection = Fuselage.PyldBay Fuselage.XcgSecFrac = 0.3 # # Determine which bulkhead should be set by the horizontal tail # Fuselage.TailBulk = Fuselage.TailTaper.BackBulk if __name__ == '__main__': import pylab as pyl Fuselage.Nose.Weight + Fuselage.Nose.FrontBulk.Weight + Fuselage.Nose.BackBulk.Weight print 'Composite Section:', Fuselage.Nose.Weight + Fuselage.Nose.FrontBulk.Weight + Fuselage.Nose.BackBulk.Weight print 'Nose Length :', Fuselage.Nose.Length print 'PyldBay Weight :', Fuselage.PyldBay.Weight print 'PyldBay Length :', Fuselage.PyldBay.Length print 'TailTaper Weight :', Fuselage.TailTaper.Weight print 'TailTaper Length :', Fuselage.TailTaper.Length print 'Fuselage Weight :', Fuselage.Weight print 'Fuselage MOI :', AsUnit(Fuselage.MOI(), "slug*ft**2") print 'Fuselage CG :', AsUnit(Fuselage.CG(), "in") print 'Fuselage Desired CG:', AsUnit(Fuselage.AircraftCG(), "in") Fuselage.Draw() pyl.show()