|
[Sponsors] |
Selective Multigrid for Optimization Problems. |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
August 30, 2018, 09:34 |
Selective Multigrid for Optimization Problems.
|
#1 |
New Member
Join Date: May 2018
Posts: 2
Rep Power: 0 |
Dear SU2 community,
I am currently using the SU2 version 6.0.0. for an airfoil optimization problem using the discrete adjoint method. Due to the nature of my mesh, I am having problems converging the solution for the DIRECT problem using Multigrid, but in the ADJOINT the Multigrid is really helpful. I saw in the config_template.cfg that you can turn on or off the Multigrid option in the Adjoint problem. (MG_ADJFLOW = YES). Is there any way to turn off the Multigrid option for the DIRECT Problem and use it just in the ADJOINT solution by imposing MG_ADJFLOW = YES? Thank you. |
|
August 31, 2018, 14:08 |
|
#2 |
Senior Member
Pedro Gomes
Join Date: Dec 2017
Posts: 466
Rep Power: 13 |
What MG settings are you using and what is the size/type of your mesh? Maybe with some tuning you would be able to use it for both problems.
|
|
September 7, 2018, 15:29 |
|
#3 |
New Member
Join Date: May 2018
Posts: 2
Rep Power: 0 |
I finally skipped the use of the Multigrid. It demands a bit more of computational time without it but the convergence is satisfactory.
The problems that I have now are related to the optimization itself. Even if I set the airfoil thickness constraint to be greater than 0.05 (5%), in the 10th iteration the upper and lower surfaces cross with each other in the leading edge, hence leading to divergence. I'm using FFD_CONTROL_POINT_2D Design variables, as follows in the Optimal shape optimization: % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % Available Objective functions % DRAG, LIFT, SIDEFORCE, PRESSURE, FORCE_X, FORCE_Y, % FORCE_Z, MOMENT_X, MOMENT_Y, MOMENT_Z, EFFICIENCY, % EQUIVALENT_AREA, THRUST, TORQUE, FREESURFACE % Optimization objective function with scaling factor, separated by semicolons. % To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. % ex= Objective * Scale OPT_OBJECTIVE= DRAG*0.001 % % Optimization constraint functions with pushing factors (affects its value, not the gradient in the python scripts), separated by semicolons % ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 2.865440)*0.001; (AIRFOIL_THICKNESS > 0.05)*0.001 % % Factor to reduce the norm of the gradient (affects the objective function and gradient in the python scripts) % In general, a norm of the gradient ~1E-6 is desired. %OPT_GRADIENT_FACTOR= 1E-6 % % Factor to relax or accelerate the optimizer convergence (affects the line search in SU2_DEF) % In general, surface deformations of 0.01'' or 0.0001m are desirable %OPT_RELAX_FACTOR= 1E2 % % Maximum number of optimizer iterations ( 100 by default) OPT_ITERATIONS= 30 % % Requested accuracy ( 1e-10 by default) OPT_ACCURACY= 1E-6 % % Upper bound for each design variable (bound in the python optimizer) OPT_BOUND_UPPER= 1E6 % % Lower bound for each design variable (bound in the python optimizer) OPT_BOUND_LOWER= -1E6 % % Optimization design variables, separated by semicolons DEFINITION_DV= ( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,0,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,1,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,2,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,3,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,4,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,5,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,6,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,7,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,8,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,9,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,10,0,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,0,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,1,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,2,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,3,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,4,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,5,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,6,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,7,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,8,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,9,1,0.0,15.0);( 15, 1.0 | AIRFOIL | AIRFOIL_BOX,10,1,0.0,15.0); In order to let a wide range of movement freedom to the DV, I set the OPT_BOUNDS to a high number (+-1E6). Moreover, in the x_Mov, y_Mov of the DV, I set the movement on y (the only direction allowed to move) to 15.0, in order to let it explore a wider range of possibilities. The problem is that the surfaces cross with each other, violating the thickness constraint. Maybe the freedom to the DV should be a bit more restrictive and hence use a lower number, but I don't know how this OPT_BOUND and x_Mov,y_Mov variables work at all. 1. Shouldn't the thickness constraint be respected even if the allowed movement is wide? 2. Are the OPT_BOUNDS the physical limit of the maximum deformation of the DV on the FFD box? In which units are they expressed? 3. In which units are the x_Mov and y_Mov represented, in terms of chords? (i.e. if y_Mov=1, that means the allowed vertical movement of that certain DV is one chord? or they're the allowed maximum displacement per Opt iteration?) Let's see if I can get some help in these issues. Thank you and sorry for my late reply. Last edited by RobVM; September 7, 2018 at 15:36. Reason: Clarifying a question. |
|
Tags |
discrete adjoint, multigrid, optimization, su2 |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Needed Benchmark Problems for FSI | Mechstud | Main CFD Forum | 4 | July 26, 2011 13:13 |
Some problems with Star CD | Micha | Siemens | 0 | August 6, 2003 14:55 |
Coupled solver and multigrid | Hong | Main CFD Forum | 0 | September 11, 2000 10:05 |
explicit CFD solver and multigrid | John Buckley | Main CFD Forum | 5 | March 8, 2000 06:00 |
Multigrid: AMG GMG FMG | J Roued | Main CFD Forum | 1 | June 28, 1999 09:12 |