Drag Coefficient Gradient: 0 in 2d adjoint optimization
hi,
I'm running a shape optimization for a 2D drag minimization problem on a simple supersonic aerofoil. The flow and adjoint solutions converge reasonably, but for some reason the gradient at each design variable is zero. I have the complete FFD definition in both the cfg and SU2 grid files (attached). anyone have any ideas as to where i might be going wrong? i've tried editing the FFD and DV definitions but nothing seems to help. i'm using V5.0.0 but as far as i can tell the FFD definition is correct for that version. any ideas really appreciated. Tom. CFG file (FFD AND DV DEFINITION STUFF ONLY): Code:
DV_KIND= FFD_CONTROL_POINT_2D Code:
NDIME= 2 |
Hi tom,
I would recommand you to check whether the FFD box intersects with the airfoil surface. Or you could also check the screen output of SU2_DEF and SU2_DOT modules. In some case, it will tell you that some planes has been fixed to ensure the continuity of the surface. If so, the FFD control points won't move and the corresponding gradients will be zero as well. Hao Wang |
Thanks for your help!
so, you are right and it is fixing planes which are intersecting. is there a way to switch this off without changing the geometry or size of the FFD box? or should i simply re-make the FFD box so that its control points lie entirely outside of the geometry? should it matter if an FFD connector (edge) is penetrating the surface or is it simply a case of relocating the control points? |
i have made a new FFD definition with no points within the aerofoil and no connectors (edges) penetrating the surface, but for some reason am still having the same response to SU2_DEF:
Code:
------------------------- Surface grid deformation ---------------------- also, when i run shape_optimization.py, the log_adjoint file says the FFD box is different (see corner points, surf points...), which it isn't... Code:
---------- Start gradient evaluation using surface sensitivity ---------- |
Quote:
I think you need to check the ffd_box.dat file to make sure whether the ffd box has been changed or not, because from your screen output, it doesn't say that any plane has been fixed. As for your log_adjoint file, I didn't encounter this problem before. I guess you didn't use SU2_DEF to set your FFD box. |
Hi again,
so i have tried using SU2_DEF to set the FFD box instead of the Pointwise script, and have exactly the same issue. SU2_DEF executed without any problems and i can't see anything obviously wrong with the .su2 file which it outputted. the adjoint solution is reasonably converged and shows the surface sensitivities as expected. once again, log_adjoint outputs the following: Code:
---------- Start gradient evaluation using surface sensitivity ---------- Code:
------------------------- Surface grid deformation ---------------------- thanks for the help. |
Hi Tom,
it looks like shape_optimization.py uses an older version of SU2_DEF (the line "FFD Blending using Bezier Curves." was added with changes in 5.0. Make sure that the environment variables SU2_RUN and PATH are pointing to the correct directories. Tim |
Thanks Tim that was absolutely bang on,
turns out i had SU2_HOME pointed to 5.0.0 but SU2_RUN pointed to the previous version. Tom |
Glad that it solved the problem. Thanks for letting us know.
|
Hi,
so; i thought this issue had been resolved by following your advice; and whilst you were correct; unfortunately the issue is not solved. the gradient i am finding is still zero. i have also included AOA as a design variable, and the gradient for this is non-zero as expected. log_adjoint.out shows the following: Code:
---------- Start gradient evaluation using sensitivity information ---------- Code:
-------------------- Objective function evaluation ---------------------- the description in the .su2 grid is as follows: Code:
NPERIODIC= 1 Thanks in advance! Tom. |
Quote:
I have the same problem. My SU2 is fixing the planes, so no deformation occurs when visualized in PARAVIEW. But ffd boxes are changing as per ffd_box.dat file. Could you please help me to solve this issue? Thanks in advance Aravindh |
FFD not interracting with geometry
Dear all,
I know this is a long shot, but you are the one who can help me here. I am trying to optimize the wing section of a BWB aircraft. I am currently facing a problem where my FFD is not interacting with the geometry. I am not aware of how to get over this. So basically I ran the SU2_DEF and generated the FFD and then set up a few control points(198 in my case) as design variables and then run SU2_CFD and SU2_CFD_AD after that. Once all the calculations are done, I wanted to do the sensitivity analysis before going forward with the optimization. Unfortunately, my FFD intersects the geometry and all the gradients are "Zero". I tried changing the FFD_CONTINUITY to 'NO_DERIVATIVE', '1ST_DERIVATIVE' and also 2ND_DERIVATIVE. But the results are the same. It would be really helpful if you can help me bypass this issue, I've attached a few pictures and the outputs for your reference. Looking forward to hearing from you. Kind regards Angu ----------------- FFD technique (parametric -> cartesian) --------------- Checking FFD box dimension. Checking FFD box intersections with the solid surfaces. The FFD planes i=0, i=10, intersect solid surfaces. SU2 is fixing the planes to maintain a continuous 2nd order derivative. Update cartesian coord | FFD box: WING. Max Diff: 0. Design variable (FFD_CONTROL_POINT) number 0. DRAG gradient : 0 ------------------------------------------------------------------------- https://i.postimg.cc/HxSTSdcq/bwb.png |
All times are GMT -4. The time now is 22:30. |