CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   Fluent Adjoint Solver? (https://www.cfd-online.com/Forums/fluent/113708-fluent-adjoint-solver.html)

ex10148 February 25, 2013 11:05

Fluent Adjoint Solver?
 
Hello Everyone!

Hope you are all doing good. I needed help regarding the functionalities in Ansys Fluent Adjoint Solver. I wanted to ask if any of you had any experience with the Adjoint Solver in Fluent? As for my final year project I am using lift constrained drag minimization approach for a formula one front wing and I have tried to find some material on how best to use adjoint solver inorder to get a converged solution. I am having trouble in settings of controls section in the adjoint solver module inside fluent as no information can be found for best setting for turbulence modelling I can't seem to get the right combination of settings and as a result my solution is diverging. The solver seems to converge perfectly alright for the conventional flow solver but its just the adjoint solver convergence I am having issues with. Any details on how to set the settings in adjoint flow solver for converged solution will be much appreciated.

Thank You. Have a nice day.

Best Regards,
Ahmed.

micro11sl February 25, 2013 12:06

Hi,
As far as I know, the adjoint Fluent solver only allows you using k-epsilon with standard wall function turbulence model. A general step may be: run your case with the turbulence model you're preferred for accuracy, run adjoint solver with the k-epsilon with standard wall function turbulence model, after the done the mesh morpher, rerun the new case with your preferred turbulence model. In this way, the results of the adjoint solver is regarded as "guiding solutions".

I am not using the adjoint solver actually, so I can't guarantee my way can solve your problem. I am personally interested with it and I have attended an ANSYS Fluent webinar session talking about how to use the adjoint solver. Please check if you can have a customer account, so you can have access to those material as well. You can apply for a student account if you're eligible.

Regards,
Sheng

Quote:

Originally Posted by ex10148 (Post 409978)
Hello Everyone!

Hope you are all doing good. I needed help regarding the functionalities in Ansys Fluent Adjoint Solver. I wanted to ask if any of you had any experience with the Adjoint Solver in Fluent? As for my final year project I am using lift constrained drag minimization approach for a formula one front wing and I have tried to find some material on how best to use adjoint solver inorder to get a converged solution. I am having trouble in settings of controls section in the adjoint solver module inside fluent as no information can be found for best setting for turbulence modelling I can't seem to get the right combination of settings and as a result my solution is diverging. The solver seems to converge perfectly alright for the conventional flow solver but its just the adjoint solver convergence I am having issues with. Any details on how to set the settings in adjoint flow solver for converged solution will be much appreciated.

Thank You. Have a nice day.

Best Regards,
Ahmed.


ex10148 February 25, 2013 12:10

Reply: Fluent Adjoint Solver!
 
Thanks for your reply. Well I have attended the two webinars on the Adjoint Solver so far and I have read all the material available on Fluent Adjoint Solver. I know the steps that you have mentioned but I need some help in the control settings of Adjoint Solver where the stabilization schemes and preconditioning are set? Because with my current settings the solution tends to diverge? Any help on that will be much appreciated. Thanks again.

micro11sl February 28, 2013 04:19

1 Attachment(s)
Hi,
Sorry to reply late. In my limited experience, I managed to converge by "uncheck" the "apply preconditioning" for my low Reynolds number aerofoil case. I find I can't replot the residual history, so I only upload the settings on the panel.

Regards,
Sheng

Quote:

Originally Posted by ex10148 (Post 409996)
Thanks for your reply. Well I have attended the two webinars on the Adjoint Solver so far and I have read all the material available on Fluent Adjoint Solver. I know the steps that you have mentioned but I need some help in the control settings of Adjoint Solver where the stabilization schemes and preconditioning are set? Because with my current settings the solution tends to diverge? Any help on that will be much appreciated. Thanks again.


ex10148 February 28, 2013 07:44

Thanks a lot for your reply. As a test case I also did a 2D optimisation of NACA0012 using the Fluent Adjoint Solver and it did converge by turning off the preconditioning option. But I am doing optimisation of front wing of a formula one car with wheel aswell and that makes the mesh size pretty large with separation aswell at the trailing edge of the flaps and when I turned off the preconditioning option it diverged straight away as specifying the values of artificial compressibility and courant numbers is absiolutely necessary for stable operation of the adjoint solver and using low values of Artificial Compressibility(between 0-1) and Courant Number(0.1-2.5) aids in stabilizing the convergence.

Do you know anyone who might know how to set the right values for adjoint controls inorder to get a converged solution? As the only problem I am facing is adjoint convergence. Thanks a lot.

Quote:

Originally Posted by micro11sl (Post 410594)
Hi,
Sorry to reply late. In my limited experience, I managed to converge by "uncheck" the "apply preconditioning" for my low Reynolds number aerofoil case. I find I can't replot the residual history, so I only upload the settings on the panel.

Regards,
Sheng


metu_aee March 14, 2014 04:03

adj solver diverges
 
Dude can I ask to share your NACA0012 profile adjoint solution and control settings since I am working on it but solution diverges somehow. I am stuck!




Quote:

Originally Posted by ex10148 (Post 410637)
Thanks a lot for your reply. As a test case I also did a 2D optimisation of NACA0012 using the Fluent Adjoint Solver and it did converge by turning off the preconditioning option. But I am doing optimisation of front wing of a formula one car with wheel aswell and that makes the mesh size pretty large with separation aswell at the trailing edge of the flaps and when I turned off the preconditioning option it diverged straight away as specifying the values of artificial compressibility and courant numbers is absiolutely necessary for stable operation of the adjoint solver and using low values of Artificial Compressibility(between 0-1) and Courant Number(0.1-2.5) aids in stabilizing the convergence.

Do you know anyone who might know how to set the right values for adjoint controls inorder to get a converged solution? As the only problem I am facing is adjoint convergence. Thanks a lot.


caphfa May 1, 2014 09:48

Hello people!
Maybe somebody find out the way to overcome divergence problems in adjoint solution? It seems I have tried almost all possible variants of adjoint solver settings and also I tried different “high quality” grids, but results are still far from converged solution. So, if it is impossible to obtain fully converged adjoint solution, can I use calculated gradient for optimization purposes? If somebody has similar experience I’ll be very thankful for any advice.

Thanks

fpalacios September 5, 2014 12:35

Quote:

Originally Posted by caphfa (Post 489304)
Hello people!
Maybe somebody find out the way to overcome divergence problems in adjoint solution? It seems I have tried almost all possible variants of adjoint solver settings and also I tried different “high quality” grids, but results are still far from converged solution. So, if it is impossible to obtain fully converged adjoint solution, can I use calculated gradient for optimization purposes? If somebody has similar experience I’ll be very thankful for any advice.

Thanks

Have you tried SU2 (su2.stanford.edu) ?

Cheers,

revilo82 January 30, 2015 07:33

In order to get good convergence with the Adjoint you have to check the following steps:
  1. CFD convergence
  2. Mesh quality (Ortho>0.05)
  3. Start with default Adjoint setup (Activate Preconditioning and stabilization)
  4. Check the AMG iterations --> if they converged within 10 iteration, all is fine. If not, decrease the CFL# until 1, decrease AC to 0.05 and 0.01, if the flow rate diverges, then increase / decrease
  5. Check outer iterations --> oscillations can be handles with URF and stabilization
  6. Dissipation scheme: increase the damping factor, reduce the damping order to 1

revilo82 January 30, 2015 07:34

last point: use R16!

syavash July 7, 2015 16:36

Not quite a solution, but lowering mesh number can possibly lead to convergence!

Steffen595 July 9, 2015 17:48

R16 does not help. Still not converging after 300 iterations and doing all of the above settings

syavash July 10, 2015 07:53

Dears,

I just want to share my experience of using Fluent Adjoint solver!
In one of the cases, I had an airfoil in low AOA in subsonic flow regime. My goal was to optimize that airfoil in terms of L/D (lift to drag ratio). In this case, Adjoint solver was very helpful and after some iterations, L/D was increased appreciately.

In another case, I wanted to optimize the same airfoil in a high near stall AOA. I had a constraint on the lower surface of airfoil and was not allowed to modify its shape, so I was only permitted to make modifications on the upper surface. The premium goal was optimizing the airfoil by delaying separation point as much as possible, while retaining the L/D ratio.
In this case, Adjoint solver did not perform as expected. Initially, I used a standard structured fine mesh which I used for static airfoil at different AOAs.
I tried to use the same mesh for Adjoint optimization, but I could not manage to get a converged adjoint solution, no matter how much I played with controls and schemes!
Then, I decided to use a coarser mesh with fewer cells on the upper surface. Well, this time it converged without any trouble!
But the problem has just begun! I could get an optimized solution with higher L/D of about 1 or 2 units, I let the optimization iterate for more than 250 times (250 different shapes!) and the separation point was also delayed toward the trailing-edge. I was quite satisfied with the result, but when I examined the mesh quality rear the airfoil, it was disaster!
The problem is that when Adjoint solver tries to optimize the airfoil shape, the mesh over the airfoil is also taken into account. In other words, Adjoint manipulates both the mesh and geometry (not geometry alone!) to optimize the solution, and it is a disaster!!
In my case for example, it ruined the mesh orthogonality to gain higher lift
and delay the separation. I tried to apply the former standard mesh to the optimized shape, and when I run it in the fluent, that was the real disappointment, the result was ONLY slightly better than the base geometry. L/D was much lower than that which Adjoint gave me using the deformed mesh!!!
Finally, I gave up using adjoint for this case and used some other primitive methods to achieve my goal!!!
I hope it could help some people who are dealing with Fluent Adjoint solver!!

syavash July 11, 2015 10:03

Quote:

how did you get the adjoint solver to modify the mesh and put it back into the fluent solver? It only works for the 1st iteration. When I optimise a 2nd time, it does not show the mesh any different than the 1st results and I dont get the next change into fluent solver either.

Thanks,

Steffen
Well, your question seems odd to me! Fluent does consider the modified mesh for further simulations!
But examining the mesh of the 2nd optimization VISUALLY might not be a perfect way to judge the Adjoint solver. I suggest to let it proceed further, for instance 50 cycles. Then go to the mesh display and examine the mesh deformation once again.

Bests,
Syavash

Steffen595 July 11, 2015 18:42

I got it to work now.
But how can I export the modified mesh?

Steffen595 July 21, 2015 01:13

got it sorted somehow, its still e bit erractic. Sometimes it updates the mesh, sometimes not.
But the predicted values are way more optimistic than the results. In my reducing elbow I found a few tens Pa. The Bernoulli part is about 5500Pa, so its no surprise it hoped to skim off a few 100Pa, but initially I only got 6100Pa.

urosgrivc September 28, 2018 08:11

be sure to make very small changes to the geometry I usually use 2% improvement per optimisation loop which is then automated with journal files so a lot of loops and small steps is done.
If you make big changes like 10% a lot can go wrong.
Convergence is relatively good on the k-epsilon model but for k-omega it diverges in my case. SST is not supported


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