diff --git a/Inviscid_Bump/inv_channel.cfg b/Inviscid_Bump/inv_channel.cfg index 9bbee653..0009ca08 100644 --- a/Inviscid_Bump/inv_channel.cfg +++ b/Inviscid_Bump/inv_channel.cfg @@ -89,11 +89,11 @@ NUM_METHOD_GRAD= GREEN_GAUSS CFL_NUMBER= 50.0 % % Adaptive CFL number (NO, YES) -CFL_ADAPT= NO +CFL_ADAPT= YES % % Parameters of the adaptive CFL number (factor down, factor up, CFL min value, % CFL max value ) -CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +CFL_ADAPT_PARAM= ( 0.1, 2.0, 50.0, 1e10 ) % % Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) @@ -110,10 +110,10 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU % % Minimum error of the linear solver for implicit formulations -LINEAR_SOLVER_ERROR= 1E-4 +LINEAR_SOLVER_ERROR= 1E-10 % % Max number of iterations of the linear solver for the implicit formulation -LINEAR_SOLVER_ITER= 10 +LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % @@ -121,7 +121,7 @@ LINEAR_SOLVER_ITER= 10 MGLEVEL= 3 % % Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE +MGCYCLE= W_CYCLE % % Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) @@ -133,10 +133,10 @@ MG_POST_SMOOTH= ( 0, 0, 0, 0 ) MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) % % Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.9 +MG_DAMP_RESTRICTION= 1.0 % % Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.9 +MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % @@ -144,16 +144,6 @@ MG_DAMP_PROLONGATION= 0.9 % TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) -MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) -SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) -VENKAT_LIMITER_COEFF= 0.03 -% % 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) % @@ -163,12 +153,10 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence criteria (CAUCHY, RESIDUAL) -% -CONV_CRITERIA= RESIDUAL -% +CONV_FIELD= RMS_DENSITY % % Min value of the residual (log10 of the residual) -CONV_RESIDUAL_MINVAL= -12 +CONV_RESIDUAL_MINVAL= -10 % % Start convergence criteria at iteration number CONV_STARTITER= 10 @@ -178,7 +166,6 @@ CONV_CAUCHY_ELEMS= 100 % % Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % @@ -231,4 +218,4 @@ WRT_SOL_FREQ= 250 WRT_CON_FREQ= 1 % % Screen output -SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) +SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/Inviscid_ONERAM6/inv_ONERAM6.cfg b/Inviscid_ONERAM6/inv_ONERAM6.cfg index a0a6b7a2..e291f497 100644 --- a/Inviscid_ONERAM6/inv_ONERAM6.cfg +++ b/Inviscid_ONERAM6/inv_ONERAM6.cfg @@ -19,12 +19,6 @@ MATH_PROBLEM= DIRECT % % Restart solution (NO, YES) RESTART_SOL= NO -% -% Write binary restart files (YES, NO) -WRT_BINARY_RESTART= NO -% -% Read binary restart files (YES, NO) -READ_BINARY_RESTART= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % @@ -95,17 +89,17 @@ OBJECTIVE_FUNCTION= DRAG CFL_NUMBER= 25.0 % % Adaptive CFL number (NO, YES) -CFL_ADAPT= NO +CFL_ADAPT= YES % % Parameters of the adaptive CFL number (factor down, factor up, CFL min value, % CFL max value ) -CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +CFL_ADAPT_PARAM= ( 0.1, 2.0, 25.0, 1e10 ) % % Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % % Number of total iterations -ITER= 99999 +ITER= 9999 % % Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES @@ -117,7 +111,7 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-6 % % Max number of iterations of the linear solver for the implicit formulation -LINEAR_SOLVER_ITER= 5 +LINEAR_SOLVER_ITER= 10 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % @@ -171,8 +165,7 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------& % % Convergence criteria (CAUCHY, RESIDUAL) -CONV_CRITERIA= RESIDUAL -% +CONV_FIELD= RMS_DENSITY % % Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 @@ -238,5 +231,5 @@ WRT_SOL_FREQ= 100 WRT_CON_FREQ= 1 % % Screen output -SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) +SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/Inviscid_Wedge/inv_wedge_HLLC.cfg b/Inviscid_Wedge/inv_wedge_HLLC.cfg index 9df91569..441b9723 100644 --- a/Inviscid_Wedge/inv_wedge_HLLC.cfg +++ b/Inviscid_Wedge/inv_wedge_HLLC.cfg @@ -86,16 +86,16 @@ CFL_ADAPT= NO % % Parameters of the adaptive CFL number (factor down, factor up, CFL min value, % CFL max value ) -CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +CFL_ADAPT_PARAM= ( 0.1, 2.0, 5.0, 1e10 ) % % Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % % Number of total iterations -ITER= 1000 +ITER= 10000 % % Linear solver for the implicit formulation (BCGSTAB, FGMRES) -LINEAR_SOLVER= BCGSTAB +LINEAR_SOLVER= FGMRES % % Preconditioner of the Krylov linear solver (ILU, JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU @@ -104,15 +104,15 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-6 % % Max number of iterations of the linear solver for the implicit formulation -LINEAR_SOLVER_ITER= 5 +LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % % Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 2 +MGLEVEL= 3 % % Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE +MGCYCLE= W_CYCLE % % Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) @@ -124,10 +124,10 @@ MG_POST_SMOOTH= ( 0, 0, 0, 0 ) MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) % % Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 +MG_DAMP_RESTRICTION= 1.0 % % Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 +MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % @@ -155,9 +155,7 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence criteria (CAUCHY, RESIDUAL) -% -CONV_CRITERIA= RESIDUAL -% +CONV_FIELD= RMS_DENSITY % % Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 @@ -170,7 +168,6 @@ CONV_CAUCHY_ELEMS= 100 % % Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % @@ -223,7 +220,7 @@ WRT_SOL_FREQ= 250 WRT_CON_FREQ= 1 % % Screen output -SCREEN_OUTPUT=(INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) +SCREEN_OUTPUT=(INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % diff --git a/Laminar_Cylinder/lam_cylinder.cfg b/Laminar_Cylinder/lam_cylinder.cfg index d49552df..43d62fd0 100644 --- a/Laminar_Cylinder/lam_cylinder.cfg +++ b/Laminar_Cylinder/lam_cylinder.cfg @@ -75,14 +75,14 @@ MARKER_MONITORING= ( cylinder ) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % % Courant-Friedrichs-Lewy condition of the finest grid -CFL_NUMBER= 10000.0 +CFL_NUMBER= 100.0 % % Adaptive CFL number (NO, YES) -CFL_ADAPT= NO +CFL_ADAPT= YES % % Parameters of the adaptive CFL number (factor down, factor up, CFL min value, % CFL max value ) -CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +CFL_ADAPT_PARAM= ( 0.1, 2.0, 100.0, 1e10 ) % % Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) @@ -152,11 +152,10 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence criteria (CAUCHY, RESIDUAL) -CONV_CRITERIA= RESIDUAL -% +CONV_FIELD= RMS_DENSITY % % Min value of the residual (log10 of the residual) -CONV_RESIDUAL_MINVAL= -14 +CONV_RESIDUAL_MINVAL= -15 % % Start convergence criteria at iteration number CONV_STARTITER= 10 @@ -166,7 +165,6 @@ CONV_CAUCHY_ELEMS= 100 % % Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % @@ -219,5 +217,5 @@ WRT_SOL_FREQ= 250 WRT_CON_FREQ= 1 % % Screen output -SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) +SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/Laminar_Flat_Plate/lam_flatplate.cfg b/Laminar_Flat_Plate/lam_flatplate.cfg index b8a86a0d..28115556 100644 --- a/Laminar_Flat_Plate/lam_flatplate.cfg +++ b/Laminar_Flat_Plate/lam_flatplate.cfg @@ -93,17 +93,17 @@ MARKER_MONITORING= ( wall ) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % % Courant-Friedrichs-Lewy condition of the finest grid -CFL_NUMBER= 100.0 +CFL_NUMBER= 10.0 % % Adaptive CFL number (NO, YES) -CFL_ADAPT= NO +CFL_ADAPT= YES % % Parameters of the adaptive CFL number (factor down, factor up, CFL min value, % CFL max value ) -CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +CFL_ADAPT_PARAM= ( 0.1, 2.0, 100.0, 1e10 ) % % Number of total iterations -ITER= 999999 +ITER= 9999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % @@ -117,12 +117,12 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-6 % % Max number of iterations of the linear solver for the implicit formulation -LINEAR_SOLVER_ITER= 5 +LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % % Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 3 +MGLEVEL= 0 % % Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE @@ -168,9 +168,7 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence criteria (CAUCHY, RESIDUAL) -% -CONV_CRITERIA= RESIDUAL -% +CONV_FIELD= RMS_DENSITY % % Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 @@ -183,7 +181,6 @@ CONV_CAUCHY_ELEMS= 100 % % Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % @@ -236,5 +233,5 @@ WRT_SOL_FREQ= 250 WRT_CON_FREQ= 1 % % Screen output -SCREEN_OUTPUT=(INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) +SCREEN_OUTPUT=(INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/Turbulent_Flat_Plate/turb_SA_flatplate.cfg b/Turbulent_Flat_Plate/turb_SA_flatplate.cfg index 4825158e..bd80f116 100644 --- a/Turbulent_Flat_Plate/turb_SA_flatplate.cfg +++ b/Turbulent_Flat_Plate/turb_SA_flatplate.cfg @@ -88,14 +88,14 @@ MARKER_MONITORING= ( wall ) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % % Courant-Friedrichs-Lewy condition of the finest grid -CFL_NUMBER= 5000.0 +CFL_NUMBER= 100.0 % % Adaptive CFL number (NO, YES) -CFL_ADAPT= NO +CFL_ADAPT= YES % % Parameters of the adaptive CFL number (factor down, factor up, CFL min value, % CFL max value ) -CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +CFL_ADAPT_PARAM= ( 0.1, 2.0, 100.0, 1e5 ) % % Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) @@ -178,11 +178,10 @@ TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence criteria (CAUCHY, RESIDUAL) -CONV_CRITERIA= RESIDUAL -% +CONV_FIELD= RMS_DENSITY % % Min value of the residual (log10 of the residual) -CONV_RESIDUAL_MINVAL= -15 +CONV_RESIDUAL_MINVAL= -14 % % Start convergence criteria at iteration number CONV_STARTITER= 10 @@ -245,5 +244,5 @@ WRT_SOL_FREQ= 1000 WRT_CON_FREQ= 1 % % Screen output -SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG) +SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG) diff --git a/_tutorials/compressible_flow/Inviscid_Bump.md b/_tutorials/compressible_flow/Inviscid_Bump.md index 23948f6f..61c64517 100644 --- a/_tutorials/compressible_flow/Inviscid_Bump.md +++ b/_tutorials/compressible_flow/Inviscid_Bump.md @@ -105,24 +105,25 @@ CFL_NUMBER= 50.0 MGLEVEL= 3 ``` -In general, users can choose from explicit or implicit time integration schemes. For the majority of problems, implicit integration is recommended for its higher stability and better convergence potential, especially for steady problems. Implicit methods typically offer stability at higher CFL numbers, and for this problem, Euler Implicit time integration with a CFL number of 50 is chosen. Convergence is also accelerated with three levels of multigrid. We will discuss some of these options in later tutorials. +In general, users can choose from explicit or implicit time integration schemes. For the majority of problems, implicit integration is recommended for its higher stability and better convergence potential, especially for steady problems. Implicit methods typically offer stability at higher CFL numbers, and for this problem, Euler Implicit time integration with a CFL number of 50 is chosen, along with automatic CFL adaption. Convergence is also accelerated with three levels of multigrid. We will discuss some of these options in later tutorials. Setting the convergence criteria: ``` -% Convergence criteria (CAUCHY, RESIDUAL) -CONV_CRITERIA= RESIDUAL -% -% Residual reduction (order of magnitude with respect to the initial value) -RESIDUAL_REDUCTION= 6 +% Convergence field (see available fields with the -d flag at the command line) +CONV_FIELD= RMS_DENSITY % % Min value of the residual (log10 of the residual) -CONV_RESIDUAL_MINVAL= -12 +CONV_RESIDUAL_MINVAL= -10 % % Start convergence criteria at iteration number CONV_STARTITER= 10 ``` -There are three different types of criteria for terminating a simulation in SU2: running a specified number of iterations (`ITER` option), reducing the residual of the density equation by a specified order of magnitude (or reaching a specified lower limit), or by converging an objective, such as drag, to a certain tolerance. The most common convergence criteria is the `RESIDUAL` option which is used in this tutorial by setting the `CONV_CRITERIA`. The `RESIDUAL_REDUCTION` option controls how many orders of magnitude reduction in the density residual are required for convergence, and `CONV_RESIDUAL_MINVAL` sets the minimum value that the residual is allowed to reach before automatically terminating. The user can set a specific iteration number to use for the initial value of the density residual using the `CONV_STARTITER` option. For example, the simulation for the inviscid channel will terminate once the density residual reaches a value that is 6 orders of magnitude smaller than its value at iteration 10. Note, however, that SU2 will always use the maximum value of the density residual to compute the relative reduction, even if the maximum value occurs after the iteration specified in `CONV_STARTITER`. +There are three different types of criteria for terminating a simulation in SU2: running a specified number of iterations (`ITER` option), reducing the residual of a chosen equation by a specified order of magnitude (or reaching a specified lower limit), or by converging a particular output quantity, such as drag, to a certain tolerance. + +The most common convergence criteria is the residual reduction option which is used in this tutorial by setting the `CONV_FIELD` equal to `RMS_DENSITY`, which signifies that we will monitor the root-mean squared residual of the density equation. The `CONV_RESIDUAL_MINVAL` sets the minimum value that the residual is allowed to reach before automatically terminating. For a relative residual reduction criteria, one can set `CONV_FIELD= REL_RMS_DENSITY` to track the relative drop in the density residual. The user can set a specific iteration number to use for the initial value of the density residual using the `CONV_STARTITER` option. For more information on controlling the convergence criteria, see the output documentation page. + +For example, the simulation for the inviscid channel will terminate once the density residual reaches a value of -10. For a relative reduction criteria, note that SU2 will always use the maximum value of the density residual to compute the relative reduction, even if the maximum value occurs after the iteration specified in `CONV_STARTITER`. ### Running SU2 diff --git a/_tutorials/compressible_flow/Inviscid_ONERAM6.md b/_tutorials/compressible_flow/Inviscid_ONERAM6.md index 1f1bec44..f2e9b1af 100644 --- a/_tutorials/compressible_flow/Inviscid_ONERAM6.md +++ b/_tutorials/compressible_flow/Inviscid_ONERAM6.md @@ -132,6 +132,19 @@ SU2 contains an agglomeration multigrid algorithm for convergence acceleration ( It is important to note that the performance of the multigrid algorithm is highly-dependent on the initial grid and that the agglomeration is impacted by parallel partitioning: considerable tuning and experimentation with these parameters can be required. If you are having trouble tuning the multigrid, it is recommended to turn it off (set `MGLEVEL = 0`) and to try with a higher CFL number on the fine grid alone while converging the implicit system to a tighter tolerance (use the `LINEAR_SOLVER_ERROR` and `LINEAR_SOLVER_ITER` options). +In addition to aggressive multigrid settings for this case, we also apply automatic CFL adaption, which allows for ramping of the CFL number to very high values. This results in rapid convergence of the problem after approximately 100 iterations. The CFL adaption is enabled using the following options: +``` +% +% Adaptive CFL number (NO, YES) +CFL_ADAPT= YES +% +% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, +% CFL max value ) +CFL_ADAPT_PARAM= ( 0.1, 2.0, 100.0, 1e10 ) +``` + +First, we set `CFL_ADAPT= YES` to activate CFL adaption. The parameters for the adaption are set with `CFL_ADAPT_PARAM` in order to control the multiplicative factors to increase or decrease the CFL with each iteration (depending on the success of each nonlinear iteration) as well as minimum and maximum bounds on the allowable CFL. For Euler and laminar Navier-Stokes problems, an aggressive strategy that doubles the CFL up to a high max (here 1e10) is typically possible. For RANS cases, more conservative values are suggested (increase factor of 1.2 and a max of 1e3). + ### Running SU2 Instructions for running this test case are given here for both serial and parallel computations. The computational mesh is rather large, so if possible, performing this case in parallel is recommended. diff --git a/_tutorials/compressible_flow/Inviscid_Wedge.md b/_tutorials/compressible_flow/Inviscid_Wedge.md index a4f5d14b..353cc01d 100644 --- a/_tutorials/compressible_flow/Inviscid_Wedge.md +++ b/_tutorials/compressible_flow/Inviscid_Wedge.md @@ -64,37 +64,37 @@ MESH_FORMAT= CGNS To use the supplied CGNS mesh, simply enter the filename and make sure that the `MESH_FORMAT` option is set to CGNS. The output written to the console during the grid reading process during runtime might look like the following for the supersonic wedge mesh: ``` ----------------------- Read Grid File Information ----------------------- +------------------- Geometry Preprocessing ( Zone 0 ) ------------------- Reading the CGNS file: mesh_wedge_inv.cgns. CGNS file contains 1 database(s). -Database 1, Base: 1 zone(s), cell dimension of 2, physical dimension of 3. -Zone 1, dom-1: 3750 vertices, 3626 cells, 0 boundary vertices. -Reading grid coordinates. -Number of coordinate dimensions is 3. -Loading CoordinateX values. -Loading CoordinateY values. -Loading CoordinateZ values. +Database 1, Base: cell dimension of 2, physical dimension of 3. +1 total zone(s). +Zone 1, dom-1: 3750 total vertices, 3626 total elements. +Loading CoordinateX values into linear partitions. +Loading CoordinateY values into linear partitions. +Distributing connectivity across all ranks. Number of connectivity sections is 5. -Loading section QuadElements of element type Quadrilateral. -Loading section inlet of element type Line. -Loading section lower of element type Line. -Loading section outlet of element type Line. -Loading section upper of element type Line. -Successfully closed the CGNS file. - -Loading CGNS data into SU2 data structures. +Section QuadElements contains 3626 elements of type Quadrilateral. +Section inlet contains 49 elements of type Line. +Section lower contains 74 elements of type Line. +Section outlet contains 49 elements of type Line. +Section upper contains 74 elements of type Line. +Loading volume section QuadElements from file. +Loading surface section inlet from file. +Loading surface section lower from file. +Loading surface section outlet from file. +Loading surface section upper from file. Two dimensional problem. -3626 interior elements. -3750 grid points. +3750 grid points before partitioning. +3626 volume elements before partitioning. 4 surface markers. 49 boundary elements in index 0 (Marker = inlet). 74 boundary elements in index 1 (Marker = lower). 49 boundary elements in index 2 (Marker = outlet). 74 boundary elements in index 3 (Marker = upper). -3626 quadrilaterals. ``` -SU2 prints out information about the CGNS mesh including the filename, the number of points, and the number of elements. Another useful piece of information is the listing of the sections within the mesh. These descriptions give the type of elements for the section as well as any name given to it. For instance, when the inlet boundary information is read, SU2 prints "Loading section inlet of element type Line" to the console. This information can be used to verify that your mesh is being read correctly, or to help you remember (or even to learn for the first time) the names for each of the boundary markers that you will need for specifying boundary conditions in the config file. +SU2 prints out information about the CGNS mesh including the filename, the number of points, and the number of elements. Another useful piece of information is the listing of the sections within the mesh. These descriptions give the type of elements for the section as well as any name given to it. For instance, when the inlet boundary information is read, SU2 prints "Section inlet contains 49 elements of type Line" to the console. This information can be used to verify that your mesh is being read correctly, or to help you remember (or even to learn for the first time) the names for each of the boundary markers that you will need for specifying boundary conditions in the config file. A converter for creating native .su2 meshes from CGNS meshes is built directly into SU2_DEF, along with many other facilities for manipulating and deforming grids (e.g., scaling, translating, rotating). We will discuss many more capabilities of SU2_DEF in future tutorials, especially features needed for design parameterization and mesh deformation for optimal shape design. To perform a simple conversion of the grid with SU2_DEF, choose the following option: @@ -124,7 +124,7 @@ $ SU2_DEF inv_Wedge_HLLC.cfg No other options related to the grid deformation capability are required. You will now have a new mesh in the current working directory named "mesh_out.su2" by default that is in the SU2 native format. To use it, adjust the `MESH_FILENAME` and `MESH_FORMAT` options. -SU2_DEF has other useful capability for quickly transforming grids. For example, we often need to scale the grid to be smaller or larger so that the grid is in units of meters. Here, we can take advantage of the `SCALE_GRID` capability (`DV_KIND`) while setting a constant scale factor in the `DV_VALUE` option. In this case, every grid point location will be multiplied by the scaling factor in all dimensions. It is also possible to rigidly rotate or translate the grid with the options `ROTATE_GRID` and `TRANSLATE_GRID`, respectively. For example, to scale the grid units by a factor of 10.0, the following options can be used: +SU2_DEF has other useful capabilities for quickly transforming grids. For example, we often need to scale the grid to be smaller or larger so that the grid is in units of meters. Here, we can take advantage of the `SCALE_GRID` capability (`DV_KIND`) while setting a constant scale factor in the `DV_VALUE` option. In this case, every grid point location will be multiplied by the scaling factor in all dimensions. It is also possible to rigidly rotate or translate the grid with the options `ROTATE_GRID` and `TRANSLATE_GRID`, respectively. For example, to scale the grid units by a factor of 10.0, the following options can be used: ``` % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% diff --git a/_tutorials/compressible_flow/Laminar_Cylinder.md b/_tutorials/compressible_flow/Laminar_Cylinder.md index 431a16e4..c28f6799 100644 --- a/_tutorials/compressible_flow/Laminar_Cylinder.md +++ b/_tutorials/compressible_flow/Laminar_Cylinder.md @@ -74,7 +74,7 @@ SLOPE_LIMITER_FLOW= NONE VENKAT_LIMITER_COEFF= 0.05 ``` -For laminar flow around the cylinder, we choose the Roe upwind scheme with 2nd-order reconstruction (`MUSCL_FLOW = YES`). This low-speed case is executed witout a slope limiter. Note that, in order to activate the slope limiter for the upwind methods, `SLOPE_LIMITER_FLOW` must be set to something other than `NONE`. Otherwise, no limiting will be applied to the convective flux during the higher-order reconstruction. Limiting is not applicable if `MUSCL_FLOW = NO`, as there is no higher-order reconstruction, and thus, no need to limit the gradients. The viscous terms are computed with the corrected average-of-gradients method (by default). Several limiters are available in SU2, including the popular `VENKATAKRISHNAN` limiter for unstructured grids. It is recommended that users experiment with the `VENKAT_LIMITER_COEFF` value for their own applications. +For laminar flow around the cylinder, we choose the Roe upwind scheme with 2nd-order reconstruction (`MUSCL_FLOW = YES`). This low-speed case is executed without a slope limiter. Note that, in order to activate the slope limiter for the upwind methods, `SLOPE_LIMITER_FLOW` must be set to something other than `NONE`. Otherwise, no limiting will be applied to the convective flux during the higher-order reconstruction. Limiting is not applicable if `MUSCL_FLOW = NO`, as there is no higher-order reconstruction, and thus, no need to limit the gradients. The viscous terms are computed with the corrected average-of-gradients method (by default). Several limiters are available in SU2, including the popular `VENKATAKRISHNAN` limiter for unstructured grids. It is recommended that users experiment with the `VENKAT_LIMITER_COEFF` value for their own applications. Lastly, it should be mentioned that the MUSCL reconstruction and slope limiting apply *only to the upwind schemes*. If you choose one of the centered convective schemes, e.g., JST or Lax-Friedrich, there is no reconstruction process. JST and Lax-Friedrich are 2nd-order and 1st-order by construction, respectively, and the scalar dissipation for these schemes can be tuned with the `JST_SENSOR_COEFF` and `LAX_SENSOR_COEFF` options, respectively. diff --git a/_tutorials/compressible_flow/Laminar_Flat_Plate.md b/_tutorials/compressible_flow/Laminar_Flat_Plate.md index 26952402..10594756 100644 --- a/_tutorials/compressible_flow/Laminar_Flat_Plate.md +++ b/_tutorials/compressible_flow/Laminar_Flat_Plate.md @@ -57,7 +57,7 @@ The computational mesh for the flat plate is composed of quadrilaterals with 65 ![Lam Plate Mesh](../../Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png) Figure (1): Figure of the computational mesh with boundary conditions. -Because the flow is subsonic and disturbances caused by the presence of the plate can propagate both upstream and downstream, the characteristic-based, subsonic inlet and outlet boundary conditions are used for the flow entrance plane (red) and the outflow regions along the upper region of the domain and the exit plane at x = 0.3048 m (blue). +Because the flow is subsonic and disturbances caused by the presence of the plate can propagate both upstream and downstream, characteristic-based, subsonic inlet and outlet boundary conditions are used for the flow entrance plane (red) and the outflow regions along the upper region of the domain and the exit plane at x = 0.3048 m (blue). In any simulation of viscous flow, it is important to capture the behavior of the boundary layer. Doing so requires an appropriate level of grid refinement near the wall. In this mesh, the vertical spacing is such that approximately 30 grid nodes lie within the boundary layer, which is typical for laminar flows of this nature. @@ -77,7 +77,7 @@ SOLVER= NAVIER_STOKES KIND_TURB_MODEL= NONE ``` -To compute viscous flows, the Navier-Stokes governing equations are selected. In conjunction with selecting Navier-Stokes as the problem type, the type of turbulence model must also be specified. Laminar flows can be computed by entering `KIND_TURB_MODEL= NONE`. For turbulent flows, SU2 currently contains implementations of the Spalart-Allmaras model (`SA`, `SA_NEG`) and the Shear Stress Transport (`SST`) model of Menter. If this were an inviscid flow problem, the user would enter `SOLVER = EULER` for the problem type. SU2 supports other governing equations, as well, and the user is invited to review the configuration page for a description of the possible options. +To compute viscous flows, the Navier-Stokes governing equations are selected. The option `NAVIER_STOKES` implies that we wish to solve a laminar Naviwe-Stokes problem, and therefore, we must also set `KIND_TURB_MODEL= NONE`. For turbulent flows, SU2 solves the Reynolds-averaged Navier-Stokes equations by setting `SOLVER= RANS`, and SU2 currently contains implementations of the Spalart-Allmaras model and several variants (`SA`, `SA_NEG`, etc.) and the Shear Stress Transport (`SST`) model of Menter. If this were an inviscid flow problem, the user would enter `SOLVER = EULER` for the problem type. SU2 supports other governing equations, as well, and the user is invited to review the governing equations documentation page for a description of the possible options. Defining a no-slip boundary condition for viscous walls can be accomplished in one of two ways: @@ -93,7 +93,7 @@ MARKER_HEATFLUX= ( wall, 0.0 ) MARKER_ISOTHERMAL= ( NONE ) ``` -An adiabatic, no-slip boundary condition can be selected by using the `MARKER_HEATFLUX` option with the value of the heat flux set to 0.0. An isothermal wall condition is also available with a similar format. +An adiabatic, no-slip boundary condition can be selected by using the `MARKER_HEATFLUX` option with the value of the heat flux set to 0.0. An isothermal wall condition is also available with a similar format for setting a fixed temperature on the wall. The convective fluxes are computed with a 2nd-order upwind method, and the viscous terms are computed with the corrected average-of-gradients method (the default in SU2). We will discuss the various options for specifying the convective scheme in the next tutorial. The flow variable gradients needed for the convective and viscous fluxes are calculated via a weighted least squares method, but a Green-Gauss method is also available: @@ -102,7 +102,7 @@ The convective fluxes are computed with a 2nd-order upwind method, and the visco NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES ``` -For this problem, we are choosing a typical set of numerical methods. However, it is advised that users should experiment with various numerical methods for their own problems. +For this problem, we are choosing a typical set of numerical methods. However, it is always advised that users should experiment with various numerical methods for their own problems. ### Running SU2 diff --git a/_tutorials/compressible_flow/Turbulent_Flat_Plate.md b/_tutorials/compressible_flow/Turbulent_Flat_Plate.md index b55f3320..0762d7ed 100644 --- a/_tutorials/compressible_flow/Turbulent_Flat_Plate.md +++ b/_tutorials/compressible_flow/Turbulent_Flat_Plate.md @@ -51,16 +51,14 @@ Several of the key configuration file options for this simulation are highlighte ``` % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) -SOLVER= NAVIER_STOKES +% Physical governing equations +SOLVER= RANS % % Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA ``` -The governing equations are Navier-Stokes, but by entering `KIND_TURB_MODEL= SA` we activate the RANS governing equations with the Spalart-Allmaras (SA) turbulence model. The SA model is a 1-equation model for a turbulence field variable that is directly related to the turbulent eddy viscosity. It is a popular choice for external aerodynamic flows, such as those around airfoils and wings. In previous tutorials, `KIND_TURB_MODEL= NONE` has been chosen, resulting in the use of the laminar Navier-Stokes governing equations. The SA Negative model (SA_NEG) and the Shear Stress Transport model (SST) of Menter are also available in SU2. +The governing equations are first set to the Reynolds-averaged Navier-Stokes equations, and by entering `KIND_TURB_MODEL= SA` we activate the Spalart-Allmaras (SA) turbulence model. The SA model is a 1-equation model for a turbulence field variable that is directly related to the turbulent eddy viscosity. It is a popular choice for external aerodynamic flows, such as those around airfoils and wings. The SA Negative model (SA_NEG), other SA variants, and the Shear Stress Transport model (SST) of Menter are also available in SU2. We must also specify suitable numerical methods for the solution of any additional turbulence equations: