Airfoil shape morphing. Primer paso en la optimización de perfiles.

No es nada nuevo, pero quería hacerlo. Ya hice mis pinitos con el PFC en cierta manera, pero siempre dentro de las ecuaciones que definían la forma del perfil. Con esto pretendo ir bastante más lejos aunque es un tema complejo y toma su tiempo.

Puesto que estoy metido en el software de mallado para perfiles he visto un sin fin de posibilidades y la optimización de perfiles es la forma “simple” de extraerle mucho jugo. La idea es crear a partir de CMeshFoil una “suite” de trabajo con perfiles amigable para todos, y la optimización no se queda fuera.

Para alterar la forma de los perfiles hacen falta algunas cosas, la primera de ellas es tener los propios perfiles, como no podía ser de otro modo. Conseguir las coordenadas que definen la forma es un problema que se puede abordar desde distintas aproximaciones; podemos tener ecuaciones y bases de datos, por ejemplo. Éstas son las formas más sencillas para generar los perfiles y evaluarlos pero no nos dan flexibilidad  a la hora de la optimización, de alterar sus curvas. Necesitamos pues métodos basados en puntos de control.

El catálogo es en cierto modo amplio, curvas Bézier, polinomios de Lagrange, splines, b-splines… y derivadas que conocerán los fanáticos de la geometría. Yo he elegido las b-spline, están muy documentadas porque se emplean ampliamente en CAD  y se han empleado en distintos papers para hacer lo mismo que yo pretendo.

El caso es que no es difícil escribir un poco de código que genere las curvas para algunos puntos de control. Lo que sí que es más complejo es que la curva se adapte a la forma que buscamos empleando pocos puntos de control, como es el caso. Seguramente el problema se acabará resolviendo con un sistema de ecuaciones, pero para lo que lo necesito la aproximación que tengo es bastante aceptable.

Aproximación de la curva mediante b-spline.Como podéis ver, para un buen resultado hay que aproximar mejor los puntos cerca de la curvatura máxima.

En la imagen he empleado una distribución no-uniforme (senoidal, de hecho) de los puntos de control, quizás siendo uniforme se obtengan mejores resultados en la aproximación.

Con todo lo anterior, creo que el problema no es tan grave cuando nuestro objetivo sea “hallar el perfil optimo dadas estas condiciones” ya que entonces los puntos de control se moverán buscando una forma óptima, sin embargo cobra relevancia cuando se pretende optimizar un perfil dado para unas condiciones del flujo.

Veremos cómo evoluciona, nunca mejor dicho.

Esta entrada fue publicada en Aerodinamica, C/C++, CMeshFoil y etiquetada , , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s