Ejemplo n.º 1
0
		#Noise computations
		T_perRotor = solution("T_perRotor_OnDemandSizingMission")[0]
		Q_perRotor = solution("Q_perRotor_OnDemandSizingMission")[0]
		R = solution("R")
		VT = solution("VT_OnDemandSizingMission")[0]
		s = solution("s")
		Cl_mean = solution("Cl_{mean_{max}}")
		N = solution("N")

		B = generic_data["B"]
		delta_S = generic_data["delta_S"]

		#A-weighted
		f_peak, SPL, spectrum = vortex_noise(T_perRotor=T_perRotor,R=R,VT=VT,s=s,
			Cl_mean=Cl_mean,N=N,B=B,delta_S=delta_S,h=0*ureg.ft,t_c=0.12,St=0.28,
			weighting="A")
		configs[config]["SPL_A"][i] = SPL

	configs[config]["TOGW"] = configs[config]["TOGW"]*ureg.lbf
	configs[config]["W_{battery}"] = configs[config]["W_{battery}"]*ureg.lbf



# Plotting commands
plt.ion()
fig1 = plt.figure(figsize=(12,12), dpi=80)
plt.rc('axes', axisbelow=True)
plt.show()

y_pos = np.arange(len(configs))
Ejemplo n.º 2
0
		# Noise computations (sizing mission)
		T_perRotor = solution("T_perRotor_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")[i]
		T_A        = solution("T/A_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")[i]
		V_tip      = solution("v_{tip}_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")[i]
		s          = solution("s_OnDemandAircraft/Rotors")[i]
		Cl_mean    = solution("Cl_{mean}_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")[i]
		N          = solution("N_OnDemandAircraft/Rotors")[i]
		c_avg      = solution("c_{avg}_OnDemandAircraft/Rotors")[i]
		t_avg      = solution("t_{avg}_OnDemandAircraft/Rotors")[i]
		rho        = solution("\\rho_OnDemandSizingMission/HoverTakeoff/HoverFlightState/FixedStandardAtmosphere")[i]
		
		delta_S = generic_data["delta_S"]
		St      = generic_data["Strouhal_number"]

		f_peak, c["SPL_sizing_A"][i], spectrum = vortex_noise(T_perRotor, T_A, V_tip, s, Cl_mean, N, c_avg, t_avg, rho, delta_S, St, weighting="A")


# Plotting commands
plt.ion()
plt.rc('axes', axisbelow=True)
plt.show()

style = {}
style["rotation"]         = -45
style["legend_ncols"]     = 2
style["bar_width_wide"]   = 0.7
style["bar_width_medium"] = 0.3
style["bar_width_narrow"] = 0.2
style["offsets"]          = [-0.25, 0, 0.25]
style["colors"]           = ["grey", "w", "k", "lightgrey"]
Ejemplo n.º 3
0
	St = heli_info[heli]["St"]
	
	for i,data in enumerate(test_data[heli]):
	
		test_data[heli][i]["SPL_calculated"] = np.zeros(np.size(test_data[heli][i]["T"]))
		
		omega_rad_s = test_data[heli][i]["omega"].to(ureg.radian/ureg.s)
		omega_rad_s = (omega_rad_s.magnitude)*ureg.s**-1
		VT = omega_rad_s*R
		
		for j,T in enumerate(test_data[heli][i]["T"]):
		
			CT = (T / (0.5*rho*(VT**2)*A)).to(ureg.dimensionless)
			Cl_mean = 3*CT/s
			
			f_peak, SPL, spectrum = vortex_noise(T_perRotor=T,R=R,VT=VT,s=s,Cl_mean=Cl_mean,
					N=1,B=B,delta_S=delta_S,h=0*ureg.ft,t_c=t_c,St=St,weighting="None")
			test_data[heli][i]["SPL_calculated"][j] = SPL


#Plotting commands

plt.ion()
fig1 = plt.figure(figsize=(12,12), dpi=80)
plt.show()

style = {}
style["linestyle"] = ["-","--","-."]
style["markersize"] = 10


