HobbyKing.com New Products Flash Sale
Reply
Thread Tools
Old May 27, 2014, 08:51 AM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Quote:
Originally Posted by martig View Post
I've created another monster. I think it's because I set the minimum cm too high.
Finally I checked cm of MH45 in xfoil - it was around -0.003x. So I set the pm constraint of the optimized airfoil to -0.004. And this is what I got as a result -->
Attachment 6801147
Just curious, how many operating points did you optimize over for that case, and what was the Reynolds number? It definitely appears some additional optional constraints on thickness and curvature reversals will be needed. So many things to do, so little time ...
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Sign up now
to remove ads between posts
Old Jun 02, 2014, 01:41 PM
Registered User
Estonia, Harju, Tallinn
Joined May 2012
155 Posts
Sorry for the late answer. I've included the input file. The cause of the problem seems to be the fact that I set the min cm too high.
inputs
martig is online now Find More Posts by martig
Reply With Quote
Old Jun 02, 2014, 04:12 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Quote:
Originally Posted by martig View Post
Sorry for the late answer. I've included the input file. The cause of the problem seems to be the fact that I set the min cm too high.
Attachment 6817876
Okay, thanks. I was asking because from what I've seen, the final designs seem to be more wavy when optimized at lower Reynolds number, e.g. 100,000 instead of 300,000, and with a pitching moment constraint like yours. I have a few things to finish up first and then I will implement a constraint on the number of curvature reversals, which should eliminate those wavy designs.

