Replies: 8 comments 10 replies
-
Hi, |
Beta Was this translation helpful? Give feedback.
-
Hi, Pedro,
Thank you for your fast response. Sorry for the late reply since I took a leave yesterday afternoon.
Attached please find an output file. Actually I tried different combinations for the following parameters:
% Activate fixed lift mode (specify a CL instead of AoA, NO/YES)
FIXED_CL_MODE= YES
%
% Target coefficient of lift for fixed lift mode (0.80 by default)
TARGET_CL= 0.5
%
% Estimation of dCL/dAlpha (0.2 per degree by default)
DCL_DALPHA= 0.2
%
% Maximum number of iterations between AoA updates
UPDATE_AOA_ITER_LIMIT= 200
%
% Number of iterations to evaluate dCL_dAlpha by using finite differences (500 by default)
ITER_DCL_DALPHA= 500
%
As an example here, the strange thing is that you can see Step 201, the AoA changed very little (-0.067222) while Cl changed from 0.520167 to 0.304608. I tried DCL_DALPHA=0.05,0.1,0.2,0.3, and UPDATE_AOA_ITER_LIMIT= 100,200,300, and ITER_DCL_DALPHA = 200, 500 and all had similar issues.
The computations were restarted from a fixed AoA run (with 10k steps and constant CFL=20) which converged well.
Thank you very much!
Wei
From: Pedro Gomes ***@***.***>
Sent: Thursday, June 3, 2021 3:30 PM
To: su2code/SU2 ***@***.***>
Cc: Wei Liao ***@***.***>; Author ***@***.***>
Subject: Re: [su2code/SU2] Issues on the fixe-Cl capability of SU2 (#1298)
CAUTION - EXTERNAL EMAIL: Do not click any links or open any attachments unless you trust the sender and know the content is safe.
Hi,
Please post the output of the code.
Do you get enough convergence between AoA updates?
Does the case converge well for a fixed AoA? In how many iterations?
-
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1298 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AH7BOF2VDMOW4OQB6FBO5SLTQ7J2BANCNFSM46BL4CJQ>.
|
Beta Was this translation helpful? Give feedback.
-
Just attached via github. Many thanks!
From: Pedro Gomes ***@***.***>
Sent: Sunday, June 6, 2021 3:36 PM
To: su2code/SU2 ***@***.***>
Cc: Wei Liao ***@***.***>; Author ***@***.***>
Subject: Re: [su2code/SU2] Issues on the fixe-Cl capability of SU2 (#1298)
CAUTION - EXTERNAL EMAIL: Do not click any links or open any attachments unless you trust the sender and know the content is safe.
Hi, I think you need to attach the output via github, instead of replying via email (which seems to have lost the attachment).
-
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1298 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AH7BOF2RGTXTAJ3QB64Y35TTRPEZLANCNFSM46BL4CJQ>.
|
Beta Was this translation helpful? Give feedback.
-
Hi, Pedro,
The just tried Onera M6 case and the output seems reasonable for this case without an odd jump of Cl. I have tried different types of convergence criteria for my full aircraft case, like residual instead of Cathy, but did not see any help. Still saw the odd jump of Cl with a minor AoA change. It is indeed strange.
If you would, I should be okay to pass my mesh to you for testing. But it is big with 28M nodes.
Thank you very much for your help.
Wei
From: Pedro Gomes ***@***.***>
Sent: Friday, June 11, 2021 10:43 AM
To: su2code/SU2 ***@***.***>
Cc: Wei Liao ***@***.***>; Author ***@***.***>
Subject: Re: [su2code/SU2] Issues on the fixe-Cl capability of SU2 (#1298)
CAUTION - EXTERNAL EMAIL: Do not click any links or open any attachments unless you trust the sender and know the content is safe.
Hi Wei,
Sorry I've been a little busy (last PhD days).
The only explanation I see for the CL to drop suddenly is for the free stream velocity to increase somehow, because as you see from your example, it takes time for the flow to reach the surface.
I used a NACA0012 and the RANS Onera M6 case in the TestCases folders, can you make your mesh available or is it too large?
I'll share the exact configs I used for testing, but the type of option is exactly the same so I'm not sure they will help...
Can you try a different type of convergence criteria, i.e. residual instead of Cauchy, that is the only difference I can think of between what you have and what I tried.
-
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1298 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AH7BOFZ5ERDYEABDAWTAQJDTSIOHLANCNFSM46BL4CJQ>.
|
Beta Was this translation helpful? Give feedback.
-
The problem was staring me in the face and I did not see it... around line 4343 of CEulerSolver.cpp, I imagine you are compiling from source, please make that edit and let me know, I will open a PR ASAP in any case. By the way, if you are looking to get your results quicker add USE_VECTORIZATION=YES to your config (since you are using Roe) and compile the code for the exact CPU architecture where you are running (instructions for that here https://su2code.github.io/docs_v7/Build-SU2-Linux-MacOS/#compiler-optimizations). |
Beta Was this translation helpful? Give feedback.
-
Hi,
Thank you! Will do. But I am currently out of town and will do as soon as I back tomorrow.
For USE_VECTORIZATION=YES, does it work effectively for AMD CPUs, which do not support AVX or AVX512?
Thanks again for the help.
Wei
On Jun 11, 2021, at 6:02 PM, Pedro Gomes ***@***.***> wrote:
CAUTION - EXTERNAL EMAIL: Do not click any links or open any attachments unless you trust the sender and know the content is safe.
The problem was staring me in the face and I did not see it...
around line 4343 of CEulerSolver.cpp,
Vel_Infty[1] = sin(Beta)*Vel_Infty_Mag;
should be
Vel_Infty[1] = sin(Beta*PI_NUMBER/180.0)*Vel_Infty_Mag;
I imagine you are compiling from source, please make that edit and let me know, I will open a PR ASAP in any case.
By the way, if you are looking to get your results quicker add USE_VECTORIZATION=YES to your config (since you are using Roe) and compile the code for the exact CPU architecture where you are running (instructions for that here https://su2code.github.io/docs_v7/Build-SU2-Linux-MacOS/#compiler-optimizations).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1298 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AH7BOF2KSU3GAYMIYRYGKPDTSKBWJANCNFSM46BL4CJQ>.
|
Beta Was this translation helpful? Give feedback.
-
I see. Many thanks!
On Jun 12, 2021, at 1:29 PM, Pedro Gomes ***@***.***> wrote:
CAUTION - EXTERNAL EMAIL: Do not click any links or open any attachments unless you trust the sender and know the content is safe.
They have had AVX2 for a long time... target the specific architecture and let the compiler decide what instruction sets to use.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1298 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AH7BOFY56CGN4IGKBQREUZLTSOKQZANCNFSM46BL4CJQ>.
|
Beta Was this translation helpful? Give feedback.
-
Hi, Pedro,
The fixed-Cl works correctly. Thank you very much!
By the way, Could you let me know how can I stop a computation in the middle? I tried to use ITER=xxxx at runtime.dat and it did not work any more.
Many thanks for your help!
Wei
From: Pedro Gomes ***@***.***>
Sent: Saturday, June 12, 2021 1:30 PM
To: su2code/SU2 ***@***.***>
Cc: Wei Liao ***@***.***>; Author ***@***.***>
Subject: Re: [su2code/SU2] Issues on the fixe-Cl capability of SU2 (#1298)
CAUTION - EXTERNAL EMAIL: Do not click any links or open any attachments unless you trust the sender and know the content is safe.
They have had AVX2 for a long time... target the specific architecture and let the compiler decide what instruction sets to use.
-
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1298 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AH7BOFY56CGN4IGKBQREUZLTSOKQZANCNFSM46BL4CJQ>.
|
Beta Was this translation helpful? Give feedback.
-
Describe the bug
A clear and concise description of what the bug is and what you expect the behavior to be instead. If applicable, add screenshots to help explain your problem.
Hi,
I am currently using SU2 to do some test cases for AIAA 1st Stability and Control Workshop. These cases need to run with a fixed-Cl as the DPW6 cases did. When I tried to use the knobs “FIXED_CL_MODE= YES” and “TARGET_CL= 0.50” in the .cfg input file to run these cases, the Cl change always got some odd significant jumps even though the AoA change was quite small and then the computations diverged after a while.
I am not sure if I used a correct way for the fixed-Cl computations (no optimization and design needed). I know some reported research did use SU2 for DPW6 cases with fixed-Cls.
Thank you very much!
Wei
To Reproduce
Please provide a config file and mesh for a minimal example that recreates the problem.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% SU2 configuration file %
% Case description: CRM model for S&C workshop %
% Author: %
% Institution: %
% Date: %
% File Version 7.1.1 "Blackbird" %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------%
%
% Physical governing equations (EULER, NAVIER_STOKES,RANS,
% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY,
% POISSON_EQUATION)
SOLVER= RANS
%
% Specify turbulence model (NONE, SA, SA_NEG, SST)
KIND_TURB_MODEL= SST
%
% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT)
MATH_PROBLEM= DIRECT
%
% Restart solution (NO, YES)
RESTART_SOL= YES
%
% System of measurements (SI, US)
% International system of units (SI): ( meters, kilograms, Kelvins,
% Newtons = kg m/s^2, Pascals = N/m^2,
% Density = kg/m^3, Speed = m/s,
% Equiv. Area = m^2 )
% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2,
% psf = lbf/ft^2, Density = slug/ft^3,
% Speed = ft/s, Equiv. Area = ft^2 )
SYSTEM_MEASUREMENTS= US
% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------%
%
% Mach number (non-dimensional, based on the free-stream values)
MACH_NUMBER= 0.7
%
% Angle of attack (degrees, only for compressible flows)
AOA= 3.6
%
% Side-slip angle (degrees, only for compressible flows)
SIDESLIP_ANGLE= 1.0
%
% Free-stream temperature (518.67 R by default)
FREESTREAM_TEMPERATURE= 559.67
%
% Reynolds number (non-dimensional, based on the free-stream values)
REYNOLDS_NUMBER= 260025.6363
%REYNOLDS_NUMBER= 4260000
%
% Reynolds length (1 in by default)
REYNOLDS_LENGTH= 1.0
% Compressible flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE,
% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE)
REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_MACH
% ----------------------------- CL DRIVER DEFINITION ---------------------------%
%
% Activate fixed lift mode (specify a CL instead of AoA, NO/YES)
FIXED_CL_MODE= YES
%
% Target coefficient of lift for fixed lift mode (0.80 by default)
TARGET_CL= 0.5
%
% Estimation of dCL/dAlpha (0.2 per degree by default)
DCL_DALPHA= 0.3
%
% Maximum number of iterations between AoA updates
UPDATE_AOA_ITER_LIMIT= 200
%
% Number of iterations to evaluate dCL_dAlpha by using finite differences (500 by default)
ITER_DCL_DALPHA= 500
%
% ---------------------- REFERENCE VALUE DEFINITION ---------------------------%
%
% Reference origin for moment computation (in)
REF_ORIGIN_MOMENT_X = 78.759
REF_ORIGIN_MOMENT_Y = 0.0
REF_ORIGIN_MOMENT_Z = 10.570
%
% Reference length for pitching, rolling, and yawing non-dimensional
% moment (in)
REF_LENGTH= 16.383
%
% Reference area for force coefficients (0 implies automatic
% calculation) (in^2)
REF_AREA= 2098.39
%
% Aircraft semi-span (0 implies automatic calculation) (m or in)
SEMI_SPAN= 68.71
%
% -------------------- BOUNDARY CONDITION DEFINITION --------------------------%
%
% Navier-Stokes wall boundary marker(s) (NONE = no marker)
MARKER_HEATFLUX= ( Sting, 0.0, Fuselage, 0.0, WingUpper, 0.0, WingLower, 0.0, VT, 0.0, HTUpper, 0.0, HTLower, 0.0, HTTE, 0.0, VTWingTip, 0.0, VTTE, 0.0, WingTE, 0.0, WBFairing, 0.0, PWUpper, 0.0, PWLower, 0.0, PWTE, 0.0 )%
% Far-field boundary marker(s) (NONE = no marker)
MARKER_FAR= ( Farfield )
%
% Symmetry boundary marker(s) (NONE = no marker)
% MARKER_SYM= ( Symmetry )
%
% ------------------------ SURFACES IDENTIFICATION ----------------------------%
%
% Marker(s) of the surface to be plotted or designed
MARKER_PLOTTING= ( Fuselage, WingUpper, WingLower, VT, HTUpper, HTLower, HTTE, VTWingTip, VTTE, WingTE, WBFairing, PWUpper, PWLower, PWTE )
%
% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated
MARKER_MONITORING= ( Fuselage, WingUpper, WingLower, VT, HTUpper, HTLower, HTTE, VTWingTip, VTTE, WingTE, WBFairing, PWUpper, PWLower, PWTE )
%
% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------%
%
% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES)
NUM_METHOD_GRAD= GREEN_GAUSS
%
% Courant-Friedrichs-Lewy condition of the finest grid
CFL_NUMBER= 20.0
%
% Adaptive CFL number (NO, YES)
CFL_ADAPT= NO
%
% Parameters of the adaptive CFL number (factor down, factor up, CFL min value,
% CFL max value )
CFL_ADAPT_PARAM= ( 0.1, 2.0, 10.0, 1e10, 0.001 )
%
%
% ------------------------ LINEAR SOLVER DEFINITION ---------------------------%
%
% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI,
% SMOOTHER_ILU, SMOOTHER_LUSGS,
% SMOOTHER_LINELET)
LINEAR_SOLVER= FGMRES
%
% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI)
LINEAR_SOLVER_PREC= ILU
%
% Minimum error of the linear solver for implicit formulations
LINEAR_SOLVER_ERROR= 1E-6
%
% Max number of iterations of the linear solver for the implicit formulation
LINEAR_SOLVER_ITER= 5
% Restart frequency for RESTARTED_FGMRES
LINEAR_SOLVER_RESTART_FREQUENCY= 10
%
% Relaxation factor for smoother-type solvers (LINEAR_SOLVER= SMOOTHER)
LINEAR_SOLVER_SMOOTHER_RELAXATION= 0.9
%
% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------%
%
% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC,
% TURKEL_PREC, MSW)
CONV_NUM_METHOD_FLOW= ROE
%
% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations.
% Required for 2nd order upwind schemes (NO, YES)
MUSCL_FLOW= YES
%
% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG,
% BARTH_JESPERSEN, VAN_ALBADA_EDGE)
%SLOPE_LIMITER_FLOW= VENKATAKRISHNAN_WANG
%
% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease
% the extent of limiting, values approaching zero cause
% lower-order approximation to the solution (0.05 by default)
VENKAT_LIMITER_COEFF= 0.05
%
% Use numerically computed Jacobians for AUSM+up(2) and SLAU(2)
% Slower per iteration but potentialy more stable and capable of higher CFL
USE_ACCURATE_FLUX_JACOBIANS= NO
%
% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar
% artificial dissipation, default is 0.001)
ENTROPY_FIX_COEFF= 0.01
%
% Higher values than 1 (3 to 4) make the global Jacobian of central schemes (compressible flow
% only) more diagonal dominant (but mathematically incorrect) so that higher CFL can be used.
CENTRAL_JACOBIAN_FIX_FACTOR= 4.0
%
% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT)
TIME_DISCRE_FLOW= EULER_IMPLICIT
%
% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------%
%
% Convective numerical method (SCALAR_UPWIND)
CONV_NUM_METHOD_TURB= SCALAR_UPWIND
%
% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations.
% Required for 2nd order upwind schemes (NO, YES)
MUSCL_TURB= NO
%
% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG,
% BARTH_JESPERSEN, VAN_ALBADA_EDGE)
SLOPE_LIMITER_TURB= VENKATAKRISHNAN_WANG
%
% Time discretization (EULER_IMPLICIT)
TIME_DISCRE_TURB= EULER_IMPLICIT
%
% Reduction factor of the CFL coefficient in the turbulence problem
CFL_REDUCTION_TURB= 0.6
%
% Relaxation coefficient
%RELAXATION_FACTOR_TURB= 0.9
% --------------------------- CONVERGENCE PARAMETERS --------------------------%
%
% Number of total iterations
ITER= 20000
%
% Convergence criteria (CAUCHY, RESIDUAL)
CONV_FIELD= (DRAG, LIFT)
%
% Start convergence criteria at iteration number
CONV_STARTITER= 100
%
% Number of elements to apply the criteria
CONV_CAUCHY_ELEMS= 1000
%
% Epsilon to control the series convergence
CONV_CAUCHY_EPS= 1E-8
%
% ------------------------- INPUT/OUTPUT INFORMATION --------------------------%
%
% Mesh input file
MESH_FILENAME= SnC_medium.su2
%
% Mesh input file format (SU2, CGNS)
MESH_FORMAT= SU2
%
% Mesh output file
MESH_OUT_FILENAME= mesh_out.su2
%
% Restart flow input file
SOLUTION_FILENAME= solution_flow.dat
%
% Restart adjoint input file
SOLUTION_ADJ_FILENAME= solution_adj.dat
%
% Output file format (TECPLOT, TECPLOT_BINARY, PARAVIEW,
% FIELDVIEW, FIELDVIEW_BINARY)
OUTPUT_FILES= RESTART, PARAVIEW_ASCII, SURFACE_PARAVIEW_ASCII
%
% Output file convergence history (w/o extension)
CONV_FILENAME= history
%
% Output file with the forces breakdown
BREAKDOWN_FILENAME= forces_breakdown.dat
%
% Output file restart flow
RESTART_FILENAME= restart_flow.dat
%
% Output file restart adjoint
RESTART_ADJ_FILENAME= restart_adj.dat
%
% Output file flow (w/o extension) variables
VOLUME_FILENAME= flow
%
% Output file adjoint (w/o extension) variables
VOLUME_ADJ_FILENAME= adjoint
%
% Output Objective function
VALUE_OBJFUNC_FILENAME= of_eval.dat
%
% Output objective function gradient (using continuous adjoint)
GRAD_OBJFUNC_FILENAME= of_grad.dat
%
% Output file surface flow coefficient (w/o extension)
SURFACE_FILENAME= surface_flow
%
% Output file surface adjoint coefficient (w/o extension)
SURFACE_ADJ_FILENAME= surface_adjoint
%
% Writing frequency for volume/surface output
OUTPUT_WRT_FREQ= 5000
% Writing frequency for history output
HISTORY_WRT_FREQ_INNER= 1
% Writing convergence history frequency
SCREEN_WRT_FREQ_INNER= 1
% Screen output fields
SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, MOMENT_Y)
% History output groups (use 'SU2_CFD -d <config_file>' to view list of available fields)
HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF, WALL_TIME)
%
% Volume output fields/groups (use 'SU2_CFD -d <config_file>' to view list of available fields)
VOLUME_OUTPUT= (COORDINATES, SOLUTION, PRIMITIVE, VORTEX_IDENTIFICATION)
Desktop (please complete the following information):
Cluster information:
OS: Linux (CentOS 7.9)
GCC 7.3.1
Open MPI 3.1.2
SU2 V7.1.1
Beta Was this translation helpful? Give feedback.
All reactions