khavart |
June 20, 2019 03:37 |
Inverse Design Optimization
2 Attachment(s)
Hello, I'm currently running an inverse design optimization on a nozzle.
My goal pressure distribution come from said to be optimized nozzle. (Nozzle_Opti.png)
I copy the pressure distribution at the outlet. Then I create a new nozzle which is not optimized (Nozzle_Base.png) and set the TargetCp.dat as following.
Code:
"Global_Index", "x_coord", "y_coord","Pressure","Pressure_Coefficient","Mach_Number"
3, 0.123, 0, 15000,-2.14844, 2.58
2, 0.123, 0.0143, 15000, -2.14844, 2.58
223, 0.123, 0.000595833, 15000, -2.14844, 2.58
224, 0.123, 0.00119167, 15000, -2.14844, 2.58
225, 0.123, 0.0017875, 15000, -2.14844, 2.58
226, 0.123, 0.00238333, 15000, -2.14844, 2.58
227, 0.123, 0.00297917, 15000, -2.14844, 2.58
228, 0.123, 0.003575, 15000, -2.14844, 2.58
229, 0.123, 0.00417083, 15000, -2.14844, 2.58
230, 0.123, 0.00476667, 15000, -2.14844, 2.58
231, 0.123, 0.0053625, 15000, -2.14844, 2.58
232, 0.123, 0.00595833, 15000, -2.14844, 2.58
233, 0.123, 0.00655417, 15000, -2.14844, 2.58
234, 0.123, 0.00715, 15000, -2.14844, 2.58
235, 0.123, 0.00774583, 15000, -2.14844, 2.58
236, 0.123, 0.00834167, 15000, -2.14844, 2.58
237, 0.123, 0.0089375, 15000, -2.14844, 2.58
238, 0.123, 0.00953333, 15000, -2.14844, 2.58
239, 0.123, 0.0101292, 15000, -2.14844, 2.58
240, 0.123, 0.010725, 15000, -2.14844, 2.58
241, 0.123, 0.0113208, 15000, -2.14844, 2.58
242, 0.123, 0.119167, 15000, -2.14844, 2.58
243, 0.123, 0.0125125, 15000, -2.14844, 2.58
244, 0.123, 0.0131083, 15000, -2.14844, 2.58
245, 0.123, 0.0137042, 15000, -2.14844, 2.58
Then my config files is :
Code:
% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------%
PHYSICAL_PROBLEM= EULER
MATH_PROBLEM= DIRECT
REGIME_TYPE= COMPRESSIBLE
AXISYMMETRIC= NO
RESTART_SOL= NO
SYSTEM_MEASUREMENTS= SI
% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------%
MACH_NUMBER= 0.8
AOA= 0
SIDESLIP_ANGLE= 0.0
INIT_OPTION= TD_CONDITIONS
FREESTREAM_OPTION= TEMPERATURE_FS
FREESTREAM_PRESSURE= 400000
FREESTREAM_TEMPERATURE= 288
REYNOLDS_LENGTH= 0.005
%
% ---------------------- REFERENCE VALUE DEFINITION ---------------------------%
REF_ORIGIN_MOMENT_X = 0.25
REF_ORIGIN_MOMENT_Y = 0.00
REF_ORIGIN_MOMENT_Z = 0.00
REF_LENGTH= 1.0
REF_AREA= 1.0
REF_DIMENSIONALIZATION= DIMENSIONAL
% ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------%
FLUID_MODEL= IDEAL_GAS
GAMMA_VALUE= 1.4
GAS_CONSTANT= 287.058
CRITICAL_TEMPERATURE= 131.00
CRITICAL_PRESSURE= 3588550.0
ACENTRIC_FACTOR= 0.035
% -------------------- BOUNDARY CONDITION DEFINITION --------------------------%
MARKER_EULER= (Nozzle)
MARKER_RIEMANN= (Inlet, TOTAL_CONDITIONS_PT, 400000.000000, 288, 1, 0.0, 0.0, Outlet, STATIC_PRESSURE, 20000.000000, 0.0, 0.0, 0.0, 0.0)
MARKER_SYM= (Symmetry)
% ------------------------ SURFACES IDENTIFICATION ----------------------------%
MARKER_PLOTTING= ( Nozzle )
MARKER_MONITORING= ( Outlet )
% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------%
NUM_METHOD_GRAD= GREEN_GAUSS
CFL_NUMBER= 2.0
CFL_ADAPT= YES
CFL_ADAPT_PARAM= ( 1.5, 0.5, 0.5, 1000)
MAX_DELTA_TIME= 1E6
RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 )
% ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------%
MUSCL_FLOW= YES
SLOPE_LIMITER_FLOW= NONE
MUSCL_ADJFLOW= YES
SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN
ADJ_SHARP_LIMITER_COEFF= 3.0
LIMITER_ITER= 999999
% --------------------- INVERSE DESIGN SIMULATION -----------------------------%
INV_DESIGN_CP= YES
INV_DESIGN_HEATFLUX= NO
% ------------------------ LINEAR SOLVER DEFINITION ---------------------------%
LINEAR_SOLVER= FGMRES
LINEAR_SOLVER_PREC= LU_SGS
LINEAR_SOLVER_ERROR= 1E-4
LINEAR_SOLVER_ITER= 4
% -------------------------- MULTIGRID PARAMETERS -----------------------------%
MGLEVEL= 2
MGCYCLE= V_CYCLE
MG_PRE_SMOOTH= ( 1, 2, 3, 3 )
MG_POST_SMOOTH= ( 0, 0, 0, 0 )
MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 )
MG_DAMP_RESTRICTION= 1.0
MG_DAMP_PROLONGATION= 1.0
% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------%
CONV_NUM_METHOD_FLOW= JST
ENTROPY_FIX_COEFF= 0.0
TIME_DISCRE_FLOW= EULER_IMPLICIT
RELAXATION_FACTOR_FLOW= 0.95
JST_SENSOR_COEFF= ( 0.5, 0.02 )
% ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------%
FROZEN_LIMITER_DISC= NO
FROZEN_VISC_DISC= NO
INCONSISTENT_DISC= NO
CONV_NUM_METHOD_ADJFLOW= JST
TIME_DISCRE_ADJFLOW= EULER_IMPLICIT
RELAXATION_FACTOR_ADJFLOW= 1.0
CFL_REDUCTION_ADJFLOW= 0.8
LIMIT_ADJFLOW= 1E6
MG_ADJFLOW= YES
% --------------------------- CONVERGENCE PARAMETERS --------------------------%
EXT_ITER= 10000
CONV_CRITERIA= RESIDUAL
RESIDUAL_REDUCTION= 7
RESIDUAL_MINVAL= -20
STARTCONV_ITER= 10
% ------------------------- INPUT/OUTPUT INFORMATION --------------------------%
MESH_FILENAME= Mesh_FFD.su2
MESH_FORMAT= SU2
MESH_OUT_FILENAME= mesh_out.su2
SOLUTION_FLOW_FILENAME= solution_flow.dat
SOLUTION_ADJ_FILENAME= solution_adj.dat
OUTPUT_FORMAT= PARAVIEW
CONV_FILENAME= history
BREAKDOWN_FILENAME= forces_breakdown.dat
RESTART_FLOW_FILENAME= restart_flow.dat
RESTART_ADJ_FILENAME= restart_adj.dat
VOLUME_FLOW_FILENAME= flow
VOLUME_ADJ_FILENAME= adjoint
VALUE_OBJFUNC_FILENAME= of_eval.dat
GRAD_OBJFUNC_FILENAME= of_grad.dat
SURFACE_FLOW_FILENAME= surface_flow
SURFACE_ADJ_FILENAME= surface_adjoint
WRT_SOL_FREQ= 250
WRT_SOL_FREQ_DUALTIME= 1
WRT_CON_FREQ= 1
WRT_CON_FREQ_DUALTIME= 10
WRT_RESIDUALS= NO
WRT_LIMITERS= NO
WRT_SHARPEDGES= NO
WRT_SURFACE= NO
LOW_MEMORY_OUTPUT= NO
CONSOLE_OUTPUT_VERBOSITY= HIGH
WRT_BINARY_RESTART= YES
READ_BINARY_RESTART= YES
REORIENT_ELEMENTS= YES
% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------%
DV_MARKER= (Nozzle)
%DV_KIND= FFD_SETTING
%DV_PARAM=(NOZZLE,1,1,0.0,1.0)
%DV_VALUE= 0.1
DV_KIND=FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D
DV_PARAM=(NOZZLE,1,1,0.0,1.0);(NOZZLE,2,1,0.0,1.0);(NOZZLE,3,1,0.0,1.0);(NOZZLE,4,1,0.0,1.0);(NOZZLE,5,1,0.0,1.0);(NOZZLE,6,1,0.0,1.0);(NOZZLE,7,1,0.0,1.0);(NOZZLE,8,1,0.0,1.0);(NOZZLE,9,1,0.0,1.0);(NOZZLE,10,1,0.0,1.0)
DV_VALUE= 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001
% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------%
FFD_TOLERANCE= 1E-10
FFD_ITERATIONS= 1000
FFD_DEFINITION= (NOZZLE, 0.0559, 0.0, 0.0, 0.125, 0.0, 0.0, 0.125, 0.05, 0.0, 0.0559, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
FFD_DEGREE= (10, 1, 0)
FFD_CONTINUITY= NO_DERIVATIVE
FFD_SYMMETRY_PLANE= YES
% ------------------------ GRID DEFORMATION PARAMETERS ------------------------%
DEFORM_LINEAR_ITER= 1000
DEFORM_NONLINEAR_ITER= 2
DEFORM_CONSOLE_OUTPUT= YES
DEFORM_LINEAR_SOLVER_ERROR= 1E-14
DEFORM_STIFFNESS_TYPE= CONSTANT_STIFFNESS
DEFORM_LINEAR_SOLVER= FGMRES
DEFORM_LINEAR_SOLVER_PREC= LU_SGS
DEFORM_TOL_FACTOR = 0.000001
DEFORM_COEFF = 1E6
VISUALIZE_DEFORMATION= YES
% --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------%
OPT_OBJECTIVE=INVERSE_DESIGN_PRESSURE
OPT_CONSTRAINT= NONE
OPT_GRADIENT_FACTOR= 1E-6
OPT_RELAX_FACTOR= 1E3
OPT_ITERATIONS= 40
OPT_ACCURACY= 1E-20
OPT_BOUND_UPPER= 0.1
OPT_BOUND_LOWER= 0
FIN_DIFF_STEP=0.0001
DEFINITION_DV= ( 15, 1 | Nozzle | NOZZLE, 1, 1, 0.0, 1.0); ( 15, 1 | Nozzle | NOZZLE, 2, 1, 0.0, 1.0); ( 15, 1 | Nozzle | NOZZLE, 3, 1, 0.0, 1.0 ); ( 15, 1 | Nozzle | NOZZLE, 4, 1, 0.0, 1.0 );( 15, 1 | Nozzle | NOZZLE, 5, 1, 0.0, 1.0); ( 15, 0.1 | Nozzle | NOZZLE, 6, 1, 0.0, 1.0); ( 15, 0.1 | Nozzle | NOZZLE, 7, 1, 0.0, 1.0 ); ( 15, 1 | Nozzle | NOZZLE, 8, 1, 0.0, 1.0 );( 15, 1 | Nozzle | NOZZLE, 9, 1, 0.0, 1.0 );( 15, 1 | Nozzle | NOZZLE, 10, 1, 0.0, 1.0 )
I'm using FFD boxes for the deformation and I have already observed the deformations.
The problem is that when I run the optimization I can't recover the optimized design and it stops after only 1 iteration, saying :
Code:
Found: Mesh_FFD.su2
Found: TargetCp.dat
New Project: ./
Removing old designs in 10s. Done!
Sequential Least SQuares Programming (SLSQP) parameters:
Number of design variables: 10 ( 10 )
Objective function scaling factor: [1.0]
Maximum number of iterations: 40
Requested accuracy: 1e-26
Initial guess for the independent variable(s): [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Lower and upper bound for each independent variable: [(0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001), (0.0, 0.0001)]
NIT FC OBJFUN GNORM
5 1 2.557944E-07 7.675535E-04
Positive directional derivative for linesearch (Exit mode 8)
Current function value: 2.55794353e-07
Iterations: 5
Function evaluations: 1
Have one of you ever had this problem ?
Thanks for your help,
Kevin
Attachment 70555
Attachment 70556
|