Genetic algorithm airfoil optimization code (also demonstration of how to link XFoil with MatLab)
A brief description of how to run the code, copied from my post on the XFoil Yahoo group:
Much of the Genetic Algorithm (GA) code was originally from MathWorks,
but modified by Prof. W. Crossley of Purdue University, the rest of
the stuff was written by me. (To anyone at Purdue, Crossley's AAE550
is a very good class!) I don't really care what you do with the code,
but please understand that I can't be held responsible if your
Only MatLab is needed to run the program, the XFoil windows executable
is included in the zip file. To run the program, point MatLab to the
folder, and run the "optimize.m" file. All the commands passed to
XFoil are in the script file "test2.vb". So if you wanted to say,
change the AOA or Reynolds number you want to optimize for, you should
edit this file. Another important file is the xfoil.def file, if you
don't know what it does, look up the xfoil manual. I set the forced
transition locations in this file. The entire code is somewhat crude
and inefficient, and probably have some errors in it as well. Oh,
sometimes XFoil gets stuck on a really bad "mutant" airfoil the code
comes up with, if this happens, you should end the XFoil from task
manager, and the code should skip that iteration and keep running.
Since there appears to be a lot of RC people here, let me just say
that I have not tried the code at very low Reynolds numbers, but since
it does all the math within XFoil, there's no reason why it shouldn't
work. I've been scratch building electric gliders for a while, always
used Seligs. While I do use XFLR for the wing design, I consider
designing my own airfoils "too much work".
This code only optimizes symmetric airfoils, I have another one that
will optimize asymmetric ones at user defined points on the polar, but
it need some cleaning up. I also don't quite remember what it did,
since I wrote it two years ago, and didn't comment it! I can't really
be bothered with it right now, since I don't do aerodynamics any more
(a bit of a shame since I really like it!).
Project report for the class I wrote the above code for
My masters thesis on CFD modeling of CO2 transport in a submarine.