|
[Sponsors] |
November 18, 2021, 08:02 |
axial compressor mass flow convergence issue
|
#1 |
New Member
Jyoti Ranjan
Join Date: Oct 2020
Posts: 14
Rep Power: 6 |
Hi,
I am simulating an axial compressor in v7.2.0. I am able to get acceptable level of residuals (image included). But, the mass flow rates at the inlet and outlet are not stabilizing. I have included the mass flow convergence history (image 'massflow.png'), where it appears to be correct. But on zooming in, as seen in image 'massflow_zoomed_in.png', the mass flow rates (both at inlet and outlet) are seen to be falling gradually, although the instantaneous imbalance is not very high. I have tried 1) various levels of grid refinement, 2) CFL as low as 1 (improves turbulence residuals) and 3) running it further longer - without any luck. Is there any configuration setting gone wrong or anything else to resolve this issue would be of great help. I am pasting the configuration file below and attaching a truncated console output 'su2.txt'. Thank you, Jyoti Configuration file- Code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % SU2 configuration file % % Case description: tr fan % % Author: JRM % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % % Physical governing equations (EULER, NAVIER_STOKES, % 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) MATH_PROBLEM= DIRECT % % Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % % Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= .5 % % Angle of attack (degrees, only for compressible flows) AOA= 0.0 % % Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 % % Init option to choose between Reynolds (default) or thermodynamics quantities % for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % Free-stream option to choose between density and temperature (default) for % initializing the solution (TEMPERATURE_FS, DENSITY_FS) FREESTREAM_OPTION= TEMPERATURE_FS % % Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % FREESTREAM_PRESSURE= 101325 % % Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.05 % % Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 % % Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 2.5E6 % % Reynolds length (1 m by default) REYNOLDS_LENGTH= 0.09 % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % % Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= IDEAL_GAS % % Ratio of specific heats (1.4 default and the value is hardcoded % for the model STANDARD_AIR) GAMMA_VALUE= 1.4 % % Specific gas constant (287.058 J/kg*K default and this value is hardcoded % for the model STANDARD_AIR) GAS_CONSTANT= 287.058 % --------------------------- VISCOSITY MODEL ---------------------------------% % % Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= SUTHERLAND % % Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 % % Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 % % Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % % Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL % % Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 % % Turbulent Prandtl number (0.9 (air), only for CONSTANT_PRANDTL) PRANDTL_TURB= 0.90 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % % Type of dynamic mesh (NONE, RIGID_MOTION, ROTATING_FRAME, % STEADY_TRANSLATION, % ELASTICITY, GUST) GRID_MOVEMENT= ROTATING_FRAME % % Motion mach number (non-dimensional). Used for initializing a viscous flow % with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.5 %MACH_MOTION= 0.35 % % Coordinates of the motion origin MOTION_ORIGIN= 0.00 0.0 0.0 % % Angular velocity vector (rad/s) about the motion origin ROTATION_RATE = 0.0 0.0 -1680.019 % % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % % Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 % % Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 % % Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % % Compressible flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, % FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_TURBOMACHINERY= (INFLOW , OUTFLOW) TURBOMACHINERY_KIND= AXIAL % Specify ramp option for rotating frame (YES, NO) default NO RAMP_ROTATING_FRAME= NO % % Parameters of the rotating frame ramp (starting rotational speed, % updating-iteration-frequency, total number of iteration for the ramp) RAMP_ROTATING_FRAME_COEFF= (0.0, 100, 500) % % Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( BLADE, 0.0, HUB, 0.0, SHROUD, 0.0 ) MARKER_SHROUD=(SHROUD) % MARKER_PERIODIC= ( PER1, PER2, 0.0, 0.0, 0.0, 0.0, 0.0, 16.363636363636, 0.0, 0.0, 0.0 ) % % Internal boundary marker(s) e.g. no boundary condition (NONE = no marker) MARKER_INTERNAL= ( PS, SS ) % % Marker(s) of the surface to be plotted or designed %MARKER_PLOTTING= ( BLADE,INFLOW,OUTFLOW ) % % Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated %MARKER_MONITORING= ( BLADE ) % INLET_TYPE= TOTAL_CONDITIONS % Inlet boundary marker(s) (NONE = no marker) % Format: ( inlet marker, total temperature, total pressure, flow_direction_x, % flow_direction_y, flow_direction_z, ... ) where flow_direction is % a unit vector. SPECIFIED_INLET_PROFILE = NO INLET_FILENAME = inlet.dat MARKER_INLET= ( INFLOW, 288.15, 101325, 0.0,0,1.0 ) % % Outlet boundary marker(s) (NONE = no marker) % Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( OUTFLOW, 110000 ) %MARKER_GILES= (OUTFLOW, RADIAL_EQUILIBRIUM, 110000, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0) % This option insert an extra under relaxation factor for the Giles BC at the hub % and shroud (under relax factor applied, span percentage to under relax) %GILES_EXTRA_RELAXFACTOR= ( 0.05, 0.05) % YES Non reflectivity activated, NO the Giles BC behaves as a normal 1D characteristic-based BC %SPATIAL_FOURIER= YES % % Specify Kind of average process for linearizing the Navier-Stokes % equation at inflow and outflow BCs included at the mixing-plane interface % (ALGEBRAIC, AREA, MASSFLUX, MIXEDOUT) default AREA AVERAGE_PROCESS_KIND= MIXEDOUT PERFORMANCE_AVERAGE_PROCESS_KIND= MIXEDOUT % Parameters of the Newton method for the MIXEDOUT average algorithm % (under relaxation factor, tollerance, max number of iterations) MIXEDOUT_COEFF= (1.0, 1.0E-05, 15) % % Limit of Mach number below which the mixedout algorithm is substituted % with a AREA average algorithm to avoid numerical issues AVERAGE_MACH_LIMIT= 0.05 % ------------------------ SURFACES IDENTIFICATION ----------------------------% % % Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING= ( INFLOW, OUTFLOW) % Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( INFLOW, OUTFLOW ) % % Marker(s) of the surface that is going to be analyzed in detail (massflow, average pressure, distortion, etc) MARKER_ANALYZE = ( INFLOW, OUTFLOW ) % % Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = MASSFLUX % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % % Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % Numerical method for spatial gradients to be used for MUSCL reconstruction % Options are (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES, LEAST_SQUARES). Default value is % NONE and the method specified in NUM_METHOD_GRAD is used. NUM_METHOD_GRAD_RECON =WEIGHTED_LEAST_SQUARES % % Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 20 % % 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= ( .2,2.0, 1, 10 ) % % Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % % Number of total iterations ITER= 200000 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % % Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES % % Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) LINEAR_SOLVER_PREC= LU_SGS % % Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 % % Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 100 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % % Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 0 % % Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE % % Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) % % Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) % % Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) % % Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.7 % % Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.7 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % % Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, % TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE % % Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES % % Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, % BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VAN_ALBADA_EDGE % % 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.3 ENTROPY_FIX_COEFF= 0.03 % % 2nd and 4th order artificial dissipation coefficients for % the JST method ( 0.5, 0.02 by default ) JST_SENSOR_COEFF= ( 0.5, 0.02 ) % % 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 (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VAN_ALBADA_EDGE % % Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % % Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence criteria (CAUCHY, RESIDUAL) CONV_CRITERIA = RESIDUAL CONV_FIELD= RMS_DENSITY %RHO_ENERGY % % Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 % % Start convergence criteria at iteration number CONV_STARTITER= 10 % % Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 % % Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 % % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % % Mesh input file MESH_FILENAME= ../../r67_1.6M_5em7m_new.cgns % % Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= CGNS % % Mesh output file MESH_OUT_FILENAME= mesh_out.su2 % % Restart flow input file SOLUTION_FILENAME=restart_flow.dat % % Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat % % Output file format (PARAVIEW, TECPLOT, STL) TABULAR_FORMAT= CSV % % Output file convergence history (w/o extension) CONV_FILENAME= history % % 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 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 solution file frequency %WRT_SOL_FREQ= 200 % OUTPUT_WRT_FREQ= 100 % % Writing convergence history frequency %WRT_CON_FREQ= 1 % Output the solution at each surface in the history file %WRT_SURFACE= YES % % Screen output SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_NU_TILDE, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, SURFACE_MASSFLOW, SURFACE_TOTAL_PRESSURE, SURFACE_TOTAL_TEMPERATURE) % VOLUME_OUTPUT= (MOMENTUM-X, MOMENTUM-Y, MOMENTUM-Z, DENSITY, MACH, PRESSURE, TEMPERATURE, Y_PLUS, EDDY_VISCOSITY, PRIMITIVE) % % History output groups (use 'SU2_CFD -d <config_file>' to view list of available fields) HISTORY_OUTPUT= (ITER, RMS_RES, SURFACE_MASSFLOW, SURFACE_TOTAL_PRESSURE, SURFACE_TOTAL_TEMPERATURE) % Files to output % Possible formats : (TECPLOT, TECPLOT_BINARY, SURFACE_TECPLOT, % SURFACE_TECPLOT_BINARY, CSV, SURFACE_CSV, PARAVIEW, PARAVIEW_BINARY, SURFACE_PARAVIEW, % SURFACE_PARAVIEW_BINARY, MESH, RESTART_BINARY, RESTART_ASCII, CGNS, STL) % default : (RESTART, PARAVIEW, SURFACE_PARAVIEW) OUTPUT_FILES= (RESTART, PARAVIEW_MULTIBLOCK, SURFACE_PARAVIEW) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
November 18, 2021, 17:53 |
|
#2 |
Member
na
Join Date: Jul 2018
Posts: 90
Rep Power: 8 |
By no means am i knowledgeable when it comes to Turbomachinery (or compressible flow to begin with) but in a first shot i would simply say your overall convergence is too low for the massflow to converge.
A few thoughts: 1. Maybe try a less demanding case (lower Mach and Reynoldsnumber) and see whether that converges better to machine zero (like 1e-10 and beyond, that always depends a bit) 2. As you have a steady state case go as high of a CFL you can work with (i.e. the one that gives you the fastet rediual drops) 3. dont 100 Linear solver iterations! Take a look if you reach 1e-4 in a reasonable amount... if not maybe it caps at 2e-4 after e.g. 5 iterations and then you do 95 iteration for the bin... then restrict your iterations to the amount you need to get to that cap 4. Add RESIDUAL to VOLUME_OUTPUT and take a look at where high res are... maybe its just one corner that kills your convergence. I already had (incompressible) cases where rounding a sharpe edge made all the difference Maybe some of that helps, Tobi |
|
November 18, 2021, 18:01 |
|
#3 |
Senior Member
Pedro Gomes
Join Date: Dec 2017
Posts: 466
Rep Power: 14 |
Your residuals are only dropping 3 orders which is not good enough IMO.
I would try something like this for the linear solver. LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 0.05 LINEAR_SOLVER_ITER= 10 And you can also try GREEN_GAUSS instead of WEIGHTED_LEAST_SQUARES And VENKATAKRISHNAN_WANG instead of VAN_ALBADA, with the limiter parameter 0.05-0.1 |
|
November 22, 2021, 10:11 |
|
#4 |
New Member
Jyoti Ranjan
Join Date: Oct 2020
Posts: 14
Rep Power: 6 |
Thank you Tobi and Pedro for your suggestions.
I have tried to work on your advices. 1. Didn't find a less demanding case (it would be great if someone can point to an axial compressor test case), but tried this same case with a coarse mesh (.34M cells, my earlier mesh was 1.6M cells). I could reach very low level of residuals (~ 1e-11 for density) for first order solution; but second order solution does not get through. Upon refining the boundary layer mesh for the coarse mesh to a level when second order solution gets through, I get the similar level of residuals that I got with the original mesh(1.6M cells). 2. Found 10 linear solver iterations to be enough. Saves quite some compute time. 3. Highest residual is not localized to a specific region for my case, keeps changing. 4. Tried the values LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 0.05 LINEAR_SOLVER_ITER= 10 and GREEN_GAUSS and VENKATKRISHNAN_WANG limiter. While, the linear solver settings (LINEAR_SOLVER_ERROR= 0.05 LINEAR_SOLVER_ITER= 10) saved compute time, I could not get any improvements as far as the final result is concerned. Usually, 3-4 orders fall in residuals is not bad for a real turbomachine as long as the performance parameters (pressure ratio and efficiency) converge at a stable mean flow with an acceptable level of imbalance. I tried running the case a bit (quite a bit!) longer and I see the mass flow rates at inlet and outlet seem to have stabilized but the imbalance at 0.118846% may be a bit higher (image included). I also tried to plot the histories of the inlet/ and outlet applied boundary conditions 'obtained from the solution' (console output displayed when intermediate output files are written; I have written it every 100 iterations)- inlet total pressure and outlet static pressure (images included). The solution PT (total pressure) at Inlet has settled to a constant value of 101229 Pa quite soon against the applied BC of PT=101325 Pa, which seems ok. The solution PS (static pressure) at outlet takes very long to settle - in this case it is settling to 110536 Pa against 110000 Pa applied BC; it has taken about 110000 iterations. I was wondering, if there is a need of a tighter relaxation for the outlet BC or a static pressure profile BC possible! (Note: I am getting similar results with RADIAL_EQUILIBRIUM.) Thank you, Jyoti |
|
November 24, 2021, 07:03 |
|
#5 |
Senior Member
Pedro Gomes
Join Date: Dec 2017
Posts: 466
Rep Power: 14 |
Ah ok it looked like the difference was higher initially.
It could be because of differences in how those quantities are computed for post-processing and how they are computed while solving the equations, especially if there is still streamwise variation close to the outlet. |
|
July 5, 2024, 10:06 |
|
#6 |
New Member
Tongtong
Join Date: Jan 2024
Posts: 24
Rep Power: 2 |
Dear Jyotir,
I am currently attempting to use SU2 for axial compressor calculations and was pleased to see your post. At present, I am encountering some issues: the grid generated with Autogrid does not converge well. Could you please let me know if you still have the mesh for this case? Or perhaps other turbomachinery cases? I would be deeply grateful if you could share any related cases. Sincerely, Tongtong |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Wind tunnel flow simulation boundary condition issue | charan3007 | SU2 | 0 | October 21, 2021 09:27 |
Solver parameters to solve convergence issue | WilliamH | SU2 | 5 | February 5, 2021 07:19 |
Negative Aorta Flow Convergence Issue | BlueCat | Main CFD Forum | 2 | June 17, 2016 14:33 |
Laminar Pipe Flow convergence issues | preichl | OpenFOAM Running, Solving & CFD | 11 | September 22, 2014 22:22 |
Continuity convergence issue for a multiphase flow in a counterflow heat exchanger | Andrea1984 | Fluent Multiphase | 2 | July 24, 2013 05:55 |