CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > SU2 Shape Design

Shape returning to the initial condition

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   May 17, 2014, 13:45
Default Shape returning to the initial condition
  #1
Member
 
Sreekanth
Join Date: Jun 2013
Location: India
Posts: 30
Rep Power: 6
shsreekanth is on a distinguished road
Hi,

When i run the simulation for optimization, I find that after an initial deformation, it gradually tends to get back to the initial shape. This repeats again.
I know that there is better solution, so it cant be that the initial solution is best.

What could I be doing wrong?

Configuration file is attached.

NB: My objective is to minimize the lift, hence i have multiplied the objective with a negative number.

Please have a look and let me know what all things I could be doing wrong. I have to finish my project soon but I am getting stuck at different places with SU2

Thank you.

Sreekanth
Attached Files
File Type: txt coarsecavity.txt (15.7 KB, 8 views)
shsreekanth is offline   Reply With Quote

Old   May 19, 2014, 17:00
Default
  #2
New Member
 
Brendan Tracey
Join Date: Jun 2013
Posts: 18
Rep Power: 6
btracey is on a distinguished road
How are you calling the optimization?
btracey is offline   Reply With Quote

Old   May 20, 2014, 01:45
Default
  #3
Member
 
Sreekanth
Join Date: Jun 2013
Location: India
Posts: 30
Rep Power: 6
shsreekanth is on a distinguished road
shape_optimization.py -f coarsecavity.cfg -p 2
shsreekanth is offline   Reply With Quote

Old   June 4, 2015, 20:04
Default
  #4
New Member
 
Join Date: Jun 2015
Posts: 1
Rep Power: 0
cemonair is on a distinguished road
I have the same problem with the latest version of rotating NACA0012 test case. I don't get the same result with the tutorial without changing anything. NACA0012 goes back to NACA0012 after 37 designs and stays there.

shape_optimization.py -f rotating_NACA0012.cfg

Also I can't get the results in Figure (8): Function evaluation history in tutorial. Drag does not change much during evaluations and at the end goes back to the same location.

Here is the output, looks like OBJFUN and GNORM is not changing much

NIT FC OBJFUN GNORM
1 1 2.158280E-06 2.223470E-03
2 12 2.158351E-06 2.224594E-03


Developers: can you please check this?
Thanks!!
cemonair is offline   Reply With Quote

Old   January 18, 2017, 06:03
Default
  #5
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 16
Rep Power: 2
WillemFloris is on a distinguished road
Hello Sreekanth and Cemonair,


Have you already found a possible solution for this problem?
I have the same problem as well...

I appreciate any help/suggestions of you

Kind regards,

Floris
WillemFloris is offline   Reply With Quote

Old   January 23, 2017, 13:54
Default
  #6
New Member
 
Spyros
Join Date: Mar 2014
Posts: 20
Rep Power: 5
S.Kontogiannis is on a distinguished road
Hello,

In the history of the optimization, is there any design point actually superior than your initial point?
If not, could it be simply that the initial point is a local optimum of your design space?

Spyros
S.Kontogiannis is offline   Reply With Quote

Old   January 24, 2017, 04:42
Default
  #7
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 16
Rep Power: 2
WillemFloris is on a distinguished road
Hi Spyros,

Yes I checked that, the first new shape is improving the object function. I checked this for a drag as objective function and for lift over drag (efficiency) as objective function. Both optimizations have the same progress; initial design--first optimized design (which is improving the objective function)---back to initial shape.

Kind regards,

Floris
WillemFloris is offline   Reply With Quote

Old   August 10, 2017, 16:57
Default
  #8
New Member
 
Join Date: May 2017
Posts: 21
Rep Power: 2
Ryan. is on a distinguished road
Quote:
Originally Posted by WillemFloris View Post
Hi Spyros,

Yes I checked that, the first new shape is improving the object function. I checked this for a drag as objective function and for lift over drag (efficiency) as objective function. Both optimizations have the same progress; initial design--first optimized design (which is improving the objective function)---back to initial shape.

Kind regards,

Floris
Hi,

I'm dealing with the same problem. Did you manage to fix it somehow? I would appreciate it if you could let me know.

Thanks.
Ryan. is offline   Reply With Quote

Old   August 11, 2017, 02:07
Default
  #9
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 16
Rep Power: 2
WillemFloris is on a distinguished road
Hi Ryan,

Apparently this behavior appears when no improved design has been found. The objective function is decreasing, however not sufficient (Armijo-Goldstein conditions).

Reducing the objective scale is a remedy for this typical behavior, however the deviations in shape are so small that it is barely noticeable. In this case, increase the scale of DEFINITION_DV.

It helps when you put "restart flow" on "yes".

Furthermore I would like to refer you to: https://github.com/su2code/SU2/issues/409. In here, the results that can be checked to ensure a proper optimization are pointed out.

I hope this helped you. Please let me know your foundings.

