Exemplo n.º 1
0
#
from os import environ as _environ; _environ["scalar_off"] = "off"


import numpy as npy
import pylab as pyl
from scalar.units import FT, SEC, LBF, MIN, IN
from Aircraft_Models.Adv2014Aircraft_AeroCats.MonoWing.Aircraft import Aircraft

pyl.figure(1)

#
# Get the design point
#
dsgnGR = Aircraft.Groundroll() / (FT)
dsgnCR = Aircraft.Rate_of_Climb(1.07*Aircraft.GetV_LO()) / (FT/MIN)
pyl.plot([dsgnCR],[dsgnGR],'ro', markersize = 8)

#
# Set up ranges
#
Vstl = npy.linspace(31,35,5)*FT/SEC
WT   = npy.linspace(30,34,5)*LBF
Vplt = Vstl / (FT/SEC)

lgnd = ['Design']
arealist = []

# Initialize data arrays
grndroll = npy.zeros((len(WT),len(Vstl)))
clmbrate = npy.zeros((len(WT),len(Vstl)))
Exemplo n.º 2
0
import numpy as npy
import pylab as pyl
from scalar.units import FT, SEC, LBF, MIN, IN
from Aircraft_Models.Adv2014Aircraft_AeroCats.MonoWing.Aircraft import Aircraft

#/////////////////////////////////////////
# Wing area and span sizing for W = 32 lb.
#/////////////////////////////////////////
Aircraft.TotalWeight = 27 * LBF
pyl.figure(1)

#
# Get the design point
#
dsgnGR = Aircraft.Groundroll() / (FT)
dsgnCR = Aircraft.Rate_of_Climb(1.07 * Aircraft.GetV_LO()) / (FT / MIN)
pyl.plot([dsgnCR], [dsgnGR], 'ro', markersize=8)

#
# Set up ranges
#
Vstl = npy.linspace(32, 34, 2) * FT / SEC
Span = npy.linspace(66, 100, 5) * IN
Vplt = Vstl / (FT / SEC)

lgnd = ['Design']
arealist = []

# Initialize data arrays
grndroll = npy.zeros((len(Span), len(Vstl)))
clmbrate = npy.zeros((len(Span), len(Vstl)))
Exemplo n.º 3
0
#from os import environ as _environ; _environ["scalar_off"] = "off"

from Aerothon.ACControls import ACControls
from Aerothon.ACXFoil import ACXFoil
from Aerothon import AeroUtil
from scalar.units import SEC, ARCDEG, LBF, IN, FT, OZF
from scalar.units import AsUnit
import pylab as pyl
import numpy as npy
from Aircraft_Models.Adv2014Aircraft_AeroCats.MonoWing.Aircraft import Aircraft

Execute = True

Vs = npy.linspace(Aircraft.GetV_LO() / (FT / SEC),
                  Aircraft.Vmax() / (FT / SEC), 11) * FT / SEC
des = npy.linspace(5, 20, 3) * ARCDEG
alpha2d = 3 * ARCDEG

# Use the following to investigate the effects of changing geometry
#Aircraft.Wing.Aileron.Fc = 0.15
#Aircraft.Wing.Aileron.Fb = 0.334 #Need adjusted to make aileron 3% from tip
#Aircraft.Wing.Aileron.Ft = 0.1337

#This are the ratios of the servo arm to the control horn arm. The control arm length is the distance to the hinge.
# ArmRatio = (Servo Arm)/(Control Arm)
# Servo Arm Lengths:   Aile: 0.8" , Elev: 0.4" , Rudder: 0.4"
# Control Arm Lengths: Aile: 1.5", Elev: 1.4", Rudder: 1.5"
Aileron_ArmRatio = 0.53
Elevator_ArmRatio = 0.29
Rudder_ArmRatio = 0.27
Exemplo n.º 4
0
#from Aircraft_Models.Reg2012Aircraft_AeroCats.TradeStudies.LowMoment.Aircraft import Aircraft

Aircraft.Draw(fig=4)
fig_wing = 1
fig_htail = 2
fig_vtail = 3

CD = [0, 0, 0]

Aircraft.Wing.o_eff = None
#
# Get the design point
#
dsgnGR = Aircraft.Groundroll() / (FT)

V = Aircraft.GetV_LO() + 0.1 * FT / SEC
a2dw = Aircraft.AlphaTrim(V)
a2dw = 0 * ARCDEG
Re = Aircraft.Wing.Re()
del_e = Aircraft.del_e_trim(a2dw)
CD, junk = Aircraft._CDComponents(a2dw, del_e, V)
#CD[0], CD[1], CD[2] = Aircraft.Wing.af.Cd(a2dw, Re), Aircraft.Wing.CDi(a2dw), Aircraft.Wing.o_eff

pyl.figure(fig_wing)
pyl.plot([CD[fig_wing - 1]], [dsgnGR], 'ro', markersize=8)
pyl.figure(fig_htail)
pyl.plot([CD[fig_htail - 1]], [dsgnGR], 'ro', markersize=8)
pyl.figure(fig_vtail)
pyl.plot([CD[fig_vtail - 1]], [dsgnGR], 'ro', markersize=8)

#
Exemplo n.º 5
0
#
# This file demonstrates how to plot wing loading and bending stress of the main spar.
# Most numbers are fictitious and are for demonstrative purposes only (i.e they are made up).
#
from __future__ import division  # let 5/2 = 2.5 rather than 2
from scalar.units import IN, FT, PSI, LBF, MPa, KG, M, gacc
from scalar.units import AsUnit
from Aircraft_Models.Adv2014Aircraft_AeroCats.MonoWing.Aircraft import Aircraft
import pylab as pyl
import numpy as npy

#
# The velocity which loads will be computed
#
Vmax = Aircraft.GetV_LO() * .85

global fignum
fignum = 1


def PlotLiftSurfLoad(Surface, GLoad=1.0):
    #
    # Plots loads and bending stresses on a lifting surface
    #
    # Inputs:
    #    Surface - A lifting surface with a wing weight calculation
    #    SparFc  - Spar chordwise location in fraction of the chord
    #    SparT   - The thickness of the main spar
    #    MaxBendStress - Optional maximum allowed bending stress of the spar
    #    GLoad   - Generic GLoad multiplier
Aircraft.Draw(fig=2)

pyl.figure(1)
# Climb Rate (x) and Groundroll (y)
# Get the design point
#
dsgnGR = Aircraft.Groundroll() / (FT)
dsgnCR = Aircraft.Rate_of_Climb() / (FT / MIN)
pyl.plot([dsgnCR], [dsgnGR], 'ro', markersize=8)

pyl.figure(3)
# Lift-Off Speed (x) and Aircraft Weight
# Plot the current design point
#
dsgnVLO = Aircraft.GetV_LO() / (FT / SEC)
dsgnWE = Aircraft.EmptyWeight / (LBF)
pyl.plot([dsgnVLO], [dsgnWE], 'ro', markersize=8)
#
pyl.figure(4)
# Climb Rate (x) and Lift-Off Speed (y)
# Plot the current design point
#
pyl.plot([dsgnCR], [dsgnVLO], 'ro', markersize=8)
#
# Set up ranges
#
S = npy.linspace(1150, 1400, 5) * IN**2
Span = npy.linspace(74, 85, 5) * IN

lgnd = ['Design W = %2.0f (lbf)' % (Aircraft.TotalWeight / LBF)]