
[Sponsors] 
December 14, 2015, 12:27 
SU2 Divergence Failure

#1 
New Member
Mike
Join Date: Dec 2015
Posts: 3
Rep Power: 9 
I have SU2 v4.0.0 on a MacBook Pro with OS 10.11.1. I am testing shape optimization of a 2D curved channel using the Python script, shape_optimization.py
I started by modifying the .cfg file from the tutorial example, Constrained Optimal Shape Design of a Fixed Wing. My goal is to use the shape optimization to modify the channel geometry (i.e. height) if the drag exceeds a threshold value. From the flow solution, the drag is approximately 0.1. So I set the constraint such that the drag is to be greater than 0.2. Thus, I would expect the channel geometry to locally constrict in order to increase the drag to meet the constraint. It seems that the CFD solver is providing a correct solution for the flow and pressure. The adjoint solution runs fine and seems to show sensitivity in the correct locations. However, the flow solution diverges at the beginning of DESIGN 2. Can anyone help getting this example to run? I suspect the problem may have to do with how I am using the Free Form Deformation, such as number of control points, or the degree, or possibly how I am using DEFINITION_DV? I noted the following lines output from the gradient projection: "The FFD planes i=0, intersect solid surfaces." I am not sure, but it seems like there should be more planes intersecting the solid surface? Here is more output from the gradient projection:  Config File Boundary Information  Inlet boundary marker(s): inlet. Outlet boundary marker(s): outlet. Constant heat flux wall boundary marker(s): upper, lower.  Read Grid File Information  Two dimensional problem. 495 points. 4 surface markers. 98 boundary elements in index 0 (Marker = upper). 98 boundary elements in index 1 (Marker = lower). 4 boundary elements in index 2 (Marker = inlet). 4 boundary elements in index 3 (Marker = outlet). 392 quadrilaterals.  Preprocessing computations  Setting local point connectivity. Checking the numerical grid orientation of the interior elements. Identify edges and vertices. Computing centers of gravity. Setting the bound control volume structure. Reading surface sensitivities at each node from file.  Start gradient evaluation using surface sensitivity  Read the FFD information from mesh file. 1 Free Form Deformation boxes. 1 Free Form Deformation nested levels. FFD box tag: FFD_BoxTag. FFD box level: 0. Degrees: 5, 5. Number of parent boxes: 0. Number of child boxes: 0. Corner points: 4. Control points: 72. Surface points: 34. Check the FFD box intersections with the solid surfaces. The FFD planes i=0, intersect solid surfaces.  Design variable number 0. Perform 3D deformation of the surface. Update cartesian coord  FFD box: FFD_BoxTag. Max Diff: 0.119696. Evaluate functional gradient using the continuous adjoint strategy. Drag coefficient gradient: 1.182e+06.  . . .  Design variable number 35. Perform 3D deformation of the surface. Update cartesian coord  FFD box: FFD_BoxTag. Max Diff: 0.119696. Evaluate functional gradient using the continuous adjoint strategy. Drag coefficient gradient: 1.182e+06.  Completed in 0.035010 seconds on 1 core.  Exit Success (SU2_DOT)  It seems like no deformation is taking place. This may be because the log_Direct.out in the DSN_002 directory shows:  Begin Solver   Local Time Stepping Summary  MG level: 0 > Min. DT: 4.28308e07. Max. DT: 0.00225209. CFL: 100. MG level: 1 > Min. DT: 1.06536e05. Max. DT: 0.00605759. CFL: 83.666. MG level: 2 > Min. DT: 3.3412e06. Max. DT: 0.00611295. CFL: 75.6787.   Residual Evolution Summary  log10[Maximum residual]: 1.57267. Maximum residual point 200, located at (0, 0.000625).  Iter Time(s) Res[Press] Res[Velx] CLift(Total) CDrag(Total) 0 0.004460 2.466014 0.918705 10000.000000 10000.000000 !!! Error: SU2 has diverged. Now exiting... !!!  My *.cfg and *.su2 files are attached with a .txt extension in order to upload. Thanks for any help/suggestions, Mike 

December 20, 2015, 10:45 

#2  
Super Moderator
Tim Albring
Join Date: Sep 2015
Posts: 195
Rep Power: 9 
Hi boghmic,
Quote:


December 20, 2015, 16:24 

#3 
New Member
Mike
Join Date: Dec 2015
Posts: 3
Rep Power: 9 
Thank you Tim for your reply.
What I really am trying to do is to minimize the square of the difference between the skin friction coef. and a target value. For example, (C_F  TARGET)^2 I thought that for now let me try to use the drag coefficient since I don't think the skin friction coefficient is an available choice for the objective function. In order for this to be reasonable, I believe that I am assuming the form drag due to pressure term is small. c_d = c_p + c_f. If this were possible, would I set the following: OPT_OBJECTIVE = DRAG OPT_CONSTRAINT = (DRAG  TARGET)^2 = 0 

January 10, 2016, 14:12 

#4 
Super Moderator
Tim Albring
Join Date: Sep 2015
Posts: 195
Rep Power: 9 
Hi boghmic,
sorry for my late answer. Still your problem is that the constraint and the objective function are contradictory. Furthermore it is not possible to give the optimizer a constraint with arithmetic operations. I think the only choice is to implement this objective function by yourself. This should be rather easy with the new version 4.1. Get back to me if you need a starting point. 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
[ANSYS Meshing] Help with element size  sandri_92  ANSYS Meshing & Geometry  14  November 14, 2018 08:54 
There is a catastropic failure in SU2 3.0.1  codezy  SU2  1  April 13, 2014 19:42 
SU2 3.0 build failure  waku2005  SU2 Installation  4  January 24, 2014 13:40 
Divergence problem  Smaras  FLUENT  13  February 21, 2013 06:03 
3d vof  Smaras  FLUENT  2  February 19, 2013 07:58 