def test_Power(self): """ Tests that the engine class is working properly """ # Create the propeller defined in the mathcad pdf documents Prop = ACPropeller() Prop.D = 14.2*IN Prop.PitchAngle = 12*ARCDEG # Prop.Pitch = 7.1117*IN Prop.dAlpha = 0*ARCDEG Prop.Solidity = 0.0136 Prop.RD = 3/8 Prop.AlphaStall = 14*ARCDEG N = 11400 * RPM self.assertAlmostEqual(Prop.P(N, 0*FT/SEC, 0*FT) / HP, 1.2950, 4)
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 17x7E' Prop.D = 17 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 7 * IN Prop.dAlpha = 3.95 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .077 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 67 * GRAM * gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, Pa, degR, W, inHg, K from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 13x4' Prop.D = 13 * IN Prop.Thickness = 5 / 8 * IN Prop.Pitch = 3.5 * IN Prop.dAlpha = 4.9 * ARCDEG Prop.Solidity = 0.015 Prop.AlphaStall = 15 * ARCDEG Prop.CLSlope = 0.065 / ARCDEG Prop.CDCurve = 2.2 Prop.CDp = 0.01 Prop.Weight = 1.80 * OZF STD = STDCorrection(30.16 * inHg, (1.667 + 273.15) * K) # RPM, Thrust ThrustData1 = [(12080 * RPM, (10 * LBF + 4 * OZF) * STD), (11650 * RPM, (9 * LBF + 6 * OZF) * STD), (10980 * RPM, (8 * LBF + 13 * OZF) * STD), (10280 * RPM, (8 * LBF + 0 * OZF) * STD),
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, Pa, degR, W, inHg, K from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Prop 13.5x6' Prop.D = 13.5 * IN Prop.Thickness = 5 / 8 * IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 5. * IN Prop.dAlpha = 4. * ARCDEG Prop.Solidity = 0.014 Prop.RD = 3 / 8 Prop.AlphaStall = 14 * ARCDEG Prop.CLSlope = 0.07 / ARCDEG Prop.Weight = 1.25 * OZF # # These are corrected for standard day STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K) # RPM, Thrust Prop.ThrustData = [(3200 * RPM, (1 * LBF + 6 * OZF) * STD), (5610 * RPM, (3 * LBF + 2 * OZF) * STD), (7380 * RPM, (3 * LBF + 13 * OZF) * STD),
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, Pa, degR, inHg from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Prop 14x12' Prop.D = 14 * IN Prop.Thickness = 5 / 8 * IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 6 * IN Prop.dAlpha = 0.8 * ARCDEG Prop.Solidity = 0.021 #0.0125 seems to match the old data better... Prop.RD = 3 / 8 Prop.AlphaStall = 16 * ARCDEG Prop.Weight = 100 * LBF #Standard correction for 2:00 pm for the test day STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K) # # These are corrected for standard day # # RPM, Thrust Prop.ThrustData = [(2370 * RPM, (0 * LBF + 10 * OZF) * STD), (4140 * RPM, (3 * LBF + 2 * OZF) * STD), (5160 * RPM, (4 * LBF + 14 * OZF) * STD),
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties ###################################################################### # THIS PROPELLER WAS AN APC 19X10E THAT WAS CUT TO 18 INCH DIAMETER ###################################################################### Prop = ACPropeller() Prop.name = 'APC 18x10E_mod' Prop.D = 18 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 10 * IN Prop.dAlpha = 5.0 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .0725 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 87 * GRAM * gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf'
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 18x8E' Prop.D = 18 * IN Prop.Thickness = 0.48 * IN Prop.Pitch = 8 * IN Prop.dAlpha = 3.6 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .0770 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 86 * GRAM * gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.ACEngine import ACEngine from Aerothon.ACPropulsion import ACPropulsion import numpy as npy from Aerothon.scalar.units import IN, LBF, PSFC, SEC, ARCDEG, FT, OZF, RPM, HP from Aerothon.scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.D = 13.5 * IN # Diameter Prop.Thickness = .5 * IN # Thickness at the hub... just for drawing purposes Prop.PitchAngle = 14 * ARCDEG # Pitch angle.. aka \Beta Prop.dAlpha = 0 * ARCDEG # Difference between measured alpha and zero lift alpha Prop.Solidity = 0.0136 # Proportional to the blade disk area, similar to the activity factor (AreaBlades/(2*D**2)) Prop.RD = 3 / 8 # The location on the profile chord where the PitchAngle is defined (default 3/8) Von Mises 306 Prop.AlphaStall = 12 * ARCDEG # Stall angle of attack Prop.Weight = 3 / 32 * LBF # Weight # Use these parameters to match test data if need be. # Prop.CLSlope = .078/ARCDEG #- 2D airfoil lift slope # Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket # Prop.CDp = .02 #- Parasitic drag # Set Engine properties - glow engine... see 2015 files for setting up electric motor Engine = ACEngine() Engine.Rbs = 1.1 Engine.Rla = 3.5 Engine.NumCyl = 1 Engine.NumRev = 1 Engine.CompRatio = 9
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, hPa, K, W, inHg from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Graupner 14.2x4' Prop.D = 14.2*IN Prop.Thickness = 5/8*IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 4*IN Prop.dAlpha = 0*ARCDEG Prop.Solidity = 0.013 Prop.RD = 3/8 Prop.AlphaStall = 15*ARCDEG Prop.AlphaZeroCL = 0*ARCDEG Prop.CLSlope = 0.07/ARCDEG #- 2D airfoil lift slope (default 0.068/deg) Prop.CDp = 0.01 Prop.Weight = 1.95*OZF # # These are corrected for standard day #Standard correction for 2:00 pm for the test day STD = STDCorrection(30.03*inHg, (19 + 273.15)*K) # # RPM, Thrust
# import built-in modules import os import sys import numpy as npy import cmath as math import pylab as pyl from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 22x12E' Prop.D = 22 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 12 * IN Prop.dAlpha = 11 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .065 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .04 #- Parasitic drag Prop.Weight = 159.89 * GRAM * gacc
# link path to Aerothon sys.path.append(trunkDir) # import Aerothon modules from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K,\ degR, inHg, MM from scalar.units import AsUnit from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection #==============================================================================# # PROPELLER MODEL #==============================================================================# # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 20x8E' Prop.D = 20 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 8 * IN Prop.dAlpha = 3.3 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .078 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 4.05 * OZF
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, hPa, K, W, inHg from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 14x5' Prop.D = 14 * IN Prop.Thickness = 5 / 8 * IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 5 * IN Prop.dAlpha = 3.7 * ARCDEG Prop.Solidity = 0.012 Prop.RD = 3 / 8 Prop.AlphaStall = 15 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = 0.0725 / ARCDEG #- 2D airfoil lift slope (default 0.068/deg) Prop.CDp = 0.01 Prop.Weight = 1.8 * OZF # # These are corrected for standard day #Standard correction for 2:00 pm for the test day STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K) # # RPM, Thrust
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 18x10E' Prop.D = 18*IN Prop.Thickness = 0.5*IN Prop.Pitch = 10*IN Prop.dAlpha = 2.8*ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20*ARCDEG Prop.AlphaZeroCL = 0*ARCDEG Prop.CLSlope = .078/ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 87*GRAM*gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Prop 14.2x4' Prop.D = 14.5*IN Prop.Thickness = 5/8*IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 4*IN Prop.dAlpha = 0.8*ARCDEG Prop.Solidity = 0.013 #0.0125 seems to match the old data better... Prop.RD = 3/8 Prop.AlphaStall = 13*ARCDEG Prop.Weight = 3/32*LBF # # These are corrected for standard day # # RPM, Thrust Prop.ThrustData = [(8100 *RPM, 4 *LBF + 8*OZF), (9200 *RPM, 5 *LBF + 13*OZF), (11200 *RPM, 9 *LBF + 3*OZF)] # RPM, Torque Prop.TorqueData = [(11000 *RPM, 114.768*IN*OZF)]
# link path to Aerothon sys.path.append(trunkDir) # import Aerothon modules from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K,\ degR, inHg, MM from scalar.units import AsUnit from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection #==============================================================================# # PROPELLER MODEL #==============================================================================# # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 19x8E' Prop.D = 19 * IN Prop.Thickness = .5 * IN Prop.Pitch = 8 * IN Prop.dAlpha = 5.6 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .14 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.0 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 99 * GRAM * gacc
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 17x10E' Prop.D = 17*IN Prop.Thickness = 0.5*IN Prop.Pitch = 10*IN Prop.dAlpha = 3.65*ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20*ARCDEG Prop.AlphaZeroCL = 0*ARCDEG Prop.CLSlope = .0765/ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 50*GRAM*gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 18.5x10E' Prop.D = 18.5 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 10 * IN Prop.dAlpha = 3.8 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .075 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 99 * GRAM * gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Prop 14.2x4' Prop.D = 14.5 * IN Prop.Thickness = 5 / 8 * IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 4. * IN Prop.dAlpha = 3.1 * ARCDEG #0.8*ARCDEG Prop.CLSlope = .07 / ARCDEG Prop.Solidity = 0.0102 Prop.RD = 3 / 8 Prop.AlphaStall = 13 * ARCDEG #13*ARCDEG Prop.Weight = 3 / 32 * LBF # # These are corrected for standard day # # RPM, Thrust Prop.ThrustData = [(8100 * RPM, 4 * LBF + 8 * OZF), (9200 * RPM, 5 * LBF + 13 * OZF), (11200 * RPM, 9 * LBF + 3 * OZF)] # RPM, Torque Prop.TorqueData = [(11000 * RPM, 114.768 * IN * OZF)]
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.ACEngine import ACEngine from Aerothon.ACPropulsion import ACPropulsion import numpy as npy from scalar.units import IN, LBF, PSFC, SEC, ARCDEG, FT, OZF, RPM, HP # Set Propeller properties Prop = ACPropeller() Prop.D = 14.5 * IN Prop.Thickness = 0.25 * IN Prop.PitchAngle = 12 * ARCDEG Prop.dAlpha = 0 * ARCDEG Prop.Solidity = 0.0136 Prop.RD = 3 / 8 Prop.AlphaStall = 14 * ARCDEG Prop.Weight = 0.3 * LBF # Set Engine properties Engine = ACEngine() Engine.Rbs = 1.1 Engine.Rla = 3.5 Engine.NumCyl = 1 Engine.NumRev = 1 Engine.CompRatio = 9 Engine.Vd = 0.607 * IN**3 Engine.PistonSpeedR = 38.27 * FT / SEC Engine.MEPtlmt = 10.1526 * LBF / IN**2 Engine.SFCmt = 1 * PSFC Engine.A_F = 16 Engine.PS = 1
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 19x10E_base' Prop.D = 19 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 10 * IN Prop.dAlpha = 2.9 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .08 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 99 * GRAM * gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, hPa, K, W, inHg from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 12.25x3.75 ADV' Prop.D = 12.25 * IN Prop.Thickness = 5 / 8 * IN Prop.Pitch = 3.75 * IN Prop.dAlpha = 6.25 * ARCDEG # for correlating Prop.Solidity = 0.013 # for correlating Prop.AlphaStall = 18 * ARCDEG # for correlating Prop.AlphaZeroCL = 0 * ARCDEG #- 2D curvature of the airfoil drag bucket Prop.CLSlope = 0.095 / ARCDEG #- 2D airfoil lift slope (default 0.068/deg) Prop.CDCurve = 2.5 #- 2D curvature of the airfoil drag bucket Prop.CDp = 0.01 #- 2D parasite drag Prop.Weight = 1.80 * OZF Prop.WeightGroup = 'Propulsion' # # These are corrected for standard day #Standard correction for 2:00 pm for the test day #STD = STDCorrection(30.16*inHg, (1.6667 + 273.15)*K)
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 24x12E' Prop.D = 24 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 12 * IN Prop.dAlpha = 3.3 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .078 / ARCDEG # - 2D airfoil lift slope Prop.CDCurve = 2.2 # - 2D curvature of the airfoil drag bucket Prop.CDp = .02 # - Parasitic drag Prop.Weight = 150 * GRAM * gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, hPa, K, W, inHg from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Xoar 12x4' Prop.D = 12 * IN Prop.Thickness = 5 / 8 * IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 4 * IN Prop.dAlpha = 3.4 * ARCDEG Prop.Solidity = 0.0135 Prop.AlphaStall = 14 * ARCDEG Prop.CLSlope = 0.072 / ARCDEG Prop.Weight = .88 * OZF # # These are corrected for standard day #Standard correction for 2:00 pm for the test day STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K) # # RPM, Thrust Prop.ThrustData = [(3750 * RPM, (0 * LBF + 14 * OZF) * STD), (6210 * RPM, (2 * LBF + 4 * OZF) * STD), (7830 * RPM, (1 * LBF + 15 * OZF) * STD),
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 18.25x10E' Prop.D = 18.25*IN Prop.Thickness = 0.5*IN Prop.Pitch = 10*IN Prop.dAlpha = 3.8*ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20*ARCDEG Prop.AlphaZeroCL = 0*ARCDEG Prop.CLSlope = .077/ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 99*GRAM*gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None
# (USER) set-up directories trunkDir = r'C:\eclipse\workspace\AircraftDesign\trunk' atlasDir = os.path.join(trunkDir,r'Aircraft_Models\Reg2017Aircraft_BearcatAirlines\BAP') # link path to Aerothon sys.path.append(trunkDir) from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 22x8' Prop.D = 22*IN Prop.Thickness = 0.5*IN Prop.Pitch = 8*IN Prop.dAlpha = 11*ARCDEG #### 3.3 Prop.Solidity = 0.0126 Prop.AlphaStall = 20*ARCDEG Prop.AlphaZeroCL = 0*ARCDEG Prop.CLSlope = .22/ARCDEG #- 2D airfoil lift slope .76 Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 240*GRAM*gacc
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, Pa, degR, W, inHg, K from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Prop 13.5x6' Prop.D = 13.5 * IN Prop.Thickness = 5 / 8 * IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 6 * IN Prop.dAlpha = 0.8 * ARCDEG Prop.Solidity = 0.013 #0.0125 seems to match the old data better... Prop.RD = 3 / 8 Prop.AlphaStall = 16 * ARCDEG Prop.Weight = 3 / 32 * LBF # # These are corrected for standard day #Standard correction for 2:00 pm for the test day STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K) # RPM, Thrust Prop.ThrustData = [(1726 * RPM, (1 * LBF + 10 * OZF) * STD), (3560 * RPM, (4 * LBF + 12 * OZF) * STD), (4600 * RPM, (6 * LBF + 5 * OZF) * STD), (4850 * RPM, (6 * LBF + 11 * OZF) * STD)]
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'Prop 13.5x4' Prop.D = 13.5*IN Prop.Thickness = 5/8*IN #Prop.PitchAngle = 12*ARCDEG Prop.Pitch = 4*IN Prop.dAlpha = 0.8*ARCDEG Prop.Solidity = 0.013 #0.0125 seems to match the old data better... Prop.RD = 3/8 Prop.AlphaStall = 13*ARCDEG Prop.Weight = 3/32*LBF # # These are corrected for standard day # # RPM, Thrust #Prop.ThrustData = [(8100 *RPM, 4 *LBF + 8*OZF), # (9200 *RPM, 5 *LBF + 13*OZF), # (11200 *RPM, 9 *LBF + 3*OZF)] # # RPM, Torque #Prop.TorqueData = [(11000 *RPM, 114.768*IN*OZF)]
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, hPa, K, W, inHg from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 12.25x3.75' Prop.D = 12.25 * IN Prop.Thickness = 5 / 8 * IN Prop.Pitch = 3.75 * IN Prop.dAlpha = 6.25 * ARCDEG Prop.Solidity = 0.012 Prop.AlphaStall = 18 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG #- 2D curvature of the airfoil drag bucket Prop.CLSlope = 0.09 / ARCDEG #- 2D airfoil lift slope (default 0.068/deg) Prop.CDCurve = 2.5 #- 2D curvature of the airfoil drag bucket Prop.CDp = 0.01 #- 2D parasite drag Prop.Weight = 1.80 * OZF Prop.WeightGroup = 'Propulsion' # # These are corrected for standard day #Standard correction for 2:00 pm for the test day STD = STDCorrection(30.03 * inHg, (19 + 273.15) * K)
# import built-in modules import os import sys import numpy as npy import cmath as math import pylab as pyl from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'APC 22x10E' Prop.D = 22 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 10 * IN Prop.dAlpha = 11 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .22 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 240.9 * GRAM * gacc
from __future__ import division # let 5/2 = 2.5 rather than 2 from Aerothon.ACPropeller import ACPropeller from Aerothon.AeroUtil import STDCorrection import numpy as npy import pylab as pyl from scalar.units import IN, LBF, SEC, ARCDEG, FT, RPM, OZF, GRAM, gacc, W, K, degR, inHg, MM from scalar.units import AsUnit # Set Propeller properties Prop = ACPropeller() Prop.name = 'XOAR 22x6' Prop.D = 22 * IN Prop.Thickness = 0.5 * IN Prop.Pitch = 6 * IN Prop.dAlpha = 5.75 * ARCDEG Prop.Solidity = 0.0126 Prop.AlphaStall = 20 * ARCDEG Prop.AlphaZeroCL = 0 * ARCDEG Prop.CLSlope = .075 / ARCDEG #- 2D airfoil lift slope Prop.CDCurve = 2.2 #- 2D curvature of the airfoil drag bucket Prop.CDp = .02 #- Parasitic drag Prop.Weight = 111 * GRAM * gacc Prop.ThrustUnit = LBF Prop.ThrustUnitName = 'lbf' Prop.PowerUnit = W Prop.PowerUnitName = 'watt' Prop.MaxTipSpeed = None