for j, heli in enumerate(test_data):
Ejemplo n.º 4
0
    c_avg = solution("c_{avg}_OnDemandAircraft/Rotors")
    t_avg = solution("t_{avg}_OnDemandAircraft/Rotors")
    rho = solution(
        "\\rho_OnDemandSizingMission/HoverTakeoff/HoverFlightState/FixedStandardAtmosphere"
    )

    delta_S = generic_data["delta_S"]
    St = generic_data["Strouhal_number"]

    #Unweighted
    f_peak, SPL, spectrum = vortex_noise(T_perRotor,
                                         T_A,
                                         V_tip,
                                         s,
                                         Cl_mean,
                                         N,
                                         c_avg,
                                         t_avg,
                                         rho,
                                         delta_S,
                                         St,
                                         weighting="None")

    configs[config]["SPL"] = SPL
    configs[config]["f_{peak}"] = f_peak

    #A-weighted
    f_peak, SPL, spectrum = vortex_noise(T_perRotor,
                                         T_A,
                                         V_tip,
                                         s,
                                         Cl_mean,
Ejemplo n.º 5
0
        configs[config]["theta"]["rotational_A"]["f_fund"][i] = f_peak
        configs[config]["theta"]["rotational_A"]["SPL"][i] = SPL
        configs[config]["theta"]["rotational_A"]["spectrum"][i] = spectrum

    # Vortex noise computations
    configs[config]["theta"]["vortex"] = {}
    configs[config]["theta"]["vortex_A"] = {}

    # Unweighted
    vortex_data = vortex_noise(T_perRotor,
                               T_A,
                               V_tip,
                               s,
                               Cl_mean,
                               N,
                               c_avg,
                               t_avg,
                               rho,
                               delta_S=x,
                               St=generic_data["Strouhal_number"],
                               weighting="None")
    [f_peak, SPL, spectrum] = vortex_data

    configs[config]["theta"]["vortex"]["f_peak"] = f_peak
    configs[config]["theta"]["vortex"]["SPL"] = SPL
    configs[config]["theta"]["vortex"]["spectrum"] = spectrum

    #A-weighted
    vortex_data = vortex_noise(T_perRotor,
                               T_A,
                               V_tip,
Ejemplo n.º 6
0
		
		#Noise computations
		T_perRotor = solution("T_perRotor_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")
		T_A        = solution("T/A_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")
		V_tip      = solution("v_{tip}_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")
		s          = solution("s_OnDemandAircraft/Rotors")
		Cl_mean    = solution("Cl_{mean}_OnDemandSizingMission/HoverTakeoff/OnDemandAircraftHoverPerformance/RotorsPerformance")
		N          = solution("N_OnDemandAircraft/Rotors")
		c_avg      = solution("c_{avg}_OnDemandAircraft/Rotors")
		t_avg      = solution("t_{avg}_OnDemandAircraft/Rotors")
		rho        = solution("\\rho_OnDemandSizingMission/HoverTakeoff/HoverFlightState/FixedStandardAtmosphere")
		
		delta_S = generic_data["delta_S"]
		St      = generic_data["Strouhal_number"]
		
		f_peak, SPL_array[i,j],   spectrum = vortex_noise(T_perRotor, T_A, V_tip, s, Cl_mean, N, c_avg, t_avg, rho, delta_S, St, weighting="None")  # Unweighted
		f_peak, SPL_A_array[i,j], spectrum = vortex_noise(T_perRotor, T_A, V_tip, s, Cl_mean, N, c_avg, t_avg, rho, delta_S, St, weighting="A")  # Unweighted

		# print "T/A = %0.4f lbf/ft^2; L/D = %0.4f; cptpp = $%0.2f" \
		# 	% (solution("T/A_OnDemandSizingMission").to(ureg.lbf/ureg.ft**2).magnitude, solution("L_D_cruise"), solution("cost_per_trip_per_passenger"))

		# print "cptpp values: $%0.2f, $%0.2f, $%0.2f" % (cptpp_array[i,j], solution("cost_per_trip_per_passenger"), solution("cost_per_trip_per_passenger_OnDemandMissionCost"))


MTOM_array = MTOM_array * ureg.kg
MTOW_array = MTOW_array * ureg.lbf
cppk_array = cppk_array * ureg.km**-1

# Add Boeing inputs to configs
for config in boeing_data:
	configs[config] = boeing_data[config]