|
[Sponsors] |
What's the meaning of 'NIT','FC','GNORM' in the output file of optimization in SU2? |
![]() |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
![]() |
![]() |
#1 |
New Member
Bingfei
Join Date: Nov 2015
Posts: 25
Rep Power: 9 ![]() |
Hi all,
When I was using the FFD optimization function of SU2 to optimize a model made by myself, it stopped in the first step and showed this in the output terminal: NIT FC OBJFUN GNORM 5 1 1.737716E-04 3.782303E-28 Optimization terminated successfully. (Exit mode 0) Current function value: 0.000173771565 Iterations: 5 Function evaluations: 1 Gradient evaluations: 1 From the tutorial of ONERA M6 optimization, I guess 'FC' means the function evaluation step that have new gradient computation? But how to explain the value of 'NIT' is 5? And what's the meaning of 'GNORM'? Thank you! Bingfei |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Member
tom pratt
Join Date: Jan 2016
Posts: 55
Rep Power: 9 ![]() |
Hi,
FC will correspond to the number of shape updates and function evalutations performed by SU2. sometimes this is different to the number of adjoint gradient calculations because SU2 is trying to satisfy the Armijo-Goldstein conditions (sufficient decrease in objective function) which is why sometimes multiple design deformations and flow evaluations are done between each gradient evaluation. NIT i think is the number of gradient evaluations done - again this can be the same as FC but can also be significantly less if the Armijo-Goldstein condition is not met for every gradient evaluation step. OBJFUN is the value of your objective function (CL, CD etc) GNORM can be viewed as the value of your gradient at each evaluation. The design process will stop when GNORM reaches a sufficiently low value. regards tom |
|
![]() |
![]() |
![]() |
![]() |
#3 |
New Member
Bingfei
Join Date: Nov 2015
Posts: 25
Rep Power: 9 ![]() |
Thanks Tom!
I think my comprehension about this is similar to yours. But how to explain the value of NIT is larger than the value of FC in my output file? Bingfei |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Member
tom pratt
Join Date: Jan 2016
Posts: 55
Rep Power: 9 ![]() |
Bingfei,
As I Mentioned, the optimization uses the Armijo-Goldstein condition. this means that if, after the first iteration (flow, gradient, deform) the calculated objective function has not decreased by at least a specified amount (look up Armijo-Goldstein) then a larger design step is taken in the same direction without re-solving for the adjoint gradient. the objective function is checked again and ONLY if there has been sufficient decrease will another gradient evaluation be undertaken. NIT and FC are different because the Armijo-Goldstein condition is not being met for one or some of your design steps. tom |
|
![]() |
![]() |
![]() |
![]() |
#5 |
New Member
Bingfei
Join Date: Nov 2015
Posts: 25
Rep Power: 9 ![]() |
Thanks Tom!
After your explaination, I think my understand for the process of optimization in SU2 is more clear. ![]() But in the model I optimize in SU2 now, the value of GNORM is always '0', and the optimization step stopped in the first step as follow: NIT FC OBJFUN GNORM 1 1 5.416543E-04 0.000000E+00 Optimization terminated successfully. (Exit mode 0) Current function value: 0.000541654266 Iterations: 1 Function evaluations: 1 Gradient evaluations: 1 Can you explain or solve this problem? Thank you! Bingfei |
|
![]() |
![]() |
![]() |
![]() |
#6 |
Member
tom pratt
Join Date: Jan 2016
Posts: 55
Rep Power: 9 ![]() |
How are you defining your FFD design variables? i have had this problem before and it was due to not setting up the FFD variables correctly. you may also want to check the contents of log_adjoint.out located in DESIGNS/DSN001/ADJOINT/
you might find that if your FFD box is intersecting the surface that you want to design then SU2 may be fixing certain planes of the FFD box, which can lead to no deformation. i assume you have followed the tutorials provided with the latest release? |
|
![]() |
![]() |
![]() |
![]() |
#7 |
New Member
Bingfei
Join Date: Nov 2015
Posts: 25
Rep Power: 9 ![]() |
Thank you Tom!
My problem have solved. ![]() I tried making FFD Box again, I found after this step the it generated a Restart file. In the second step ( the shape optimization step), I opened the restart option with the restart file made from the first step. (Before I used the restart file given from the calculation step I did before). This time the value of the value of GNORM is not '0' and the design process proceeded smoothly. Bingfei |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[foam-extend.org] Problems installing foam-extend-4.0 on openSUSE 42.2 and Ubuntu 16.04 | ordinary | OpenFOAM Installation | 19 | September 3, 2019 18:13 |
[OpenFOAM.org] Patches to compile OpenFOAM 2.2 on Mac OS X | gschaider | OpenFOAM Installation | 136 | October 10, 2017 17:25 |
[OpenFOAM.org] Error creating ParaView-4.1.0 OpenFOAM 2.3.0 | tlcoons | OpenFOAM Installation | 13 | April 20, 2016 17:34 |
[swak4Foam] Problem installing swak_2.x for OpenFoam-2.4.0 | towanda | OpenFOAM Community Contributions | 6 | September 5, 2015 21:03 |
OpenFOAM on MinGW crosscompiler hosted on Linux | allenzhao | OpenFOAM Installation | 127 | January 30, 2009 19:08 |