SMALL - espritmodel.com SMALL - Telemetry SMALL - Radio
Reply
Thread Tools
Old Jun 02, 2010, 05:42 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,549 Posts
The fuselage is finalized. I'm pleased with the results.
Montag DP is online now Find More Posts by Montag DP
Reply With Quote
Sign up now
to remove ads between posts
Old Jun 02, 2010, 06:14 PM
HyperFlight Support
Neil Stainton's Avatar
United Kingdom, England, Stratford-upon-Avon
Joined Feb 2001
3,923 Posts
Interesting thread, well done. However I think the blunt rounded TE of your new pod is non optimal, it will increase drag and cause turbulence that will affect prop efficiency. If you can't change to a pointed pod TE below the motor mount at least make the rear part as narrow as possible, with a squared end that will cause the streamlines to break away cleanly.

Neil.
Neil Stainton is offline Find More Posts by Neil Stainton
Reply With Quote
Old Jun 02, 2010, 07:47 PM
Registered User
United States, KS, Andover
Joined Oct 2005
539 Posts
Quote:
Originally Posted by Montag DP View Post
From what I've read, genetic algorithms are very commonly used in aerodynamic optimization because the design space is so multimodal (lots of local optimum points). We never really covered them in our class though. I expect also that the more design variables you add the more multimodal it becomes. When I was doing the project I originally had a parameterization that used 11 design variables, but I soon found it would be impossible to estimate gradients using this formulation because changing one variable slightly could screw up the entire shape. The GA would probably be able to work around that as well.

I'd like to hear more about this Python script. I'm not too well-versed in any programming language besides Matlab and VBA for Excel, so I don't think I'll try it myself, but it does sound pretty cool. Feel free to post results in this thread want.

Dan
Dan,

Well, I chose GA simply because it was the fastest thing I could get going. GA should do a good job of finding the global maximum/minimum, but it might not find the local max/min. Should get you close. I was like them because I don't have to stress over calculating gradients and getting into trouble with roundoff errors. It can be more expensive, though, since it is more akin to an intelligent shotgun approach, but hey, I don't care about that.

Python is very easy to learn. I've fiddled with it for the last year at work and at home. I'm not a programmer, and while Python is fully object oriented, I've not taken advantage of that at all. One of the great things about it is that it is free and you can find a lot of info on it on the web. Same goes for PyEvolve. A simple GA algorithm is not that complicated, but if someone else has done the work, I'm going to go with that.

My end goal is to create a nonlinear lifting line method and couple that with XFoil and wrap it all up in the GA package.
markschaffin is offline Find More Posts by markschaffin
Reply With Quote
Old Jun 02, 2010, 08:24 PM
B for Bruce
BMatthews's Avatar
The 'Wack, BC, Canada
Joined Oct 2002
11,528 Posts
WOW! What a difference over the box that this started with.

The pod looks like an ideal candidate for a "lost foam plug" epoxy and glass molding operation. Build up a basic keel and some hardpoint formers that act as shaping guides, glue in some blocks of blue styrofoam, carve down to the formers and keels using them as shaping guides, glass the whole shebang and then cut away at the hatch allowance joints and melt out the foam with acetone, lacquer thinner or gasoline. I'd personally go with the lacquer thinner as it tends to clean out the goop with less redidue and leaves less of a stink once it evaporates. The gasoline has additives that linger for ages and the acetone seems to evaporate too fast. I've done three cowlings over the years this way and while it's a bit messy the results are superb.

No "headrest" fairing bump behind the camera? I indicated it in my own offering as I suspect that it would do much for smoothing the airflow transition around the sides of the camera deck when flying without the bubble canopy in place. Again the idea being to smoothen the airflow reaching the prop disc.
BMatthews is offline Find More Posts by BMatthews
Reply With Quote
Old Jun 02, 2010, 08:46 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,549 Posts
Bruce, the "headrest" idea is a good one. I will probably add it in later, I just didn't have time to at this point. For now I just wanted to get the main shape done.

Neil, you're probably right about the trailing edge. In that area you're talking about, I think the wing interactions are going to have a bigger effect than the potential separation around the fuselage...at this point I think I will just "leave well enough alone."

