예제 #1
0
Engine.LWH = [6 * IN, 1.69 * IN, 2 * IN]
Engine.Xat = [0, 0.5, 0.5]
Engine.Weight = 1.5 * LBF

Engine.NoseCone.LenDi = [1 * IN, 0.6 * IN]

#
# Curvefitting parameters
#
Engine.BMEPR = 50.038 * LBF / IN**2
Engine.Rnmt = 0.01
Engine.Rtmt = 1.5
Engine.Rnsfc = 0.8

# Set Propulsion properties
Propulsion = ACPropulsion(Prop, Engine)
Propulsion.Alt = 0 * FT
Propulsion.Vmax = 100 * FT / SEC
Propulsion.nV = 20

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

    #
    # This data has been corrected for standard day
    #
    #            RPM,        Torque,         Power
    TestData = [(7000 * RPM, 107.35 * IN * OZF, 0.75 * HP),
                (8500 * RPM, 104.24 * IN * OZF, 0.88 * HP),
                (9500 * RPM, 101.13 * IN * OZF, 0.95 * HP),
                (9700 * RPM, 98.02 * IN * OZF, 0.94 * HP),
예제 #2
0
#from Prop.APC_12x4 import Prop as APC_12x4
from Prop.APC_13x4 import Prop as APC_13x4
from Prop.APC_12x5 import Prop as APC_12x5
from Prop.APC_12_25x3_75_adv import Prop as APC_12_25x3_75_adv
#from Prop_14x6 import Prop as Prop_14x6

Alt = 0 * FT
Vmax = 50 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

Propulsion += [ACPropulsion(Xoar_11x4, Engine)]
legend += ['Xoar_11x4']
Propulsion += [ACPropulsion(APC_12_25x3_75_adv, Engine)]
legend += ['APC_12_25x3_75_adv']
Propulsion += [ACPropulsion(Xoar_12x4, Engine)]
legend += ['Xoar_12x4']
Propulsion += [ACPropulsion(APC_12x5, Engine)]
legend += ['APC_12x5']
Propulsion += [ACPropulsion(APC_13x4, Engine)]
legend += ['APC_13x4']
#Propulsion += [ACPropulsion(APC_12x3,Engine)]   ; legend += ['APC_12x3']
#Propulsion += [ACPropulsion(APC_12x4,Engine)]   ; legend += ['APC_12x4']

#Propulsion += [ACPropulsion(APC_14x5,Engine)]   ; legend += ['14x5']
#Propulsion += [ACPropulsion(GRAUPNER_13_5x6,Engine)]   ; legend += ['13.5x6']
예제 #3
0
Engine.Weight = 1.5 * LBF

Engine.NoseCone.LenDi = [2 * IN, 1.125 * IN]
Engine.Muffler.LenDi = [6 * IN, 1.5 * IN]
Engine.DrawDetail = True

#
# Curvefitting parameters
#
Engine.BMEPR = 50.038 * LBF / IN**2
Engine.Rnmt = 0.01
Engine.Rtmt = 1.5
Engine.Rnsfc = 0.8

# Set Propulsion properties
Propulsion = ACPropulsion(Prop, Engine)
Propulsion.Alt = 0 * FT
Propulsion.Vmax = 100 * FT / SEC
Propulsion.nV = 20

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

    #
    # This data has been corrected for standard day
    #
    #            RPM,        Torque,         Power
    TestData = [(7000 * RPM, 107.35 * IN * OZF, 0.75 * HP),
                (8500 * RPM, 104.24 * IN * OZF, 0.88 * HP),
                (9500 * RPM, 101.13 * IN * OZF, 0.95 * HP),
                (9700 * RPM, 98.02 * IN * OZF, 0.94 * HP),
예제 #4
0
Alt = 0 * FT
Vmax = 70 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

#IMPORT PLOTS
# Propulsion += [ACPropulsion(Prop,AXI_4120_18)] ; legend += ['AXI_4120_18']
# Propulsion += [ACPropulsion(Prop,AXI_4120_20)] ; legend += ['AXI_4120_20']
# Propulsion += [ACPropulsion(Prop,AXI_4130_16)] ; legend += ['AXI_4130_16']
# Propulsion += [ACPropulsion(Prop,AXI_4130_20)] ; legend += ['AXI_4130_20']
# Propulsion += [ACPropulsion(Prop,AXI_5320_18)] ; legend += ['AXI_5320_18']
Propulsion += [ACPropulsion(Prop, AXI_5325_16)]
legend += ['AXI_5325_16']
# Propulsion += [ACPropulsion(Prop,AXI_5325_18)] ; legend += ['AXI_5325_18']

# Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
Propulsion += [ACPropulsion(Prop, Hacker_A40_14L_14)]
legend += ['Hacker_A40_14L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
Propulsion += [ACPropulsion(Prop, Hacker_A50_12L)]
legend += ['Hacker_A50_12L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14XS)] ; legend += ['Hacker_A50_14XS']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16L)] ; legend += ['Hacker_A50_16L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16S)] ; legend += ['Hacker_A50_16S']
예제 #5
0
#sys.path.append(os.path.join(BAPDir,r'Propulsion\Propellers'))
from Propellers.APC_20x8E import Prop
#sys.path.append(os.path.join(BAPDir,r'Propulsion\Motors'))
from Motors.Hacker_A50_14L import Motor

## # Scorpion Powerplant
##sys.path.append(os.path.join(BAPDir,r'Propulsion\Propellers'))
##from APC_22x10E import Prop
##sys.path.append(os.path.join(BAPDir,r'Propulsion\Motors'))
##from Scorpion250KV import Motor

#==============================================================================#
# PROPULSION MODEL
#==============================================================================#
# Set Propulsion properties
Propulsion = ACPropulsion(Prop, Motor)
Propulsion.Alt = 0 * FT
Propulsion.Vmax = 60 * FT / SEC
Propulsion.nV = 20

#==============================================================================#
# VISUALIZATION & RESULTS
#==============================================================================#
if __name__ == '__main__':
    import pylab as pyl

    print "Static Thrust :", AsUnit(Propulsion.T(0 * FT / SEC), "lbf")

    Vmax = 60
    V = npy.linspace(0, Vmax, 30) * FT / SEC
    Vprop = npy.linspace(0, Vmax, 5) * FT / SEC
from Propellers.APC_20x8E import Prop as APC_20x8E

##### Import Battery ####
from Aircraft_Models.Reg2015Aircraft_AeroCats.Propulsion.Batteries.Turnigy_6Cell_3000 import Turnigy_6Cell_3000

Motor.Battery = Turnigy_6Cell_3000

Alt  = 0*FT
Vmax = 70*FT/SEC
nV   = 20

Propulsion = []
legend = []

#Propulsion += [ACPropulsion(APC_18x8E, Motor)]
Propulsion += [ACPropulsion(APC_18x10E, Motor)]
# Propulsion += [ACPropulsion(APC_18x10E_mod, Motor)]
#Propulsion += [ACPropulsion(APC_19x8E, Motor)]
#Propulsion += [ACPropulsion(APC_18_25x10E, Motor)]
#Propulsion += [ACPropulsion(APC_18_5x10E, Motor)]
#Propulsion += [ACPropulsion(APC_18_75x10E, Motor)]
# Propulsion += [ACPropulsion(APC_19x10E, Motor)]
#Propulsion += [ACPropulsion(APC_19x10E_base, Motor)]
#Propulsion += [ACPropulsion(APC_20x8E, Motor)]

#### PLOT CREATION ####
V = npy.linspace(0,Vmax/(FT/SEC),30)*FT/SEC
Vprop = npy.linspace(0,Vmax/(FT/SEC),1)*FT/SEC
N = Motor.NRange()

for pp in Propulsion:
#IMPORT PROP
from Propellers.APC_19x10E import Prop
#IMPORT Battery
from Batteries.Turnigy_6Cell_3000 import Turnigy_6Cell_3000

Alt  = 0*FT
Vmax = 50*FT/SEC
nV   = 20

V = npy.linspace(0, Vmax / (FT/SEC), 30)*FT/SEC

Propulsion = []
legend = []

#IMPORT PLOTS
Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
Propulsion += [ACPropulsion(Prop,Hacker_A60_7XS)] ; legend += ['Hacker_A60_7XS']

Nmax = 0
for pp in Propulsion:
    #pp.Engine.Vb = 11.1*Volt
    #pp.Engine.Cb = 325*mAh
    
    pp.Engine.Battery = Turnigy_6Cell_3000

    Nmax = max(pp.Engine.Nmax/RPM, Nmax)
    
V = npy.linspace(0,Vmax/(FT/SEC),30)*FT/SEC
Vprop = npy.linspace(0,Vmax/(FT/SEC),5)*FT/SEC
N = npy.linspace(0, Nmax, 30)*RPM
예제 #8
0
Alt = 0 * FT
Vmax = 50 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

#IMPORT PLOTS
# Propulsion += [ACPropulsion(Prop,AXI_4120_18)] ; legend += ['AXI_4120_18']
# Propulsion += [ACPropulsion(Prop,AXI_4120_20)] ; legend += ['AXI_4120_20']
# Propulsion += [ACPropulsion(Prop,AXI_4130_16)] ; legend += ['AXI_4130_16']
# Propulsion += [ACPropulsion(Prop,AXI_4130_20)] ; legend += ['AXI_4130_20']
Propulsion += [ACPropulsion(Prop, AXI_5320_18)]
legend += ['AXI_5320_18']
# Propulsion += [ACPropulsion(Prop,AXI_5325_16)] ; legend += ['AXI_5325_16']
# Propulsion += [ACPropulsion(Prop,AXI_5325_18)] ; legend += ['AXI_5325_18']

# Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A40_14L_14)] ; legend += ['Hacker_A40_14L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
Propulsion += [ACPropulsion(Prop, Hacker_A50_12L)]
legend += ['Hacker_A50_12L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14XS)] ; legend += ['Hacker_A50_14XS']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16L)] ; legend += ['Hacker_A50_16L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16S)] ; legend += ['Hacker_A50_16S']
예제 #9
0
from Batteries.ThunderPower_4Cell_4400 import ThunderPower_4Cell_4400

Alt = 0 * FT
Vmax = 70 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

#IMPORT PLOTS
# Propulsion += [ACPropulsion(Prop,AXI_4120_18)] ; legend += ['AXI_4120_18']
# Propulsion += [ACPropulsion(Prop,AXI_4120_20)] ; legend += ['AXI_4120_20']
# Propulsion += [ACPropulsion(Prop,AXI_4130_16)] ; legend += ['AXI_4130_16']
Propulsion += [ACPropulsion(Prop, AXI_4130_20)]
legend += ['AXI_4130_20']
# Propulsion += [ACPropulsion(Prop,AXI_5320_18)] ; legend += ['AXI_5320_18']
# Propulsion += [ACPropulsion(Prop,AXI_5325_16)] ; legend += ['AXI_5325_16']
# Propulsion += [ACPropulsion(Prop,AXI_5325_18)] ; legend += ['AXI_5325_18']

# Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A40_14L_14)] ; legend += ['Hacker_A40_14L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L)] ; legend += ['Hacker_A50_12L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14XS)] ; legend += ['Hacker_A50_14XS']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16L)] ; legend += ['Hacker_A50_16L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16S)] ; legend += ['Hacker_A50_16S']
예제 #10
0
Vmax = 70 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

#IMPORT PLOTS
# Propulsion += [ACPropulsion(Prop,AXI_4120_18)] ; legend += ['AXI_4120_18']
# Propulsion += [ACPropulsion(Prop,AXI_4120_20)] ; legend += ['AXI_4120_20']
# Propulsion += [ACPropulsion(Prop,AXI_4130_16)] ; legend += ['AXI_4130_16']
# Propulsion += [ACPropulsion(Prop,AXI_4130_20)] ; legend += ['AXI_4130_20']
# Propulsion += [ACPropulsion(Prop,AXI_5320_18)] ; legend += ['AXI_5320_18']
# Propulsion += [ACPropulsion(Prop,AXI_5325_16)] ; legend += ['AXI_5325_16']
Propulsion += [ACPropulsion(Prop, AXI_5325_18)]
legend += ['AXI_5325_18']  # Selected - use!

# # Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A40_14L_14)] ; legend += ['Hacker_A40_14L_14']
# # Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L)] ; legend += ['Hacker_A50_12L']
# # Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# # Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
# # Propulsion += [ACPropulsion(Prop,Hacker_A50_14XS)] ; legend += ['Hacker_A50_14XS']
Propulsion += [ACPropulsion(Prop, Hacker_A50_16L)]
legend += ['Hacker_A50_16L']  # Selected - use!
# # Propulsion += [ACPropulsion(Prop,Hacker_A50_16S)] ; legend += ['Hacker_A50_16S']
# # Propulsion += [ACPropulsion(Prop,Hacker_A50L_Turnado)] ; legend += ['Hacker_A50L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A60_20S)] ; legend += ['Hacker_A60_20S']
Vmax = 70 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

#IMPORT PLOTS
# Propulsion += [ACPropulsion(Prop,AXI_4120_18)] ; legend += ['AXI_4120_18']
# Propulsion += [ACPropulsion(Prop,AXI_4120_20)] ; legend += ['AXI_4120_20']
# Propulsion += [ACPropulsion(Prop,AXI_4130_16)] ; legend += ['AXI_4130_16']
# Propulsion += [ACPropulsion(Prop,AXI_4130_20)] ; legend += ['AXI_4130_20']
# Propulsion += [ACPropulsion(Prop,AXI_5320_18)] ; legend += ['AXI_5320_18']
# Propulsion += [ACPropulsion(Prop,AXI_5325_16)] ; legend += ['AXI_5325_16']
Propulsion += [ACPropulsion(Prop, AXI_5325_18)]
legend += ['AXI_5325_18']

# Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A40_14L_14)] ; legend += ['Hacker_A40_14L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L)] ; legend += ['Hacker_A50_12L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
Propulsion += [ACPropulsion(Prop, Hacker_A50_14L)]
legend += ['Hacker_A50_14L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14XS)] ; legend += ['Hacker_A50_14XS']
Propulsion += [ACPropulsion(Prop, Hacker_A50_16L)]
legend += ['Hacker_A50_16L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16S)] ; legend += ['Hacker_A50_16S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50L_Turnado)] ; legend += ['Hacker_A50L_Turnado']
#IMPORT PROP
from Propellers.APC_20x8E import Prop
#IMPORT Battery
from Batteries.ThunderPower_4Cell_4400 import ThunderPower_4Cell_4400

Alt  = 0*FT
Vmax = 70*FT/SEC
nV   = 20

V = npy.linspace(0, Vmax / (FT/SEC), 30)*FT/SEC

Propulsion = []
legend = []

#IMPORT PLOTS
Propulsion += [ACPropulsion(Prop,AXI_4120_18)] ; legend += ['AXI_4120_18']
Propulsion += [ACPropulsion(Prop,AXI_4120_20)] ; legend += ['AXI_4120_20']
Propulsion += [ACPropulsion(Prop,AXI_4130_16)] ; legend += ['AXI_4130_16']
Propulsion += [ACPropulsion(Prop,AXI_4130_20)] ; legend += ['AXI_4130_20'] #
Propulsion += [ACPropulsion(Prop,AXI_5320_18)] ; legend += ['AXI_5320_18']
Propulsion += [ACPropulsion(Prop,AXI_5325_16)] ; legend += ['AXI_5325_16']
Propulsion += [ACPropulsion(Prop,AXI_5325_18)] ; legend += ['AXI_5325_18']


# Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A40_14L_14)] ; legend += ['Hacker_A40_14L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L)] ; legend += ['Hacker_A50_12L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
예제 #13
0
from Batteries.fake22V_ThunderPower_4Cell_4400 import ThunderPower_4Cell_4400

Alt = 0 * FT
Vmax = 70 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

#IMPORT PLOTS
# Propulsion += [ACPropulsion(Prop,AXI_4120_18)] ; legend += ['AXI_4120_18']
# Propulsion += [ACPropulsion(Prop,AXI_4120_20)] ; legend += ['AXI_4120_20']
# Propulsion += [ACPropulsion(Prop,AXI_4130_16)] ; legend += ['AXI_4130_16']
Propulsion += [ACPropulsion(Prop, AXI_4130_20)]
legend += ['AXI_4130_20']
# Propulsion += [ACPropulsion(Prop,AXI_5320_18)] ; legend += ['AXI_5320_18']
# Propulsion += [ACPropulsion(Prop,AXI_5325_16)] ; legend += ['AXI_5325_16']
# Propulsion += [ACPropulsion(Prop,AXI_5325_18)] ; legend += ['AXI_5325_18']

# Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A40_14L_14)] ; legend += ['Hacker_A40_14L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L)] ; legend += ['Hacker_A50_12L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14XS)] ; legend += ['Hacker_A50_14XS']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16L)] ; legend += ['Hacker_A50_16L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16S)] ; legend += ['Hacker_A50_16S']
예제 #14
0
#from os import environ as _environ; _environ["scalar_off"] = "off"

from Aerothon.ACPropeller import ACPropeller
from Aerothon.ACEngine import ACEngine
from Aerothon.ACPropulsion import ACPropulsion
from Engine.OS61FX_04 import Engine as OS
from Engine.MAGNUM import Engine as Magnum
from Prop.APC_12_25x3_75 import Prop
#from APC_13_5x6 import Prop
#from GRAUPNER_13_5x6 import Prop
import numpy as npy
from scalar.units import IN, LBF, PSFC, SEC, ARCDEG, FT, OZF, RPM, HP
from scalar.units import AsUnit

# Set Propulsion properties
PropulsionOS = ACPropulsion(Prop, OS)
PropulsionOS.Alt = 0 * FT
PropulsionOS.Vmax = 100 * FT / SEC
PropulsionOS.nV = 20

PropulsionMAG = ACPropulsion(Prop, Magnum)
PropulsionMAG.Alt = 0 * FT
PropulsionMAG.Vmax = 100 * FT / SEC
PropulsionMAG.nV = 20

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

    print "Static Thrust :", AsUnit(PropulsionOS.T(0 * FT / SEC), "lbf")
    print "Static Thrust :", AsUnit(PropulsionMAG.T(0 * FT / SEC), "lbf")
예제 #15
0
#Motor.Ri = Motor.Ri + 0.04*OHM

Motor.Battery = Battery
Motor.SpeedController = Phoenix100

Motor.Battery.WeightGroup = 'Electronics'
Motor.SpeedController.WeightGroup = 'Electronics'

Motor.WeightGroup = "Propulsion"
Prop.WeightGroup = "Propulsion"

Vmax = 50

# Set Propulsion properties
Propulsion = ACPropulsion(Prop, Motor)
Propulsion.Alt = 0 * FT
Propulsion.Vmax = Vmax * FT / SEC
Propulsion.nV = 30

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

    V = npy.linspace(0, Vmax, 30) * FT / SEC
    Vprop = npy.linspace(0, Vmax, 6) * FT / SEC
    N = Motor.NRange()
    Propulsion.PlotMatched(V,
                           N,
                           Vprop,
                           fig=2,
                           ylimits=[None, None, None, None])
# from Propellers.APC_20x8E import Prop as APC_20x8E

##### Import Battery ####
from Aircraft_Models.Reg2015Aircraft_AeroCats.Propulsion.Batteries.Turnigy_6Cell_3000 import Turnigy_6Cell_3000

Motor.Battery = Turnigy_6Cell_3000

Alt = 0 * FT
Vmax = 100 * FT / SEC
nV = 20

Propulsion = []
legend = []

#Propulsion += [ACPropulsion(APC_18x8E, Motor)]
Propulsion += [ACPropulsion(APC_12_25, Motor)]
Propulsion += [ACPropulsion(APC_13x4, Motor)]
Propulsion += [ACPropulsion(APC_13x6, Motor)]
Propulsion += [ACPropulsion(APC_13X6_5, Motor)]
Propulsion += [ACPropulsion(APC_14X4, Motor)]
# Propulsion += [ACPropulsion(APC_17x10E, Motor)]
# Propulsion += [ACPropulsion(APC_18x10E, Motor)]
#Propulsion += [ACPropulsion(APC_19x8E, Motor)]
#Propulsion += [ACPropulsion(APC_18_25x10E, Motor)]
#Propulsion += [ACPropulsion(APC_18_5x10E, Motor)]
#Propulsion += [ACPropulsion(APC_18_75x10E, Motor)]
# Propulsion += [ACPropulsion(APC_19x10E, Motor)]
#Propulsion += [ACPropulsion(APC_19x10E_base, Motor)]
#Propulsion += [ACPropulsion(APC_20x8E, Motor)]

#### PLOT CREATION ####
from Propellers.APC_20x8E import Prop as APC_20x8E
from Propellers.APC_22x8 import Prop as APC_22x8

##### Import Battery ####
from Aircraft_Models.Reg2015Aircraft_AeroCats.Propulsion.Batteries.Turnigy_6Cell_3000 import Turnigy_6Cell_3000

Motor.Battery = Turnigy_6Cell_3000

Alt = 0 * FT
Vmax = 60 * FT / SEC
nV = 20

Propulsion = []
legend = []

Propulsion += [ACPropulsion(APC_20x8E, Motor)]

#### PLOT CREATION ####
V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC
Vprop = npy.linspace(0, Vmax / (FT / SEC), 1) * FT / SEC
N = Motor.NRange()

for pp in Propulsion:
    pp.Alt = Alt
    pp.Vmax = Vmax
    pp.nV = nV

    legend.append(pp.Prop.name)

    pp.PlotMatched(V, N, Vprop, fig=1)
    pp.PlotTestData(fig=3)
from Propellers.APC_20x8E import Prop as APC_20x8E

##### Import Battery ####
from Aircraft_Models.Reg2015Aircraft_AeroCats.Propulsion.Batteries.Turnigy_6Cell_3000 import Turnigy_6Cell_3000

Motor.Battery = Turnigy_6Cell_3000

Alt  = 0*FT
Vmax = 70*FT/SEC
nV   = 20

Propulsion = []
legend = []

#Propulsion += [ACPropulsion(APC_18x8E, Motor)]
Propulsion += [ACPropulsion(APC_18x10E, Motor)]
Propulsion += [ACPropulsion(APC_18x10E_mod, Motor)]
#Propulsion += [ACPropulsion(APC_19x8E, Motor)]
#Propulsion += [ACPropulsion(APC_18_25x10E, Motor)]
#Propulsion += [ACPropulsion(APC_18_5x10E, Motor)]
#Propulsion += [ACPropulsion(APC_18_75x10E, Motor)]
Propulsion += [ACPropulsion(APC_19x10E, Motor)]
#Propulsion += [ACPropulsion(APC_19x10E_base, Motor)]
#Propulsion += [ACPropulsion(APC_20x8E, Motor)]

#### PLOT CREATION ####
V = npy.linspace(0,Vmax/(FT/SEC),30)*FT/SEC
Vprop = npy.linspace(0,Vmax/(FT/SEC),1)*FT/SEC
N = Motor.NRange()

for pp in Propulsion:
예제 #19
0
# Propulsion += [ACPropulsion(Prop,AXI_5325_16)] ; legend += ['AXI_5325_16']
# Propulsion += [ACPropulsion(Prop,AXI_5325_18)] ; legend += ['AXI_5325_18']


# Propulsion += [ACPropulsion(Prop,Hacker_A40_12L_14)] ; legend += ['Hacker_A40_12L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A40_14L_14)] ; legend += ['Hacker_A40_14L_14']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L_Turnado_V3)] ; legend += ['Hacker_A50_12L_Turnado_V3']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12L)] ; legend += ['Hacker_A50_12L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_12S)] ; legend += ['Hacker_A50_12S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L_Turnado)] ; legend += ['Hacker_A50_14L_Turnado']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14L)] ; legend += ['Hacker_A50_14L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_14XS)] ; legend += ['Hacker_A50_14XS']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16L)] ; legend += ['Hacker_A50_16L']
# Propulsion += [ACPropulsion(Prop,Hacker_A50_16S)] ; legend += ['Hacker_A50_16S']
# Propulsion += [ACPropulsion(Prop,Hacker_A50L_Turnado)] ; legend += ['Hacker_A50L_Turnado']
Propulsion += [ACPropulsion(Prop,Hacker_A60_20S)] ; legend += ['Hacker_A60_20S']
# Propulsion += [ACPropulsion(Prop,Hacker_A60_5S)] ; legend += ['Hacker_A60_5S']
# Propulsion += [ACPropulsion(Prop,Hacker_A60_5XS28)] ; legend += ['Hacker_A60_5XS28']
# Propulsion += [ACPropulsion(Prop,Hacker_A60_6XS28)] ; legend += ['Hacker_A60_6XS28']
Propulsion += [ACPropulsion(Prop,Hacker_A60_7S)] ; legend += ['Hacker_A60_7S']
# Propulsion += [ACPropulsion(Prop,Hacker_A60_7XS)] ; legend += ['Hacker_A60_7XS']

# Propulsion += [ACPropulsion(Prop,Hyperion_ZS4025_14)] ; legend += ['Hyperion_ZS4025_14']
# Propulsion += [ACPropulsion(Prop,Hyperion_ZS4025_16)] ; legend += ['Hyperion_ZS4025_16']
# Propulsion += [ACPropulsion(Prop,Hyperion_ZS4035_10)] ; legend += ['Hyperion_ZS4035_10']
# Propulsion += [ACPropulsion(Prop,Hyperion_ZS4035_12)] ; legend += ['Hyperion_ZS4035_12']
# Propulsion += [ACPropulsion(Prop,Hyperion_ZS4045_10)] ; legend += ['Hyperion_ZS4045_10']
Propulsion += [ACPropulsion(Prop,Hyperion_ZS4045_12)] ; legend += ['Hyperion_ZS4045_12']

# Propulsion += [ACPropulsion(Prop,OS_OSMG9540)] ; legend += ['OS_OSMG9540']
# Propulsion += [ACPropulsion(Prop,OS_OSMG9550)] ; legend += ['OS_OSMG9550']
예제 #20
0
#IMPORT PROP
from Propellers.APC_20x8E import Prop
#IMPORT Battery
from Batteries.Turnigy_6Cell_3000 import Turnigy_6Cell_3000

Alt = 0 * FT
Vmax = 50 * FT / SEC
nV = 20

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC

Propulsion = []
legend = []

#IMPORT PLOTS
Propulsion += [ACPropulsion(Prop, Hacker_A50_14L)]
legend += ['Hacker_A50_14L']
Propulsion += [ACPropulsion(Prop, Hacker_A60_7XS)]
legend += ['Hacker_A60_7XS']

Nmax = 0
for pp in Propulsion:
    #pp.Engine.Vb = 11.1*Volt
    #pp.Engine.Cb = 325*mAh

    pp.Engine.Battery = Turnigy_6Cell_3000

    Nmax = max(pp.Engine.Nmax / RPM, Nmax)

V = npy.linspace(0, Vmax / (FT / SEC), 30) * FT / SEC
Vprop = npy.linspace(0, Vmax / (FT / SEC), 5) * FT / SEC