def main(): viridis = cm.get_cmap('viridis') magma = cm.get_cmap('magma') tuto = pd.read_csv( '/home/cardoso/Tesis/su2/jul_20/cp_comp/flow_tutorial.csv') malla_c = pd.read_csv( '/home/cardoso/Tesis/su2/jul_20/cp_comp/malla_c_alfa_10.csv') malla_o = pd.read_csv( '/home/cardoso/Tesis/su2/jul_20/cp_comp/malla_o_alfa_10.csv') perfil = airfoil.NACA4(0, 0, 12, 1) perfil.create_sin(315) perfil.x += 0.25 x_perf = perfil.x y_perf = -perfil.y fig, ax = plt.subplots(1) ax.set_title('Cp vs x/c - alpha = 10°') ax.plot(x_perf, 9 * y_perf, 'k') ax.plot(tuto["Points:0"], tuto["Pressure_Coefficient"], color=viridis(0.0), linewidth=1.9, label='NASA') ax.plot(0.25 + malla_c["Points:0"], malla_c["Pressure_Coefficient"], color=viridis(0.65), linewidth=1.7, label='malla C') ax.plot(0.25 + malla_o["Points:0"][1:-1], malla_o["Pressure_Coefficient"][1:-1], color=magma(0.65), linewidth=1.7, label='malla O') ax.legend(loc='upper right') ax.set_xlabel('x / c') ax.set_ylabel('Cp') ax.invert_yaxis() plt.savefig('/home/cardoso/garbage/cp_comparison_10.png', bbox_inches='tight', pad_inches=0.05) plt.show()
if malla == 'C': points = airfoil_points elif malla == 'O': points = airfoil_points # datos de perfil NACA m = 0 # combadura p = 0 # posicion de la combadura t = 12 # espesor c = 1 # cuerda [m] # radio frontera externa R = 70 * c perfil = airfoil.NACA4(m, p, t, c) perfil.create_sin(points) M = np.shape(perfil.x)[0] print(f"shape perfil: {M}") mallaNACA = mesh_o.mesh_O(R, N, perfil) mallaNACA_1 = mesh_o.mesh_O(R, N1, perfil) print(f"shape mesh: {np.shape(mallaNACA.X)[0]}") # print('M = ' + str(mallaNACA.M)) # print('N = ' + str(mallaNACA.N)) mallaNACA.gen_Poisson_n(metodo='SOR', omega=0.15, a=a, c=c, linea_xi=linea_xi, aa=156.5, cc=8.5, linea_eta=0)
union = 15 airfoil_points = 169 points = airfoil_points print('airofil points: ' + str(points)) # datos de perfil NACA m = 0 # combadura p = 0 # posicion de la combadura t = 12 # espesor c = 1 # cuerda [m] # radio frontera externa R = 50 * c perfil = airfoil.NACA4(m, p, t, c) perfil.create_sin(points) flap = airfoil.NACA4(m, p, t, 0.2 * c, number=2) flap.create_sin(points) flap.rotate(15) perfil.join(flap, dx=0.055, dy=0.51, union=union) perfil.rotate(10) M = np.shape(perfil.x)[0] archivo_perfil = 'perfil_final.csv' if malla == 'O': mallaNACA = mesh_o.mesh_O(R, N, perfil) elif malla == 'C': mallaNACA = mesh_c.mesh_C(R, N, perfil, weight=1.13)
# # f = open("./potential_2412/five/C.csv", "r") # C = np.genfromtxt('./potential_2412/' + direc + '/C.csv', delimiter=',') # theta = np.genfromtxt('./potential_2412/' + direc + '/theta.csv', # delimiter=',') # # (u, v) = velocity(alfa, C, mach_inf, theta, mallaNACA, phi, v_inf) # (cp, p) = pressure(u, v, v_inf, d_inf, gamma, p_inf, p0, d0, h0) # (psi, mach) = streamlines(u, v, gamma, h0, d0, p, mallaNACA) # (L, D) = lift_n_drag(mallaNACA, cp, 10, 1) # cps[:, j] = cp[:, 0] # j += 1 # print("L = " + str(L)) # print("D = " + str(D)) points = mallaNACA.M perfil = airfoil.NACA4(m, p_, t, c) perfil = airfoil.NACA4(2, 4, 12, 1) perfil.create_sin(points) perfil.x += 0.25 x_perf = perfil.x y_perf = perfil.y * -1 cp_perf = cp[:, 0] plt.figure('perf') plt.plot(x_perf, y_perf * 6.5, 'k', linewidth=1.5) alfas = ['-4', '0', '4', '8'] cps_alfa = [0, 2, 4, 6] i = 0 for j in cps_alfa: plt.plot(x_perf[1:-1], cps[1:-1, j], linewidth=0.9, label=(alfas[i]))
######################## # PERFIL AERODINAMICO ######################## # importar desde archivo airfoil_points = 549 c = 1 filename = 'nombre_archivo_nube_de_puntos.csv' perfil = airfoil.airfoil(c) perfil.create(filename) # perfil NACA 4 m = 0 p = 0 t = 12 c = 1 perfil = airfoil.NACA4(m, p, t, c) perfil.create_sin(airfoil_points) ######### # FLAP ######### # importar desde archivo filename_flap = 'nombre_archivo_nube_de_puntos_flap.csv' flap = airfoil.airfoil(filename, number=2) # flap NACA 4 m_f = 2 p_f = 4 t_f = 12 c_f = 0.2 * c flap = airfoil.NACA4(m_f, p_f, t_f, c_f, number=2)