-
Configuration File
Mesh File
Restart File
Solver Setup
Physical Definition
Markers and Boundary Conditions
Convective Schemes
Slope Limiters and Shock Resolution
History and Solution Output
Linear Solvers and Preconditioners
Basics of Multi-Zone Computations
Execution
Aeroacoustic analysis of unsteady pressure
Flamelet Solver — Python Wrapper Wall Boundary Conditions
Output Fields Reference
Error Messages
-
Setup Guide: Steady RANS for External Aerodynamics
Setup Guide: Incompressible Flows
Setup Guide: Unsteady Flows and DES
Setup Guide: Laminar-Turbulent Transition
Setup Guide: Turbomachinery
Setup Guide: Heat Transfer and Conjugate Heat Transfer
Setup Guide: Species Transport and Combustion
Setup Guide: Shape Optimization with the Discrete Adjoint
Setup Guide: Non-Ideal Compressible Flows
-
Option Reference
Problem Definition
FluidModel
Data-driven fluid model parameters
Freestream Conditions
Reference Conditions
Boundary Markers
Time-marching
Linear solver definition
Convergence
Multi-grid
Spatial Discretization
Adjoint and Gradient
Sobolev Gradient Solver Parameters
Input/output files and formats
Dynamic mesh definition
Aeroelastic Simulation (Typical Section Model)
Wind Gust
Equivalent Area
Grid deformation
Deformable mesh
FEM flow solver definition
FEA solver
Multizone definition
Radiation solver
Heat solver
Visualize Control Volumes
Inverse design problem
Unsupported options
FFD point inversion
Automatic Differentation options
Python Options
Hybrid_RANSLES Options
Output Options
libROM options
Renamed and Removed Options
-
GIT-ting Started
Developing SU2 on GitHub (Internal Developers)
Running Regression Tests
Code Review
Code Structure
Style Guide
Advanced AD Techniques
Containers for Development
Writing Unit Tests
Integrating Tracy Profiler with SU2
Automatic Differentiation (AD)
Code Reference (Doxygen)
Debugging SU2
Documentation Improvements and Status
Glossary
Docs Check
Linear solver definition
Generated from SU2 commit
6b54b78464on 2026-10-23. Do not edit this page. Edit the comment above the option inCommon/src/CConfig.cppinstead.
LINEAR_SOLVER
- Linear solver for the implicit, mesh deformation, or discrete adjoint systems
More in config_template.cfg: Linear solver or smoother for implicit formulations: BCGSTAB, FGMRES, FGCRODR, RESTARTED_FGMRES, CONJUGATE_GRADIENT (self-adjoint problems only), SMOOTHER.
- Type: one of the values below
- Values:
CONJUGATE_GRADIENT,BCGSTAB,FGMRES,RESTARTED_FGMRES,FGCRODR,SMOOTHER,PASTIX_LDLT,PASTIX_LU - Default:
FGMRES - In config_template.cfg:
LINEAR_SOLVER= FGMRES - Mentioned in: Changes in Version 8, Linear Solvers and Preconditioners, Setup Guide: Heat Transfer and Conjugate Heat Transfer, Setup Guide: Incompressible Flows, Setup Guide: Laminar-Turbulent Transition, Setup Guide: Non-Ideal Compressible Flows and 6 more
- Used in 343 test case files, for example:
aeroelastic_NACA64A010.cfg(FGMRES),inv_wedge_ROE.cfg(BCGSTAB),configAD_fem.cfg(CONJUGATE_GRADIENT) - Code:
CConfig.cppline 1982
LINEAR_SOLVER_PREC
- Preconditioner for the Krylov linear solvers
More in config_template.cfg: Preconditioner of the Krylov linear solver or type of smoother (ILU, LU_SGS, Q_LU_SGS, LINELET, JACOBI, Q_JACOBI) Q_LU_SGS and Q_JACOBI trigger the use of quantization to reduce the size of the sparse matrix (for compressible flow the matrix becomes 3x smaller relative to mixed-precision mode). Q_IDENTITY requests the same quantized matrix-vector product without any actual preconditioning (equivalent to NONE otherwise). This is only used by the compressible and incompressible solvers, others fallback silently to LU_SGS/JACOBI/NONE. A suitable nondimensionalization mode MUST be used otherwise the solver is very likely to diverge.
- Type: one of the values below
- Values:
NONE,IDENTITY,JACOBI,LU_SGS,LINELET,ILU,Q_LU_SGS,Q_JACOBI,Q_IDENTITY,PASTIX_ILU,PASTIX_LU,PASTIX_LDLT - Default:
ILU - In config_template.cfg:
LINEAR_SOLVER_PREC= ILU - Mentioned in: Linear Solvers and Preconditioners, Setup Guide: Heat Transfer and Conjugate Heat Transfer, Setup Guide: Incompressible Flows, Setup Guide: Laminar-Turbulent Transition, Setup Guide: Non-Ideal Compressible Flows, Setup Guide: Shape Optimization with the Discrete Adjoint and 4 more
- Used in 291 test case files, for example:
aeroelastic_NACA64A010.cfg(ILU),inv_NACA0012.cfg(LU_SGS),configAD_fem.cfg(JACOBI) - Code:
CConfig.cppline 1985
LINEAR_SOLVER_ERROR
Minimum error threshold for the linear solver for the implicit formulation
More in config_template.cfg: Minimum error of the linear solver for implicit formulations
- Type: real number
- Default:
1E-6 - In config_template.cfg:
LINEAR_SOLVER_ERROR= 1E-6 - Mentioned in: Linear Solvers and Preconditioners, Setup Guide: Heat Transfer and Conjugate Heat Transfer, Setup Guide: Incompressible Flows, Setup Guide: Laminar-Turbulent Transition, Setup Guide: Non-Ideal Compressible Flows, Setup Guide: Shape Optimization with the Discrete Adjoint and 6 more
- Used in 344 test case files, for example:
aeroelastic_NACA64A010.cfg(1E-4),air_nozzle_restart.cfg(0.01),config.cfg(1.0e-6) - Code:
CConfig.cppline 1987
LINEAR_SOLVER_ITER
Maximum number of iterations of the linear solver for the implicit formulation
More in config_template.cfg: Max number of iterations of the linear solver for the implicit formulation
- Type: integer
- Default:
10 - In config_template.cfg:
LINEAR_SOLVER_ITER= 5 - Mentioned in: Linear Solvers and Preconditioners, Setup Guide: Heat Transfer and Conjugate Heat Transfer, Setup Guide: Incompressible Flows, Setup Guide: Laminar-Turbulent Transition, Setup Guide: Non-Ideal Compressible Flows, Setup Guide: Shape Optimization with the Discrete Adjoint and 7 more
- Used in 347 test case files, for example:
aeroelastic_NACA64A010.cfg(5),air_nozzle_restart.cfg(10),config.cfg(15) - Code:
CConfig.cppline 1989
POISSON_LINEAR_SOLVER
- Linear solver for the poisson system
More in config_template.cfg: Linear solver for poisson equation (same options as LINEAR_SOLVER)
- Type: one of the values below
- Values:
CONJUGATE_GRADIENT,BCGSTAB,FGMRES,RESTARTED_FGMRES,FGCRODR,SMOOTHER,PASTIX_LDLT,PASTIX_LU - Default:
FGMRES - In config_template.cfg:
POISSON_LINEAR_SOLVER= FGMRES - Used in 11 test case files, for example:
incomp_pb_NACA0012.cfg(FGMRES) - Code:
CConfig.cppline 1992
POISSON_LINEAR_SOLVER_PREC
- Preconditioner for the Krylov linear solvers
More in config_template.cfg: Preconditioner of the poisson linear solver (same options as LINEAR_SOLVER_PREC)
- Type: one of the values below
- Values:
NONE,IDENTITY,JACOBI,LU_SGS,LINELET,ILU,Q_LU_SGS,Q_JACOBI,Q_IDENTITY,PASTIX_ILU,PASTIX_LU,PASTIX_LDLT - Default:
ILU - In config_template.cfg:
POISSON_LINEAR_SOLVER_PREC= ILU - Used in 11 test case files, for example:
incomp_pb_NACA0012.cfg(LU_SGS),pb_lam_bend.cfg(ILU) - Code:
CConfig.cppline 1995
POISSON_LINEAR_SOLVER_ERROR
Minimum error threshold for the poisson linear solver
More in config_template.cfg: Minimum error of the linear solver for poisson eq.
- Type: real number
- Default:
1E-6 - In config_template.cfg:
POISSON_LINEAR_SOLVER_ERROR= 1E-6 - Used in 11 test case files, for example:
incomp_pb_NACA0012.cfg(1E-6) - Code:
CConfig.cppline 1997
POISSON_LINEAR_SOLVER_ITER
Maximum number of iterations of the poisson linear solver
More in config_template.cfg: Max. Number of iterations for the poisson linear solver
- Type: integer
- Default:
10 - In config_template.cfg:
POISSON_LINEAR_SOLVER_ITER= 10 - Used in 11 test case files, for example:
incomp_pb_NACA0012.cfg(1000),pb_poly_cylinder.cfg(200) - Code:
CConfig.cppline 1999
LINEAR_SOLVER_ILU_FILL_IN
Fill in level for the ILU preconditioner
More in config_template.cfg: Linear solver ILU preconditioner fill-in level (0 by default)
- Type: integer
- Default:
0 - In config_template.cfg:
LINEAR_SOLVER_ILU_FILL_IN= 0 - Mentioned in: Linear Solvers and Preconditioners, Setup Guide: Non-Ideal Compressible Flows
- Used in 59 test case files, for example:
air_nozzle_restart.cfg(0),nonlinear_plane_stress_2d.cfg(1) - Code:
CConfig.cppline 2001
LINEAR_SOLVER_ILU_LEVEL_SCHEDULING
Use level scheduling for OMP parallelization of the ILU preconditioner
More in config_template.cfg: Use level-scheduling instead of block decomposition for the ILU preconditioner. This is useful for stiff problems as it keeps the effectiveness of the preconditioner independent of the number of threads, at the expense of some parallelism (the amount of work that can be shared by the threads is reduced). This defaults to YES for elasticity problems.
- Type: YES / NO
- Default:
NO - In config_template.cfg:
LINEAR_SOLVER_ILU_LEVEL_SCHEDULING= NO - Mentioned in: Changes in Version 8
- Code:
CConfig.cppline 2003
LINEAR_SOLVER_ILU_GPU_SWEEPS
Number of colored Gauss-Seidel sweeps used to build the GPU ILU factorization
More in config_template.cfg: Number of colored Gauss-Seidel sweeps used to build the GPU ILU factorization (default 2). It is not reset between calls, so with the matrix changing little between outer/pseudo-time iterations, each call refines the previous one’s result instead of reconverging from scratch; for cases that do few outer iterations (e.g. elasticity problems) it may be useful to increase it up to 5.
- Type: integer
- Default:
2 - In config_template.cfg:
LINEAR_SOLVER_ILU_GPU_SWEEPS= 2 - Code:
CConfig.cppline 2005
LINEAR_SOLVER_RESTART_FREQUENCY
Maximum number of iterations of the linear solver for the implicit formulation
More in config_template.cfg: Restart frequency for RESTARTED_FGMRES and FGCRODR
- Type: integer
- Default:
10 - In config_template.cfg:
LINEAR_SOLVER_RESTART_FREQUENCY= 10 - Mentioned in: Linear Solvers and Preconditioners
- Used in 6 test case files, for example:
configFEA.cfg(100),configBeamNonlinear_3d.cfg(50),config.cfg(30) - Code:
CConfig.cppline 2007
LINEAR_SOLVER_RESTART_DEFLATION
Number of vectors used for deflated restarts
More in config_template.cfg: Number of vectors used by FGCRODR for deflation
- Type: integer
- Default:
4 - In config_template.cfg:
LINEAR_SOLVER_RESTART_DEFLATION= 4 - Mentioned in: Changes in Version 8
- Used in 8 test case files, for example:
configFlow.cfg(8),configFEA.cfg(20),configFlow.cfg(5) - Code:
CConfig.cppline 2009
LINEAR_SOLVER_SMOOTHER_RELAXATION
Relaxation factor for iterative linear smoothers (SMOOTHER_ILU/JACOBI/LU-SGS/LINELET)
More in config_template.cfg: Relaxation factor for smoother-type solvers (LINEAR_SOLVER= SMOOTHER)
- Type: real number
- Default:
1.0 - In config_template.cfg:
LINEAR_SOLVER_SMOOTHER_RELAXATION= 1.0 - Mentioned in: Linear Solvers and Preconditioners
- Used in 3 test case files, for example:
configFlow.cfg(0.7),config_ad.cfg(0.6) - Code:
CConfig.cppline 2011
LINEAR_SOLVER_PREC_THREADS
Custom number of threads used for additive domain decomposition for ILU and LU_SGS (0 is “auto”).
More in config_template.cfg: Independent “threads per MPI rank” setting for LU-SGS and ILU preconditioners. For problems where time is spend mostly in the solution of linear systems (e.g. elasticity, very high CFL central schemes), AND, if the memory bandwidth of the machine is saturated (4 or more cores per memory channel) better performance (via a reduction in linear iterations) may be possible by using a smaller value than that defined by the system or in the call to SU2_CFD (via the -t/–threads option). The default (0) means “same number of threads as for all else”.
- Type: integer
- Default:
0 - In config_template.cfg:
LINEAR_SOLVER_PREC_THREADS= 0 - Code:
CConfig.cppline 2013
LINEAR_SOLVER_INNER
Use an inner linear solver.
More in config_template.cfg: Inner solver used for nested preconditioning (BCGSTAB is only possible with flexible linear solvers). Options: NONE, BCGSTAB, SMOOTHER Inner BCGSTAB does up to the number of iterations of the outer solver or sqrt(LINEAR_SOLVER_ERROR). Inner SMOOTHER does max(2, sqrt(LINEAR_SOLVER_ITER))
- Type: one of the values below
- Values:
NONE,BCGSTAB,SMOOTHER - Default:
NONE - In config_template.cfg:
LINEAR_SOLVER_INNER= NONE - Mentioned in: Changes in Version 8
- Used in 1 test case file, for example:
naca0012.cfg(BCGSTAB) - Code:
CConfig.cppline 2015
RELAXATION_FACTOR_PRESSURE
Relaxation of the pressure corrections for the SIMPLE algorithm
More in config_template.cfg: The relaxation factor for the pressure correction (default = 1.0)
- Type: real number
- Default:
1.0 - In config_template.cfg:
RELAXATION_FACTOR_PRESSURE= 1.0 - Used in 10 test case files, for example:
incomp_pb_NACA0012.cfg(1.0) - Code:
CConfig.cppline 2017
TRANSIENT_TERM_REMOVAL_FACTOR
Removal factor for the transient term in the momentum coefficients for the poisson solver.
More in config_template.cfg: Heuristic parameter influencing the effect of the pseudo time derivative in the momentum coefficients for the pressure correction equation (float [0,1], default=0.0)
- Type: real number
- Default:
0.0 - In config_template.cfg:
TRANSIENT_TERM_REMOVAL_FACTOR= 0.0 - Used in 11 test case files, for example:
incomp_pb_NACA0012.cfg(0.0) - Code:
CConfig.cppline 2019
USE_AUTOMATIC_RELAXATION_FACTORS
\DESCRIPTION: Automatically compute relaxation factors for flow corrections in the SIMPLE algorithm
More in config_template.cfg: Decide if automatic relaxation factors for pressure and momentum should be used or not. If set to NO, the value from RELAXATION_FACTOR_PRESSURE is used. default NO
- Type: YES / NO
- Default:
NO - In config_template.cfg:
USE_AUTOMATIC_RELAXATION_FACTORS= NO - Used in 1 test case file, for example:
pb_sphere_urf.cfg(YES) - Code:
CConfig.cppline 2021
PISO_CORRECTIONS
Number of corrections in the PISO algorithm (pressure based).
More in config_template.cfg: Number of pressure corrections in the SIMPLE algorithm. >1 leads to the PISO algorithm. (default = 1 = SIMPLE)
- Type: integer
- Default:
1 - In config_template.cfg:
PISO_CORRECTIONS= 1 - Used in 11 test case files, for example:
incomp_pb_NACA0012.cfg(2),incomp_pb_NACA0012_simplec.cfg(1),incomp_pb_cylinder.cfg(4) - Code:
CConfig.cppline 2023
RELAXATION_FACTOR_ADJOINT
Relaxation factor for updates of adjoint variables.
More in config_template.cfg: Relaxation coefficient (also for discrete adjoint problems)
- Type: real number
- Default:
1.0 - In config_template.cfg:
RELAXATION_FACTOR_ADJOINT= 1.0 - Used in 11 test case files, for example:
inv_wedge_ROE.cfg(1.0),inv_cylinder3D.cfg(0.95),transonic_stator.cfg(0.1) - Code:
CConfig.cppline 2025
RELAXATION_FACTOR_CHT
Relaxation of the CHT coupling
- Type: real number
- Default:
1.0 - In config_template.cfg:
RELAXATION_FACTOR_CHT= 1.0 - Mentioned in: Setup Guide: Heat Transfer and Conjugate Heat Transfer
- Code:
CConfig.cppline 2027
MSW_ALPHA
MSW alpha coefficient
More in config_template.cfg: MSW coefficient for blending states based on pressure jump. Using 0 makes the scheme average left and right regardless of pressure.
- Type: real number
- Default:
5.0 - In config_template.cfg:
MSW_ALPHA= 5.0 - Mentioned in: Changes in Version 8
- Code:
CConfig.cppline 2029
ROE_KAPPA
Roe coefficient
More in config_template.cfg: Roe dissipation coefficient
- Type: real number
- Default:
0.5 - In config_template.cfg:
ROE_KAPPA= 0.5 - Mentioned in: Convective Schemes
- Code:
CConfig.cppline 2031
LOW_MACH_PREC
Roe-Turkel preconditioning for low Mach number flows
More in config_template.cfg: Roe-Turkel preconditioning for low Mach number flows (NO, YES)
- Type: YES / NO
- Default:
NO - In config_template.cfg:
LOW_MACH_PREC= NO - Used in 2 test case files, for example:
Arina2KRS.cfg(NO),MFR_coupling.cfg(YES) - Code:
CConfig.cppline 2033
LOW_MACH_CORR
Post-reconstruction correction for low Mach number flows
More in config_template.cfg: Post-reconstruction correction for low Mach number flows (NO, YES)
- Type: YES / NO
- Default:
NO - In config_template.cfg:
LOW_MACH_CORR= NO - Used in 2 test case files, for example:
Arina2KRS.cfg(NO),cylinder_lowmach.cfg(YES) - Code:
CConfig.cppline 2035
MIN_ROE_TURKEL_PREC
Minimum value for beta for the Roe-Turkel preconditioner
- Type: real number
- Default:
0.01 - In config_template.cfg:
MIN_ROE_TURKEL_PREC= 0.01 - Mentioned in: Convective Schemes
- Code:
CConfig.cppline 2037
MAX_ROE_TURKEL_PREC
Maximum value for beta for the Roe-Turkel preconditioner
- Type: real number
- Default:
0.2 - In config_template.cfg:
MAX_ROE_TURKEL_PREC= 0.2 - Mentioned in: Convective Schemes
- Code:
CConfig.cppline 2039
ENTROPY_FIX_COEFF
Entropy fix factor
More in config_template.cfg: Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation)
- Type: real number
- Default:
0.001 - In config_template.cfg:
ENTROPY_FIX_COEFF= 0.0 - Mentioned in: Convective Schemes, Setup Guide: Non-Ideal Compressible Flows, Setup Guide: Steady RANS for External Aerodynamics, Setup Guide: Turbomachinery
- Used in 39 test case files, for example:
aeroelastic_NACA64A010.cfg(0.001),air_nozzle_restart.cfg(0.1),Arina2KRS.cfg(0.0) - Code:
CConfig.cppline 2041
DISCADJ_LIN_SOLVER
Linear solver for the discete adjoint systems
More in config_template.cfg: Same for discrete adjoint (smoothers not supported), replaces LINEAR_SOLVER in SU2_*_AD codes.
- Type: one of the values below
- Values:
CONJUGATE_GRADIENT,BCGSTAB,FGMRES,RESTARTED_FGMRES,FGCRODR,SMOOTHER,PASTIX_LDLT,PASTIX_LU - Default:
FGMRES - In config_template.cfg:
DISCADJ_LIN_SOLVER= FGMRES - Mentioned in: Linear Solvers and Preconditioners
- Used in 14 test case files, for example:
configAD_fem.cfg(CONJUGATE_GRADIENT),configFlow.cfg(FGMRES),configFEA.cfg(FGCRODR) - Code:
CConfig.cppline 2043
DISCADJ_LIN_PREC
Preconditioner for the discrete adjoint Krylov linear solvers
More in config_template.cfg: Same for discrete adjoint (JACOBI or ILU), replaces LINEAR_SOLVER_PREC in SU2_*_AD codes.
- Type: one of the values below
- Values:
NONE,IDENTITY,JACOBI,LU_SGS,LINELET,ILU,Q_LU_SGS,Q_JACOBI,Q_IDENTITY,PASTIX_ILU,PASTIX_LU,PASTIX_LDLT - Default:
ILU - In config_template.cfg:
DISCADJ_LIN_PREC= ILU - Mentioned in: Linear Solvers and Preconditioners
- Used in 14 test case files, for example:
configAD_fem.cfg(JACOBI),configFEA.cfg(ILU),config.cfg(PASTIX_ILU) - Code:
CConfig.cppline 2045
MAX_UPDATE_FLOW
Maximum update ratio value for flow density and energy variables
More in config_template.cfg: Maximum ratio for updating density and energy variables evaluated by the linear solver relative to the non-linear solution at previous iteration. Low values ensure stability but may result in longer convergence times, based on numerical experiments Default= 0.2
- Type: real number
- Default:
0.2 - In config_template.cfg:
MAX_UPDATE_FLOW= 0.2 - Mentioned in: Changes in Version 8
- Code:
CConfig.cppline 2048
MAX_UPDATE_SA
Maximum update ratio value for SA turbulence variable nu_tilde
More in config_template.cfg: Same as MAX_UPDATE_FLOW but for updating nu_tilde variable in SA model, not applicable for Neg model (Default= 0.99)
- Type: real number
- Default:
0.99 - In config_template.cfg:
MAX_UPDATE_SA= 0.99 - Mentioned in: Changes in Version 8, Hybrid RANS/LES (DES)
- Code:
CConfig.cppline 2050
MAX_UPDATE_SST
Maximum update ratio value for SST turbulence variables TKE and Omega
More in config_template.cfg: Same as MAX_UPDATE_FLOW but for updating TKE and Omega variables in SST model (Default= 1.0)
- Type: real number
- Default:
1.0 - In config_template.cfg:
MAX_UPDATE_SST= 1.0 - Mentioned in: Changes in Version 8
- Code:
CConfig.cppline 2052