
Jun 08, 2010, 06:29 AM  
United States, KS, Andover
Joined Oct 2005
539 Posts

Dan,
Go ahead and keep alpha as an input, I just think for most cases you will be designing to a lift coefficient. Kevin has a good point about Re, too. My goal with my GA is to combine it with a nonlinear lifting line method and do just as he suggests. It's a shame XFLR can't be run batch. Oh well, I'll write my own. I've done it before, but that was 20 something years ago in school. What's your new parameterization method? Mark 
Jun 08, 2010, 07:32 AM  

Quote:


Jun 08, 2010, 09:31 AM  

I have no idea of this planform optimization technique might be of interest:
http://oddjob.utias.utoronto.ca/dwz/...t_MDO_2008.pdf At DLG Re with a tapered wing, it is quite difficult to get the airfoils along the span to work correctly together over the AoA range with the induced Cl changes along the span. This probably isn't as big of problem with a powered airplane at higher Re. I think I may be too far from my school days to make this work! Kevin 
Jun 08, 2010, 08:12 PM  
United States, KS, Andover
Joined Oct 2005
539 Posts

Kevin,
In the paper you linked to, they are using and adjoint method to get the design sensitivities out of the flow solver. This the way things are headed. They work well and don't cost much. One challenge to them, though is to get a well converged adjoint solution. I've used one such method in the past with pretty good results, but for another case which involved a lot of flow separation, it didn't do so well. One thing to note in the paper, though, is that they are using an Euler code, so they can't account for the drag penalty of the winglets they design. Still, a cool demonstration and I see from a paper they presented last summer that they are heading towards using a viscous solver. Mark 
Jun 10, 2010, 12:23 PM  

Since the PARSEC method didn't work too well, I'm now going to try to define the shape directly using cubic bsplines. The top and bottom surfaces will each be defined by 8 control points. The vertical locations of all but the first and last control points will be the design variables, so that will be 12 total.
It seems like it will work better than PARSEC because I have more control over the range of shapes by using side constraints on the heights of the control points. Unfortunately, Matlab only has a builtin fit points spline function. Since I wanted control points, I had to program my own function. It was no easy task (search for bsplines if you're interested), but now I have a function that creates 2D or 3D curves from a set of 2D or 3D control points. The airfoils will obviously only be 2D. Hopefully this method will work for optimization. I'll report back once I get it set up and get some results. If it works I will try adding more control points. Dan 
Jun 10, 2010, 09:53 PM  

The control point curve optimization did work. I did the same optimization as I have been  that is, maximize Cl/Cd at AoA of 1.5, 4, and 7 degrees while maintaining Cm better than 0.1 and 9% thickness.
The result was interesting. The optimization did a pretty good job for the first pass  I got an average of 72.5 which is only about 2 less than the best I got with the previous parameterization. There's a notable bump in the bottom surface, which I'm guessing helps keep the BL attached at one of the design points. Instead of increasing the number of control points, I think I will increase the degrees of freedom for each one. I'll let most of them move around in the xdirection as well as the y direction, but constrain them so they don't overlap each other. This is important because the highest point on the top surface (or lowest point on the bottom surface) tends to be very nearly directly inline with a control point. If the control points are not allowed to move in the xdirection, this means the max point on a surface is forced to be at only a few different positions. 
Jun 11, 2010, 10:54 AM  

You might want to look into the mathmatic description of splines. Some are smoother than others: http://www.homebuiltairplanes.com/fo...urbswavy.html

Jun 11, 2010, 11:22 AM  

Quote:
One nice thing about bsplines is that you can increase the smoothness easily by changing the degree of the curve. The higher the degree, the more control points are pulling on any given portion of the curve, so you get a smoother curve. Right now I'm using third degree (cubic) bsplines but I may try increasing that if the results are too bumpy. 

Jun 13, 2010, 01:47 PM  

I keep getting weird results with the bspline curves. The optimizer keeps exploiting a weird XFoil anomaly. Normally XFoil initializes the boundary layer solution from the previous point calculated (as a first guess kind of thing). I'm looking at the L/D at 1.5, 4, and 6.5 or 7 degrees angle of attack. Well, the optimizer keeps getting solutions that give well over 100 for the average, which is clearly wrong. It turns out that when this happens, if I initialize the BL solution from some other angle, like 0 degrees instead of 1.5, the actual average is somewhere around 60 most of the time instead of 100+ for the "optimal" airfoil. So I'm going to try always initializing from 0 degrees and hope I don't get reach a similar numerical issue. Anyone know a better way to ensure this doesn't happen (or even know what I'm talking about)?

Jun 13, 2010, 05:42 PM  
United States, KS, Andover
Joined Oct 2005
539 Posts

I had a similar problem with my method. I pipe my Xfoil output to a file and then read the file. Not the most efficient way, but it works. Anyway, for some reason I kept getting unrealistic cl/cd's like yours. Turned out that my script to read the file was reading values from the first iteration, not the last.
You can always reset the boundary layer using the "init" command. Also, if convergence is a problem, you can set the default number of iterations using the "iter" command. If I don't get a converged solution in 200 iterations I take it as a bad sign and that airfoil gets eliminated from the gene pool. You are checking for cases that don't converge, right? Optimization methods will always seek out any weakness you leave in your problem definition. ALWAYS. If you don't thin you have a weakness, just run it and find out. Forming proper constraints is half the battle. Mark 