# lee_naca.py
# este programa, abre un archivo externo generado por otros medios
# donde la invormacion contenida representa para cada angulo d eincidencia
# caracteristicas aerodinamicas de un perfil NACA
# se filtran del archivo las lineas que comuenzan con el simbolo/
# posteriormente se almacenan dichos datos en listas y se los grafica

import matplotlib.pyplot as plt
import numpy as np

archivo="NACA2412"

f=open(archivo+".txt",'r')      # el archivo debe estar en la misma carpeta que el programa
alfa=[]                         # armo listas vacias para llenar las caracct. aerod.
cl=[]
cd=[]
cdp=[]
cm=[]
top=[]
bot=[]
for linea in f.readlines():     #este for desgrana una a una la lista de lineas que lee readlines
    if not linea.find("/")==0:  # me fijo si empieza con /
        #print linea
        dumm=linea.split("  ")                      # separo la linea en una lista de nombre dumm buscando las ocurrencias de "  "
        #print "-",dumm[0],"-",float(dumm[1]) 
        alfa.append(float(dumm[1]))                 # lleno las listas previamente definidas vacias mediante append
        cl.append(float(dumm[2]))
        cd.append(float(dumm[3]))
        cdp.append(float(dumm[4]))
        cm.append(float(dumm[5]))
f.close()                                   # cierro el archivo

# grafico
fig = plt.figure()
plt.gcf().canvas.set_window_title('CARACT AERODINAMICAS') # defino el titulo de la ventana     

ax = fig.add_subplot(211)  
ax.plot(alfa, cl, color='lightblue', linewidth=1, label='Cl')
ax.plot(alfa, cd, color='red', linewidth=1, label='Cd')
ax.plot(alfa, cm, color='green', linewidth=1, label='Cm')
leg=ax.legend()
fig.suptitle(archivo)
plt.xlabel('Alfa')
plt.ylabel('C')
plt.grid(True)


x=[]
top=[]
f=open(archivo+"_perfil.txt",'r')
x1=0.  
for linea in f.readlines():     #este for desgrana una a una la lista de lineas que lee readlines
    if not linea.find("/")==0:  # me fijo si empieza con /
        print (linea)
        dumm=linea.split("     ")                      # separo la linea en una lista de nombre dumm buscando las ocurrencias de "  "
        print ("-",dumm[0],"-",float(dumm[1]))
        x.append(float(dumm[0]))
        top.append(float(dumm[1]))
f.close() 
bx = fig.add_subplot(212)  
plt.ylim(-0.1,0.1)
bx.plot(x, top, color='lightblue', linewidth=1, label='Cl')
plt.xlabel('Cuerda')
plt.ylabel('%C')
plt.grid(axis='x',color = 'green', linestyle = '--', linewidth = 0.5)
plt.xticks(np.arange(0, 1.1, step=0.1))

       
fig.tight_layout()                 
plt.show()