AeroPython / aeropy

aeropy - Python tools for Aeronautical calculations
BSD 2-Clause "Simplified" License
10 stars 5 forks source link

Xfoil interaction #20

Open AunSiro opened 9 years ago

AunSiro commented 9 years ago

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?

AlexS12 commented 9 years ago

¡Hola Siro! Para mí una mejora buena sería si se pudiese ejecutar sin necesidad de meter el script en la carpeta en la que está Xfoil. Eso puede ser un poco rollo y te obliga a "mezclar instalaciones". yo creo que una forma fácil de solucionarlo podría ser que te pida el path donde está xfoil y lo busque ahí o algo así, ¿no?

Por lo demás muy chulo eh! me encanta!

astrojuanlu commented 9 years ago

¡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í.

AunSiro commented 9 years ago

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.

AunSiro commented 9 years ago

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?

newlawrence commented 9 years ago

Yo creo que sería mejor, para todo este tipo de programas externos, exigir que se encuentren instalados y en el path y listo. El problema lo tendríamos con aquellos que manejan ficheros en su propio directorio local, que entonces tendríamos que preguntarle al SO desde dónde está ejecutando el programa. En linux y Mac, tenemos el comando "wich" para eso; pero ahora mismo no sé si en Windows hay algo parecido...

El 3 de marzo de 2015, 14:39, Siro notifications@github.com escribió:

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?

— Reply to this email directly or view it on GitHub https://github.com/AeroPython/aeropy/pull/20#issuecomment-76946257.

astrojuanlu commented 9 years ago

En Linux en teoría se llama simplemente así:

$ xfoil

(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.

newlawrence commented 9 years ago

Sí, en Windows funciona sin el .exe

El 3 de marzo de 2015, 18:48, Juan Luis Cano Rodríguez < notifications@github.com> escribió:

En Linux en teoría se llama simplemente así:

$ xfoil

(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.

— Reply to this email directly or view it on GitHub https://github.com/AeroPython/aeropy/pull/20#issuecomment-76996290.

AunSiro commented 9 years ago

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!

AunSiro commented 9 years ago

En teoría ya debería ser multiplataforma! Alguien con Linux se anima a probarlo? Lo que necesite del Xfoil se puede descargar de http://web.mit.edu/drela/Public/web/xfoil/

astrojuanlu commented 9 years ago

No he instalado Xfoil aún, pero si corro el main me da un error:

$ python main.py 
Traceback (most recent call last):
  File "main.py", line 71, in <module>
    interfaz.xfoil_calculate_population(generation, ambient_data, aero_domain)
  File "/home/juanlu/Development/Python/AeroPython/aeropy/aeropy/Xfoil_Interaction/Genetic_algorithm_files/interfaz.py", line 106, in xfoil_calculate_population
    xfoil_calculate_profile(generation, profile_number, genome_matrix[profile_number-1,:], ambient_data, aero_domain)
  File "/home/juanlu/Development/Python/AeroPython/aeropy/aeropy/Xfoil_Interaction/Genetic_algorithm_files/interfaz.py", line 74, in xfoil_calculate_profile
    archivo = open(profile_root, mode = 'x')
FileNotFoundError: [Errno 2] No such file or directory: 'profiles/gen0/profile1.txt'
AunSiro commented 9 years ago

Eliminé una cosa que no recordaba qué hacía. Mal hecho XD. Ya está corregido

astrojuanlu commented 9 years ago

Lo he vuelto a probar de nuevo y no ha funcionado bien: falta un archivo xfoil.def al principio, no encuentra un perfil y a partir de ahí son todo "command not recognized".

https://gist.github.com/Juanlu001/42222736d6281982cdfe