#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))
# 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"]
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):
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,
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,
#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]