Cheers!

Floris van der Schuur
WillemFloris is offline   Reply With Quote

Old   August 11, 2017, 13:03
Default
  #10
New Member
 
Join Date: May 2017
Posts: 21
Rep Power: 2
Ryan. is on a distinguished road
Quote:
Originally Posted by WillemFloris View Post
Hi Ryan,

Apparently this behavior appears when no improved design has been found. The objective function is decreasing, however not sufficient (Armijo-Goldstein conditions).

Reducing the objective scale is a remedy for this typical behavior, however the deviations in shape are so small that it is barely noticeable. In this case, increase the scale of DEFINITION_DV.

It helps when you put "restart flow" on "yes".

Furthermore I would like to refer you to: https://github.com/su2code/SU2/issues/409. In here, the results that can be checked to ensure a proper optimization are pointed out.

I hope this helped you. Please let me know your foundings.

Cheers!

Floris van der Schuur
Thank you Floris, for your quick reply. I will try to modify the scales as you described. I changed the optimizer to POWELL and it seems to be working just fine but my simulation is still running so maybe it's too soon to judge.
Ryan. is offline   Reply With Quote

Old   August 29, 2017, 11:09
Default
  #11
New Member
 
tom pratt
Join Date: Jan 2016
Posts: 25
Rep Power: 3
tomp1993 is on a distinguished road
Hi All,
I am having the same issue as described above!
for a 2D shape design case, the optimizer takes one or two steps in a direction which minimizes drag (the first iteration being the most effective, reducing drag by nearly 2 counts), but then every subsequent design tends back towards the original design!
i have tried reducing the scale of OPT_OBJECTIVE and OPT_CONSTRAINT to 1e-5 whilst increasing the scale of DEFINITION_DV to as suggested above but this unfortunately did not help the situation.
any more help would be vastly appreciated!
thanks
Tom
tomp1993 is offline   Reply With Quote

Old   August 29, 2017, 11:52
Question
  #12
New Member
 
tom pratt
Join Date: Jan 2016
Posts: 25
Rep Power: 3
tomp1993 is on a distinguished road
UPDATE:
i have just discovered that the adjoint gradient for the optimization is only being calculated for the first design iteration; then every subsequent design iteration only carries out 'DIRECT', 'GEOMETRY' and 'DEFORM' processes.
This is very confusing, i'm not sure why the optimizer wouldn't calculate a sensitivity gradient for every design step?
tomp1993 is offline   Reply With Quote

Old   August 30, 2017, 01:45
Default
  #13
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 16
Rep Power: 2
WillemFloris is on a distinguished road
Hi Tom,

In order to give an suggestion, you have to provide more information about your test case (config file, output files, etc). For now, I can give you the following information:

Returning to initial design indicates that the optimizer did not find any improved design. So first it calculates the direct solution after which the sensitivity is determined. Subsequently line searches takes place to find an improved design. When after 11 searches no improved design is found, it takes the 12th design and calculates the direct and adjoint again.

It is indeed good to play around with the scales, but keep it organized.

During the test cases please check the sensitivities (adjoint & direct) and the output files indicated in https://github.com/su2code/SU2/issues/409.

Please search for the theory of SQP optimizers (SU2 uses the SLSQP, which is a based on SQP optimizers). If you understand the theory, I suggest you to have a look at the source code of the optimizer: https://github.com/scipy/scipy/blob/.../slsqp_optmz.f.

I hope I give you enough information about the gradient based optimization technique of SU2.

Kind regards,

Floris van der Schuur
WillemFloris is offline   Reply With Quote

Old   August 30, 2017, 10:09
Smile
  #14
New Member
 
tom pratt
Join Date: Jan 2016
Posts: 25
Rep Power: 3
tomp1993 is on a distinguished road
Hi Floris,
Thanks for the detailed information and links! i will read more into the workings of the optimizer.
when you say that 11 line-searches are performed, is this number of attempts arbitrary, or is there a reason for it to be 11?
As requested here is a txt copy of the config file which i have been using.
supersonic-foil-opt-HH.txt
thankyou for taking the time to educate me a little bit! your help is much appreciated.
Tom
tomp1993 is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
High Courant Number @ icoFoam Artex85 OpenFOAM Running, Solving & CFD 11 February 16, 2017 14:40
pimpleFoam: turbulence->correct(); is not executed when using residualControl hfs OpenFOAM Running, Solving & CFD 3 October 29, 2013 09:35
calculation stops after few time steps sivakumar OpenFOAM Running, Solving & CFD 7 March 17, 2013 07:37
pisoFoam with k-epsilon turb blows up - Some questions Heroic OpenFOAM Running, Solving & CFD 26 December 17, 2012 04:34
Upgraded from Karmic Koala 9.10 to Lucid Lynx10.04.3 bookie56 OpenFOAM Installation 8 August 13, 2011 04:03


All times are GMT -4. The time now is 17:44.