I'm on the verge of having the parallel version ready; there's just one thing I have to change around in the code to make the memory management work correctly with multiple threads. But the tests I've done so far have been very promising in terms of speedup on my dual core / 2 threads per core laptop. I will eventually do some timing tests to see how much of a difference it makes. Also in the next update, you won't need to specify operating points to check for XFoil repeatability anymore; that will be handled automatically and only done in cases where it might be needed.
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Old Jun 02, 2014, 05:39 PM
Grad student in aeronautics
United States, GA, Atlanta
Joined Oct 2010
432 Posts
Montag,
I would hesitate to put a constraint to the number of curvature reversals as you propose. I have some experience in optimization, and I've come across similar problems -- the "optimal" solution has geometric characteristics we would think of as non-optimal. You may be happier in the long run letting the analysis rule out such designs on it's own rather than implement a direct constraint like that.
DPATE is online now Find More Posts by DPATE
Reply With Quote
Old Jun 02, 2014, 09:01 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Quote:
Originally Posted by DPATE View Post
Montag,
I would hesitate to put a constraint to the number of curvature reversals as you propose. I have some experience in optimization, and I've come across similar problems -- the "optimal" solution has geometric characteristics we would think of as non-optimal. You may be happier in the long run letting the analysis rule out such designs on it's own rather than implement a direct constraint like that.
Hi DPATE, and thanks for the advice. The constraint would be user defined, so the user would select how many curvature reversals are allowed. As you say, though, it would probably best to set the default to be a high number.
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Old Jun 07, 2014, 09:48 AM
Registered User
United States, KS, Andover
Joined Oct 2005
539 Posts
...
markschaffin is online now Find More Posts by markschaffin
Last edited by markschaffin; Jun 07, 2014 at 03:45 PM.
Reply With Quote
Old Jun 08, 2014, 03:40 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Okay guys, version 1.2 is out! Here are the new features:
  • Added parallel support with OpenMP for computers with multiple cores and threads to speed up the optimization process.
  • XFoil consistency check removed from input file. This is now handled automatically and only in cases where it might be needed, so the user doesn't have to worry about it anymore and CPU time isn't wasted.
  • Parallel and serial binaries are included for Linux and Windows on x86-64 architecture. These have been compiled linking any needed runtime libraries (e.g. for OpenMP) statically so there should be no runtime errors about not being able to load a shared library (I should have done this before, but didn't think about it; did anyone experience problems with the precompiled versions?)
The next step will be to implement a couple more constraints, like the number of curvature reversals and maybe also thickness constraints at various locations along the chord.

I've been thinking it might be beneficial to have a GUI editor to set up the input file for XoptFoil, to take out some of the mystery involved (I realize there are a lot of available options). Does anyone think that would be helpful?

Eventually I will actually use this for a new design ... I haven't really had enough time to dedicate to designing airplanes lately. But I'm hoping within a year that will change.
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Old Jun 08, 2014, 08:42 PM
Registered User
United States, KS, Andover
Joined Oct 2005
539 Posts
Want a challenge? Actually not that hard. Allow the user to specify target pressures as the objective function. Good move on adding the curvature reversal count to the constraints. GUI? I'm not a big fan of GUIs. If you have to do something like a GUI, do it on the back end to help the user see the results.

How's the research going? Are you presenting anything at the AIAA conference in a couple of weeks?
markschaffin is online now Find More Posts by markschaffin
Reply With Quote
Old Jun 09, 2014, 06:12 AM
Registered User
Estonia, Harju, Tallinn
Joined May 2012
155 Posts
Great progress, Dan. I just fired it up on my 4 core machine. I'm not sure a GUI is necessary at this point. The number of options is not that great. A nice GUI might attract more users though.

EDIT:
First results with the parallel version:
Name: parallel_monsterfoil.PNG
Views: 21
Size: 2.6 KB
Description:
inputs
martig is online now Find More Posts by martig
Last edited by martig; Jun 09, 2014 at 08:34 AM.
Reply With Quote
Old Jun 09, 2014, 08:53 AM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Quote:
Originally Posted by markschaffin View Post
Want a challenge? Actually not that hard. Allow the user to specify target pressures as the objective function.
Well, I could do that, but I'm not sure I want to. Isn't that what XFoil's inverse design routines are for?

Quote:
Originally Posted by markschaffin View Post
Good move on adding the curvature reversal count to the constraints. GUI? I'm not a big fan of GUIs. If you have to do something like a GUI, do it on the back end to help the user see the results.
Yeah, I suppose a front-end GUI wouldn't be all that helpful in this case anyway. Eventually maybe I will rewrite the design_plotter tool to actually display the airfoils and polars instead of just writing them to files.

Quote:
Originally Posted by markschaffin View Post
How's the research going? Are you presenting anything at the AIAA conference in a couple of weeks?
It's going quite well so far. I'm not going to the AIAA conference, but I did just recently present at the American Helicopter Society Forum, and I also will be at the European Rotorcraft Forum and then probably at AIAA SciTech next January. The plan is to pull all those papers together into a thesis and 2-3 journal papers and then graduate next Spring.

Quote:
Originally Posted by martig View Post
Great progress, Dan. I just fired it up on my 4 core machine. I'm not sure a GUI is necessary at this point. The number of options is not that great. A nice GUI might attract more users though.

EDIT:
First results with the parallel version:
Attachment 6835947
Attachment 6835946
Hey martig, I'm glad it's working for you. Your test cases are certainly turning up some strange designs. Have you tried running them in XFoil to see what benefit that top bump has? I assume it must have something to do with controlling a separation bubble, assuming it is actually optimizing to something physical. Also just curious -- how many particle swarm iterations do you normally see with your test case? Somewhere in the range of 100-300?
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Old Jun 09, 2014, 09:45 AM
Registered User
Estonia, Harju, Tallinn
Joined May 2012
155 Posts
Quote:
Originally Posted by Montag DP View Post
Hey martig, I'm glad it's working for you. Your test cases are certainly turning up some strange designs. Have you tried running them in XFoil to see what benefit that top bump has? I assume it must have something to do with controlling a separation bubble, assuming it is actually optimizing to something physical. Also just curious -- how many particle swarm iterations do you normally see with your test case? Somewhere in the range of 100-300?
Is this the number of total step that xoptfoil outputs when it finishes or is it the number of designs in the particleswarm_designs.dat file? In this case they are 130 and 1 respectively.

The bump seems to create a low drag bucket at different cl, but overall the airfoil seems to be worse than the seed.
Here are the polars:
Name: optfoil_bumps.PNG
Views: 26
Size: 16.9 KB
Description:
martig is online now Find More Posts by martig
Last edited by martig; Jun 09, 2014 at 09:57 AM.
Reply With Quote
Old Jun 09, 2014, 10:03 AM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Quote:
Originally Posted by martig View Post
Is this the number of total step that xoptfoil outputs when it finishes or is it the number of designs in the particleswarm_designs.dat file? In this case they are 130 and 1 respectively.

The bump seems to create a low drag bucket at different cl, but overall the airfoil seems to be worse than the seed.
Here are the polars:
Attachment 6836134
Hm, that doesn't seem right if it is only writing one design in the particleswarm_designs.dat file. That would mean it never improved after the initial design. I will have to give your input file a try and see what happens on my machine.
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Old Jun 09, 2014, 11:29 AM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Here's what I get. The particle swarm optimizer ran for 149 total iterations and improved the design 102 times (at the bottom of particle_swarm_designs.dat, it says "Design number 102" for the last one).

I don't get weird bumps like you are, but it did make the trailing edge very thin. I think I will add to my to-do list better checking for thickness. Right now that runs through XFoil, which doesn't use exactly the same points as the buffer airfoil (the points get adjusted first using XFoil's pangen routine). I think that's why some of these super thin designs get through.

Also, your seed airfoil was deemed infeasible by the optimizer, meaning it violated a constraint, but it might not have been one of ones you set. There are a few internal constraints to check the geometry and to make sure XFoil converges, so it might have been one of those. When I get a chance I will figure out which one it is violating so we can figure out what to do about it. You can see whether your seed airfoil is feasible or not during the initial feasibility check. If it says "Design 1 is feasible," you're good to go; otherwise it violated a constraint somewhere.
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Old Jun 14, 2014, 10:26 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
Quote:
Originally Posted by martig View Post
Is this the number of total step that xoptfoil outputs when it finishes or is it the number of designs in the particleswarm_designs.dat file? In this case they are 130 and 1 respectively.

The bump seems to create a low drag bucket at different cl, but overall the airfoil seems to be worse than the seed.
Here are the polars:
Attachment 6836134
Hey martig,

I just got around to checking why your seed airfoil was infeasible. Turns out the trailing edge wedge angle of the seed airfoil was smaller than the value you set as a constraint. If you set min_te_angle to 3.5 instead of 8, it should accept the seed airfoil as a valid design.

EDIT: Speaking of which, I think with the next update I will have the code first check the user inputs to make sure they are reasonable. That will include checking that the seed airfoil is feasible and notifying which constraint was violated if not.

Dan
Montag DP is offline Find More Posts by Montag DP
Last edited by Montag DP; Jun 15, 2014 at 09:07 PM.
Reply With Quote
Old Jun 16, 2014, 02:37 PM
Sink stinks
Montag DP's Avatar
United States, GA, Atlanta
Joined Apr 2005
4,513 Posts
martig,

I've improved the way XoptFoil checks the thickness on the back half of the airfoil. Now it makes sure that the airfoil is at least as thick as the wedge angle (min_te_angle) over the entire back half. This seems to have helped a lot with your case. See the attached result that I got running your input file. I did have to lower the min_te_angle to 4.0 in order for the seed airfoil to be feasible.

The improved thickness checking will be in the next update of the code. I will also implement the curvature reversals constraint (though in this case it looks like the better thickness checking has removed the need to penalize curvature reversals), and also an automatic check to let you know when the seed airfoil violates a constraint, and which one it violated. It will probably be later this week that I get those things done.

Dan
Montag DP is offline Find More Posts by Montag DP
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Airfoil Optimization Using Genetic Algorithms Ghost_ Modeling Science 38 Apr 24, 2014 06:18 AM
Discussion Airfoil Optimization with XFOIL Montag DP Modeling Science 168 Feb 03, 2014 08:14 PM
Discussion Evolutionary airfoil design optimizer available kcaldwel Modeling Science 3 Dec 10, 2012 04:03 PM
Profili - Xfoil and reflexed / autostabilizing airfoils surfimp Modeling Science 29 Mar 30, 2005 06:32 AM