Mark, thanks for the info. I might look into that program a little bit or possibly just read into programming my own genetic algorithm, if I ever get time. From what I've seen the GA is probably simpler to program than what I did. With my gradient-based approach there's a few different optimization "shells" that each need to be tweaked individually to work with XFoil. A GA seems like it would be a single algorithm that always works on the same principles. By the way, the advantage of GAs is having a good chance of finding that global optimum by using many different starting points. Gradient-based methods tend to get stuck in local minima near the initial design if the space is multimodal. GAs in general are more computationally expensive (which like you I don't care about).
Montag DP is online now Find More Posts by Montag DP
Reply With Quote
Old Jun 02, 2010, 11:35 PM
Registered User
United States, KS, Andover
Joined Oct 2005
539 Posts
My GA approach usually works, but not always. Sometimes it has a hard time getting started, but it usually comes around. Most of these tools will usually outsmart you pretty quickly, too. Getting the objectives and constraints is really the key, and in my experience, that is never as straight forward as you'd think it would be. It's fun, though.
markschaffin is offline Find More Posts by markschaffin
Reply With Quote
Old Jun 03, 2010, 12:12 PM
Ascended Master
Sparky Paul's Avatar
Palmdale, CA
Joined Oct 2000
13,499 Posts
I've put cameras on all kinds of planes.
The second one in the left column is close to what you came up with.
It self-demised all over the ground with a too-flexible pushrod that couldn't hold the elevator in position with the download on the horizontal.
The planes I use now tend to have booms with vee-tails, and mailing tube fuselages on 2 meter glider wings.
The more dedicated AP planes I build tend towards aerodynamic overkill.
Way too much airplane for the tiny cameras.
I prefer videos that look to the side.
Those taken straight ahead look like little more than raising the camera on a stick and waving it about.
.
From a twin electric...
http://www.youtube.com/watch?v=4mmuZA4qElA
Sparky Paul is offline Find More Posts by Sparky Paul
Reply With Quote
Old Jun 03, 2010, 11:14 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,549 Posts
Quote:
Originally Posted by markschaffin View Post
My GA approach usually works, but not always. Sometimes it has a hard time getting started, but it usually comes around. Most of these tools will usually outsmart you pretty quickly, too. Getting the objectives and constraints is really the key, and in my experience, that is never as straight forward as you'd think it would be. It's fun, though.
I started looking into programming a GA. It seemed not too hard, but there was one hurdle that I didn't feel like conquering - namely, representing designs as strings of binary numbers to represent "chromosomes."

Instead, I programmed a similar method called "particle swarm." Like GAs, it uses a random starting population, but it mimics flocking motion found in nature (like birds flying in large groups to catch insects or schools of fish). Because of the random nature, it also has a good chance of finding the global optimum, but unlike GAs you don't need to encode your designs. Also, adding design variables doesn't inherently make the optimization any more computationally expensive. Here's a cool link:

http://cg.kw.ac.kr/kang/pso/

It actually turned out to be very easy to program. I now have a general function I should be able to use with any objective function, but for now I've only tested it with 2D functions. I think I will try to apply it to airfoil design.

Sparky Paul, cool designs! I was originally going to go with a V-Tail but decided to switch it. I may reconsider, though, because there are less control surfaces and they look really cool. Yours look great.

Dan
Montag DP is online now Find More Posts by Montag DP
Last edited by Montag DP; Jun 03, 2010 at 11:26 PM.
Reply With Quote
Old Jun 04, 2010, 05:41 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,549 Posts
I've tuned the particle swarm optimization a bit and am getting really good results in my test cases. Pictured below is a highly multimodal function which is one of the ones I'm using to test PSO. The global min is at (-0.311,-0.311). With particle swarm optimization, I'm able to reliably find that optimum point. I use a swarm size of 25, and convergence is usually reached in about 60-70 iterations, but that's with a requirement that the last 30 points are within some very small tolerance of each other. So effectively, the min is found in as little as 30 iterations. For PSO, the number of function evaluations is simply swarm size times number of iterations.

I'm very optimistic that this will be useful for airfoil optimization with a high degree of shape variability (many design variables). It should not be hard to create a general algorithm where I can specify any objective (lift, drag, moment, or combinations) and and any constraints (again, Cl, Cd, Cm, etc.). Stay tuned!
Montag DP is online now Find More Posts by Montag DP
Reply With Quote
Old Jun 04, 2010, 10:52 PM
Registered User
United States, KS, Andover
Joined Oct 2005
539 Posts
Dan,

The swarming technique looks interesting. I'll have to read up on that and understand it better.

There are GA methods that use real (or integer) values rather than binary "genes". PyEvolve is able to handle "real" chromosomes, so I didn't have to work that out.

Let us know how the swarming method works.

Mark
markschaffin is offline Find More Posts by markschaffin
Reply With Quote
Old Jun 07, 2010, 12:00 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,549 Posts
Particle Swarm optimization results

I did the same design as before using 6 design variables (constraints: at least 9% thick, max camber 0.04, and min Cm -0.1 at the points evaluated) using PSO. I used a swarm size of 30. It actually got a slightly better result than the gradient-based method in only about 30 minutes. To get the final result took 2730 function evaluations and a couple hours because I set pretty stringent convergence requirements. The design didn't actually change much after the first half hour of computations. The results are posted below.

Since this works so well, next I'm going to use a different parameterization using 11 design variables to hopefully get even better airfoil performance and a much broader range of designs. Using PSO, this shouldn't really add any more computational cost.

Dan

(Note: in the case below, the objective was to maximize the average Cl/Cd at 1.5, 4, and 7 degrees AoA).
Montag DP is online now Find More Posts by Montag DP
Last edited by Montag DP; Jun 07, 2010 at 12:06 PM.
Reply With Quote
Old Jun 07, 2010, 02:45 PM
B for Bruce
BMatthews's Avatar
The 'Wack, BC, Canada
Joined Oct 2002
11,528 Posts
It's interesting how after all this it comes down to a fairly generic looking shape. What sort of bounds did you put on the lift coefficient operating range? And what amount of camber does the final result have? I'm thinking that if it maxed at 4% then you may want to try again with a 5 or 5.5% cap.

Realistically although I've championed the idea of good performance at lower Cl's I'm sort of thinking that if it can get down to about Cl=.1 to .15 in good form then that SHOULD be low enough to obtain excellent penetration.
BMatthews is offline Find More Posts by BMatthews
Reply With Quote
Old Jun 07, 2010, 03:05 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,549 Posts
Quote:
Originally Posted by BMatthews View Post
It's interesting how after all this it comes down to a fairly generic looking shape. What sort of bounds did you put on the lift coefficient operating range? And what amount of camber does the final result have? I'm thinking that if it maxed at 4% then you may want to try again with a 5 or 5.5% cap.

Realistically although I've championed the idea of good performance at lower Cl's I'm sort of thinking that if it can get down to about Cl=.1 to .15 in good form then that SHOULD be low enough to obtain excellent penetration.
I attached the four polar plots. Note that Cl=0.1 was not included in the optimization (it occurs below 1.5 degrees), so performance drops off. I don't know how it compares to other airfoils, though.

You're right about the camber constraint, though. I have the Cm constraint in there so there's no need to have the camber constraint so tight. I will try running it once more with the camber constraint relaxed before I add design variables. I do hope to use the 11 design variable optimization for the actual wing, so these are just proofs of concept.
Montag DP is online now Find More Posts by Montag DP
Last edited by Montag DP; Jun 07, 2010 at 03:25 PM. Reason: missed an s
Reply With Quote
Old Jun 07, 2010, 06:09 PM
B for Bruce
BMatthews's Avatar
The 'Wack, BC, Canada
Joined Oct 2002
11,528 Posts
Looking at the bottom left Cl vs Cd there's no doubt that your airfoil is favouring the hig Cl and slow speed side of things. For a good all 'rounder I'd prefer to see a more even favouring of the moderately quick to slow. If you could keep the same curve but shift it down so the "corners" of the low drag bucket portion were more between about Cl=0.2 to 1.2 I think you'd have a nice balance.

But this is coming from a "glider guider" that had an epiphany when he flew his first "slippery soarer" and found joy in being able to fly about with much less concern over wind and being caught downwind compared to the slow models with draggy airfoils.

I have the same annoyance with my old timers if I have to fly them on blustery days in a contest. I just can't let them get too far downwind if I have to get them back if it's more than about 10 mph wind speed. The slipper soarers laugh at such windspeeds and don't get anxious until closer to 18 to 20 mph where I'm beginning to think about staking myself in place to keep from blowing away...

Norm's and your airfoils are superb given how they were developed. And either would be fine for a lot of usage. But if you typically MUST fly in some stronger winds in your area then I'd be thinking about optimizing the lower Cl region to a greater degree. And that's where the Clark Y and 4233 come back into the picture. The moral of this parable being that you need to choose the size and shape that fits YOUR conditions.
BMatthews is offline Find More Posts by BMatthews
Reply With Quote
Old Jun 07, 2010, 07:09 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,549 Posts
Quote:
Originally Posted by BMatthews View Post
The moral of this parable being that you need to choose the size and shape that fits YOUR conditions.
For sure. If I wanted to, I could include a low-Cl point, e.g. alpha=-1, in the optimization and it should get better all-around results. Since this airfoil is for a big AP plane designed to putz around and take pictures, I don't think the low-Cl performance is that important.

I did run the optimizer with the camber constraint relaxed, but the performance was pretty much the same. Camber moved up to about 5% but the constraint on Cm kept the performance from increasing much from where it was.

I'm now in the process of putting together the equations for an 11 variable parameterization, which I will test out soon with particle swarm optimization. Actually the equations are done, but I just need to find suitable starting bounds for them.

Also, I put together a generic function so that by simply changing some input parameters I can:

1) Maximize average Cl/Cd at specified angles of attack
2) Maximize average Cl at specified angles of attack
3) Minimize average Cd at specified angles of attack
4) Maximize average Cm at specified angles of attack

Additionally, I can just as simply apply any of the following constraints (multiple constraints can be used):

1) Minimum Cl/Cd within specified angles of attack
2) Minimum Cl within specified angles of attack
3) Maximum Cd within specified angles of attack
4) Minimum Cm within specified angles of attack
5) Minimum airfoil thickness

So for the optimization I'm performing now, I would simply choose the code (1)-(4,5) to maximize Cl/Cd with constraints on Cm and thickness. This makes designing an airfoil for a new application very simple. Once the 11 design variable parameterization is ready to go, I could even do requests for other people.

Dan
Montag DP is online now Find More Posts by Montag DP
Reply With Quote
Reply


Thread Tools