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

Mesh sensitivity diverged (discrete adjoint optimization)

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 22, 2017, 04:55
Question Mesh sensitivity diverged (discrete adjoint optimization)
  #1
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 21
Rep Power: 10
WillemFloris is on a distinguished road
Hello guys,

After successfully optimizing an incompressible flow problem with the continuous adjoint optimizer, I would like to switch to the discrete adjoint optimizer. However there occurred some errors during the simulation. For example, in the ./DSN_001/log_ADJOINT.out, Sens_Press and Sens_AoA are 0.00. Furthermore at the end of this file it shows the following error:
error_mesh_sensitivity.png

However the surface sensitivities seems to be ok:
surface_sensitivities.png

Is anyone familiar to this problem or does anyone know how to solve this problem? Any advice would be great!

Cheers,

Floris
WillemFloris is offline   Reply With Quote

Old   September 25, 2017, 09:34
Default
  #2
Super Moderator
 
Tim Albring
Join Date: Sep 2015
Posts: 195
Rep Power: 11
talbring is on a distinguished road
Hi,

Sens_Press and Sens_AoA are always zero when you use the incompressible solver. However, the mesh sensitivity should not diverge ... can you attach the log_ADJOINT.out and possibly also the config_DOT_AD.cfg ?
talbring is offline   Reply With Quote

Old   September 28, 2017, 03:30
Default
  #3
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 21
Rep Power: 10
WillemFloris is on a distinguished road
Hi Tim,

Yes, ofcourse.

After I had posted this thread, I tested multiple cases trying different parameters and different meshes. I discovered that switching to the discrete adjoint optimizer difficulties arises when using the same high aspect ratio (~4000) close to the surface. After I changed the aspect ratio to (~2500), the mesh converges and the discrete adjoint optimizer did his job!

I removed the iterations 5001-1499 from the log file in order to not cross the size limitation; requested_files_adjoint.tar.gz.

Cheers!

Floris van der Schuur
WillemFloris is offline   Reply With Quote

Old   October 5, 2017, 06:52
Question
  #4
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 21
Rep Power: 10
WillemFloris is on a distinguished road
Hi,

In the latter post I described that the discrete adjoint optimizer was working. Although it was working, it did not deform the shape. I thought it is just a matter of scaling, so I tried dozens of scaling factors but this all was without success.

Then I checked the log_adjoint.out and I saw that the mesh sensitivity computation was converged, although the value of FGMRES residual was huge; after 1000 iterations it was ~0.02. Subsequently the volumes of the grid element were computed, these had an error of 1.144E+16.

The resulting efficiency gradients at each design variable contain values between -1E10 and -1E13. Which is quite high when these gradients are compared with the continuous adjoint optimization (1E0-1E3).

I have tried to lower the gradients by lowering the scale factor for the objective function. However this did not help much.

Does anybody know why these gradients are that large? Or does anyone know another way to improve the performance of the discrete adjoint optimizer for an incompressible case?

Kind regards,

Floris

log_adjoint.out & config_DOT_AD.cfg: config_log_new.zip
WillemFloris is offline   Reply With Quote

Old   October 17, 2017, 11:23
Default
  #5
New Member
 
Floris
Join Date: Sep 2016
Location: Enschede, The Netherlands
Posts: 21
Rep Power: 10
WillemFloris is on a distinguished road
Hi Tim,

For the following test cases I disabled the transition. Here I am only testing the influence of compressibility to the performance of the optimizer:
Configure file:turb_SA_RAE2822_IN.txt

Compressible config_DOT_AD:config_DOT_AD_CO.txt
Compressible log adjoint file:log_Adjoint_CO.txt

Incompressible config_DOT_AD:config_DOT_AD_IN.txt
Incompressible log adjoint file:log_Adjoint_IN.txt


Furthermore I compared the compressible discrete gradient determination with the finite difference gradient. This should be approximately the same. I have to note that different objective scaling factors are used (Discrete:1E-1, finite difference: 1E-2) and different DV scaling factors (Discrete: 1E3, finite difference: 1E2) but the different DV scaling should not matter in this stage. So I expected a difference of order 1, however the gradients of the discrete are amazingly high ~3E18 while the gradients of the finite difference are ~3E6. (these gradients are the efficiency gradient for each control point.) Why is the discrete adjoint over-predicting the gradient?

Kind regards,

Floris
WillemFloris is offline   Reply With Quote

Reply

Tags
discrete adjoint, mesh sensitivity, optimization


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Exporting Fluent adjoint boundary mesh as .stl or parasolid. _11_ FLUENT 1 April 1, 2020 02:22
[snappyHexMesh] SnappyHexMesh no layers and no decent mesh for complex geometry pizzaspinate OpenFOAM Meshing & Mesh Conversion 1 February 25, 2015 08:05
Issue with arbitrary Lagrangian-Eulerian method and mesh optimization mikolchon Main CFD Forum 0 August 16, 2014 16:50
[snappyHexMesh] Layers:problem with curvature giulio.topazio OpenFOAM Meshing & Mesh Conversion 10 August 22, 2012 10:03
[snappyHexMesh] external flow with snappyHexMesh chelvistero OpenFOAM Meshing & Mesh Conversion 11 January 15, 2010 20:43


All times are GMT -4. The time now is 23:05.