Exemplo n.º 1
0
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)
Exemplo n.º 3
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]))
Exemplo n.º 5
0
########################
# 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)