-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xfoil interaction #20
base: master
Are you sure you want to change the base?
Conversation
Compatible con Python 3
Añadido un notebook interactivo que explica cómo se construye el perfil a partir del genoma. Actualizado readme.
Incluye los módulos finales de traducción de genoma a puntos de perfil, y comunicación de los perfiles con xfoil. Incluye 2 perfiles de ejemplo, iguales entre sí. No incluye bucle de optimización.
Versión primitiva del iniciador de la población añadido. Readme actualizado.
Ahora el rango de perfiles iniciales es mucho mayor, ya que los perfiles son analizados para evitar inconsistencias.
El algoritmo, aunque mejorable y con la documentación sin terminar, ya se encuentra totalmente operativo.
Ambiente Personalizable: Planeta, mach/velocidad, cuerda y altura de vuelo. Dibujador de perfiles guardado automático de datos permite continuar desde un punto anterior.
¡Hola Siro! Por lo demás muy chulo eh! me encanta! |
return conditions | ||
|
||
|
||
def temperatura(h, conditions, dT = 0): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Veo que estás rehaciendo la atmósfera estándar aquí :P ¿Hay algún motivo para ello? ¿En la versión actual te resulta complicado adaptar los coeficientes para Marte?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sí, rehago la atmósfera estándar! XD
La manera en la que lo estoy haciendo creo que es la que hace que sea más fácil tener distintos planetas, ya que las diferentes funciones atmosféricas no contienen datos en sí, sino que hay que alimentarlas con los que devuelve una función que contiene los datos. Así, para calcular diferentes planetas sólo cambia los datos con que alimentas las funciones atmosféricas.
No he usado la atmósfera más rápida de las vuestras porque sólo hay que calcularlo una vez, así que cogí la mía porque es la que mejor sé cómo funciona.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
¿Con este tipo de código piensas que estaría más fácil?
https://github.com/AeroPython/aeropy/blob/juanlu-numba/jnumba/isa.py
No lo hemos hablado todavía pero si esta es la más rápida estando en Python (#4) tal vez habría que poner la versión con numba. Si lo ves factible, intento pulirla un poco y completarla el domingo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Puedo intentar adaptar la versión con numba para que haga lo que quiero de comerse diferentes planetas. Pero añadiría un paquete de python más a los que hace falta tener instalados para poder ejecutar esto. Es lo bastante común?
Al fin y al cabo, el tiempo que tarda en calcular una vez la atmósfera es totalmente despreciable con respecto al tiempo que tarda el xfoil en calcular un perfil...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sí, me imagino que el rendimiento no es el problema en este caso. Es un tema más filosófico que otra cosa, de esta forma intentamos reutilizar todos el código de todos, y este ha sido el primer caso donde se ha visto que haga falta 😄
¿A qué te refieres con instalar otro paquete? ¿Te refieres a numba en sí? ¿Es aumentar el número de dependencias lo que te preocupa?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sí, justo! Me imagino que vendrá con Anaconda, pero para la gente que se lo va instalando por su cuenta, será lo normal tenerlo? Le podría echar para atrás a alguien que lo necesite?
Quizás se puede detallar en la documentación luego dónde se usa cada paquete y si se puede prescindir de él comentando algunas líneas del código.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si están en Windows es muy muy raro que tengan NumPy y similares sin alguna distribución (Python(x,y), WinPython, Canopy o Anaconda). numba viene directamente instalado en Anaconda - fuera de ahí necesita un poco de trabajo, pero no más que instalar SciPy por ejemplo. En todo caso, se puede hacer que numba no sea obligatorio y meter un condicional: como solo es una línea, si hay numba estupendo y si no se queda como está.
¡Está genial! He puesto algunos comentarios pero por lo demás está bastante bien. Me descoloca un poco la mezcla de inglés y español en las variables y nombres de funciones, eso sí. |
Estoy corrigiendo y documentando lo de los nombres, tomo nota de todas las sugerencias! Lo que no estoy muy seguro de si merece la pena es lo de buscar la ruta donde está Xfoil, ya que al menos en windows, se distribuye ya el exe listo, no hay que instalarlo. |
Unificadas funciones y variables en inglés, código correctamente comentado.
Ya he dejado el código en inglés y bien comentado! Con respecto a lo de hacerlo multiplataforma, Los que usáis linux, me podéis decir cómo se abre el xfoil en linux? Me parece buena idea, sólo hay que cambiar un par de cosas en la manera en cómo se escriben las rutas. Y con respecto a lo que ha dicho Álex? En Linux hay que instalarlo? |
Yo creo que sería mejor, para todo este tipo de programas externos, exigir El 3 de marzo de 2015, 14:39, Siro [email protected] escribió:
|
En Linux en teoría se llama simplemente así:
(el símbolo del dólar viene dado). ¿En Windows funciona sin el .exe? Porque en ese caso ya sería del todo portable. Luego es responsabilidad del usuario que el programa xfoil esté en el path, tanto en Windows como en Linux. |
Sí, en Windows funciona sin el .exe El 3 de marzo de 2015, 18:48, Juan Luis Cano Rodríguez <
|
Acabo de comprobar que funciona sin el .exe, así que voy a cambiar cómo se escriben las líneas de carpetas y ya sería multiplataforma! |
Compatible con Linux
En teoría ya debería ser multiplataforma! |
No he instalado Xfoil aún, pero si corro el main me da un error:
|
Corregido bug de creación de carpetas
Eliminé una cosa que no recordaba qué hacía. Mal hecho XD. Ya está corregido |
Lo he vuelto a probar de nuevo y no ha funcionado bien: falta un archivo |
Corregido bug que impedía la lectura de los perfiles en el Xfoil de Linux
Añadidas opciones de final report, como imágenes y texto.
Creo que evitaré muchos bugs con una estrategia de programación orientada a objetos
Bueno Colegas, me parece que este algoritmo ya está lo bastante pulido como para añadirlo al master! :D
Si podéis, probadlo un poco y comprobad que va bien, y si todo está ok, propongo unirlo ya!
...O, quizás... ¿quizás esperar un poco más y terminar de documentar todos los scripts y funciones antes de fusionar?