Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test cases for turbulence model variants #1418

Merged
merged 10 commits into from
Nov 6, 2021
76 changes: 76 additions & 0 deletions TestCases/parallel_regression.py
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,82 @@ def main():
fem_ns_unsteady_cylinder_ader.tol = 0.00001
test_list.append(fem_ns_unsteady_cylinder_ader)

###########################
### Turbulence modeling ###
###########################

# SA Baseline (Identical to RANS SA RAE2822)
turbmod_sa_bsl_rae2822 = TestCase('turbmod_sa_bsl_rae2822')
turbmod_sa_bsl_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_bsl_rae2822.cfg_file = "turb_SA_BSL_RAE2822.cfg"
turbmod_sa_bsl_rae2822.test_iter = 20
turbmod_sa_bsl_rae2822.test_vals = [-2.004689, 0.742306, 0.497308, -5.265793, 0.809463, 0.062016]
turbmod_sa_bsl_rae2822.su2_exec = "parallel_computation.py -f"
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
turbmod_sa_bsl_rae2822.timeout = 1600
turbmod_sa_bsl_rae2822.new_output = True
turbmod_sa_bsl_rae2822.tol = 0.00001
test_list.append(turbmod_sa_bsl_rae2822)

# SA Negative
turbmod_sa_neg_rae2822 = TestCase('turbmod_sa_neg_rae2822')
turbmod_sa_neg_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_neg_rae2822.cfg_file = "turb_SA_NEG_RAE2822.cfg"
turbmod_sa_neg_rae2822.test_iter = 20
turbmod_sa_neg_rae2822.test_vals = [-2.004688, 0.742320, 0.497307, -5.265640, 0.809478, 0.061986]
turbmod_sa_neg_rae2822.su2_exec = "parallel_computation.py -f"
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
turbmod_sa_neg_rae2822.timeout = 1600
turbmod_sa_neg_rae2822.new_output = True
turbmod_sa_neg_rae2822.tol = 0.00001
test_list.append(turbmod_sa_neg_rae2822)

# SA Compressibility Correction
turbmod_sa_comp_rae2822 = TestCase('turbmod_sa_comp_rae2822')
turbmod_sa_comp_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_comp_rae2822.cfg_file = "turb_SA_COMP_RAE2822.cfg"
turbmod_sa_comp_rae2822.test_iter = 20
turbmod_sa_comp_rae2822.test_vals = [-2.004687, 0.742304, 0.497309, -5.266081, 0.809467, 0.062029]
turbmod_sa_comp_rae2822.su2_exec = "parallel_computation.py -f"
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
turbmod_sa_comp_rae2822.timeout = 1600
turbmod_sa_comp_rae2822.new_output = True
turbmod_sa_comp_rae2822.tol = 0.00001
test_list.append(turbmod_sa_comp_rae2822)

# SA Edwards
turbmod_sa_edw_rae2822 = TestCase('turbmod_sa_edw_rae2822')
turbmod_sa_edw_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_edw_rae2822.cfg_file = "turb_SA_EDW_RAE2822.cfg"
turbmod_sa_edw_rae2822.test_iter = 20
turbmod_sa_edw_rae2822.test_vals = [-2.004687, 0.742306, 0.497310, -5.290769, 0.809485, 0.062036]
turbmod_sa_edw_rae2822.su2_exec = "parallel_computation.py -f"
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
turbmod_sa_edw_rae2822.timeout = 1600
turbmod_sa_edw_rae2822.new_output = True
turbmod_sa_edw_rae2822.tol = 0.00001
test_list.append(turbmod_sa_edw_rae2822)

# SA Compressibility and Edwards
turbmod_sa_comp_edw_rae2822 = TestCase('turbmod_sa_comp_edw_rae2822')
turbmod_sa_comp_edw_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_comp_edw_rae2822.cfg_file = "turb_SA_COMP_EDW_RAE2822.cfg"
turbmod_sa_comp_edw_rae2822.test_iter = 20
turbmod_sa_comp_edw_rae2822.test_vals = [-2.004687, 0.742306, 0.497310, -5.290769, 0.809485, 0.062036]
turbmod_sa_comp_edw_rae2822.su2_exec = "parallel_computation.py -f"
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
turbmod_sa_comp_edw_rae2822.timeout = 1600
turbmod_sa_comp_edw_rae2822.new_output = True
turbmod_sa_comp_edw_rae2822.tol = 0.00001
test_list.append(turbmod_sa_comp_edw_rae2822)

# SA QCR
turbmod_sa_qcr_rae2822 = TestCase('turbmod_sa_qcr_rae2822')
turbmod_sa_qcr_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_qcr_rae2822.cfg_file = "turb_SA_QCR_RAE2822.cfg"
turbmod_sa_qcr_rae2822.test_iter = 20
turbmod_sa_qcr_rae2822.test_vals = [-2.004793, 0.742353, 0.497315, -5.265974, 0.807841, 0.062027]
turbmod_sa_qcr_rae2822.su2_exec = "parallel_computation.py -f"
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
turbmod_sa_qcr_rae2822.timeout = 1600
turbmod_sa_qcr_rae2822.new_output = True
turbmod_sa_qcr_rae2822.tol = 0.00001
test_list.append(turbmod_sa_qcr_rae2822)

############################
### Transition ###
############################
Expand Down
76 changes: 76 additions & 0 deletions TestCases/serial_regression.py
Original file line number Diff line number Diff line change
Expand Up @@ -703,6 +703,82 @@ def main():
fem_ns_unsteady_cylinder_ader.tol = 0.00001
test_list.append(fem_ns_unsteady_cylinder_ader)

###########################
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
### Turbulence modeling ###
###########################

# SA Baseline (Identical to RANS SA RAE2822)
turbmod_sa_bsl_rae2822 = TestCase('turbmod_sa_bsl_rae2822')
turbmod_sa_bsl_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_bsl_rae2822.cfg_file = "turb_SA_BSL_RAE2822.cfg"
turbmod_sa_bsl_rae2822.test_iter = 20
turbmod_sa_bsl_rae2822.test_vals = [-2.020123, 0.744431, 0.485446, -5.269330, 0.807147, 0.060499]
turbmod_sa_bsl_rae2822.su2_exec = "SU2_CFD"
turbmod_sa_bsl_rae2822.timeout = 1600
turbmod_sa_bsl_rae2822.new_output = True
turbmod_sa_bsl_rae2822.tol = 0.00001
test_list.append(turbmod_sa_bsl_rae2822)

# SA Negative
turbmod_sa_neg_rae2822 = TestCase('turbmod_sa_neg_rae2822')
turbmod_sa_neg_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_neg_rae2822.cfg_file = "turb_SA_NEG_RAE2822.cfg"
turbmod_sa_neg_rae2822.test_iter = 20
turbmod_sa_neg_rae2822.test_vals = [-2.020122, 0.744445, 0.485445, -5.269186, 0.807162, 0.060468]
turbmod_sa_neg_rae2822.su2_exec = "SU2_CFD"
turbmod_sa_neg_rae2822.timeout = 1600
turbmod_sa_neg_rae2822.new_output = True
turbmod_sa_neg_rae2822.tol = 0.00001
test_list.append(turbmod_sa_neg_rae2822)

# SA Compressibility Correction
turbmod_sa_comp_rae2822 = TestCase('turbmod_sa_comp_rae2822')
turbmod_sa_comp_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_comp_rae2822.cfg_file = "turb_SA_COMP_RAE2822.cfg"
turbmod_sa_comp_rae2822.test_iter = 20
turbmod_sa_comp_rae2822.test_vals = [-2.020122, 0.744430, 0.485447, -5.269658, 0.807149, 0.060512]
turbmod_sa_comp_rae2822.su2_exec = "SU2_CFD"
turbmod_sa_comp_rae2822.timeout = 1600
turbmod_sa_comp_rae2822.new_output = True
turbmod_sa_comp_rae2822.tol = 0.00001
test_list.append(turbmod_sa_comp_rae2822)

# SA Edwards
turbmod_sa_edw_rae2822 = TestCase('turbmod_sa_edw_rae2822')
turbmod_sa_edw_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_edw_rae2822.cfg_file = "turb_SA_EDW_RAE2822.cfg"
turbmod_sa_edw_rae2822.test_iter = 20
turbmod_sa_edw_rae2822.test_vals = [-2.020121, 0.744432, 0.485447, -5.296065, 0.807168, 0.060518]
turbmod_sa_edw_rae2822.su2_exec = "SU2_CFD"
turbmod_sa_edw_rae2822.timeout = 1600
turbmod_sa_edw_rae2822.new_output = True
turbmod_sa_edw_rae2822.tol = 0.00001
test_list.append(turbmod_sa_edw_rae2822)

# SA Compressibility and Edwards
turbmod_sa_comp_edw_rae2822 = TestCase('turbmod_sa_comp_edw_rae2822')
turbmod_sa_comp_edw_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_comp_edw_rae2822.cfg_file = "turb_SA_COMP_EDW_RAE2822.cfg"
turbmod_sa_comp_edw_rae2822.test_iter = 20
turbmod_sa_comp_edw_rae2822.test_vals = [-2.020121, 0.744432, 0.485447, -5.296065, 0.807168, 0.060518]
turbmod_sa_comp_edw_rae2822.su2_exec = "SU2_CFD"
turbmod_sa_comp_edw_rae2822.timeout = 1600
turbmod_sa_comp_edw_rae2822.new_output = True
turbmod_sa_comp_edw_rae2822.tol = 0.00001
test_list.append(turbmod_sa_comp_edw_rae2822)

# SA QCR
turbmod_sa_qcr_rae2822 = TestCase('turbmod_sa_qcr_rae2822')
turbmod_sa_qcr_rae2822.cfg_dir = "turbulence_models/sa/rae2822"
turbmod_sa_qcr_rae2822.cfg_file = "turb_SA_QCR_RAE2822.cfg"
turbmod_sa_qcr_rae2822.test_iter = 20
turbmod_sa_qcr_rae2822.test_vals = [-2.020219, 0.744480, 0.485457, -5.269523, 0.805537, 0.060531]
turbmod_sa_qcr_rae2822.su2_exec = "SU2_CFD"
turbmod_sa_qcr_rae2822.timeout = 1600
turbmod_sa_qcr_rae2822.new_output = True
turbmod_sa_qcr_rae2822.tol = 0.00001
test_list.append(turbmod_sa_qcr_rae2822)

#########################
### Transition ###
#########################
Expand Down
202 changes: 202 additions & 0 deletions TestCases/turbulence_models/sa/rae2822/turb_SA_BSL_RAE2822.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% SU2 configuration file %
% Case description: Transonic simulation RAE2822 (RANS) %
% Author: Francisco Palacios %
% Institution: Stanford University %
% Date: 5/15/2013 %
% File Version 7.2.0 "Blackbird" %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------%
%
% Physical governing equations (EULER, NAVIER_STOKES,
% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY,
% POISSON_EQUATION)
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
SOLVER= RANS
%
% Specify turbulent model (NONE, SA, SA_NEG, SST)
KIND_TURB_MODEL= SA
%
% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT)
MATH_PROBLEM= DIRECT
%
% Restart solution (NO, YES)
RESTART_SOL= NO
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------%
%
% Mach number (non-dimensional, based on the free-stream values)
MACH_NUMBER= 0.729
%
% Angle of attack (degrees, only for compressible flows)
AOA= 2.31
%
% Free-stream temperature (288.15 K by default)
FREESTREAM_TEMPERATURE= 288.15
%
% Reynolds number (non-dimensional, based on the free-stream values)
REYNOLDS_NUMBER= 6.5E6
%
% Reynolds length (1 m by default)
REYNOLDS_LENGTH= 1.0

% ---------------------- REFERENCE VALUE DEFINITION ---------------------------%
%
% Reference origin for moment computation
REF_ORIGIN_MOMENT_X = 0.25
REF_ORIGIN_MOMENT_Y = 0.00
REF_ORIGIN_MOMENT_Z = 0.00
%
% Reference length for pitching, rolling, and yawing non-dimensional moment
REF_LENGTH= 1.0
%
% Reference area for force coefficients (0 implies automatic calculation)
REF_AREA= 1.0

% -------------------- BOUNDARY CONDITION DEFINITION --------------------------%
%
% Navier-Stokes wall boundary marker(s) (NONE = no marker)
MARKER_HEATFLUX= ( AIRFOIL, 0.0 )
%
% Farfield boundary marker(s) (NONE = no marker)
MARKER_FAR= ( FARFIELD )
%
% Marker(s) of the surface to be plotted or designed
MARKER_PLOTTING= ( AIRFOIL )
%
% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated
MARKER_MONITORING= ( AIRFOIL )

% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------%
%
% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES)
NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES
%
% Courant-Friedrichs-Lewy condition of the finest grid
CFL_NUMBER= 2.5
%
% 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= ( 1.5, 0.5, 1.0, 100.0 )
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
%
% Number of total iterations
ITER= 99999
%
% Linear solver for the implicit formulation (BCGSTAB, FGMRES)
LINEAR_SOLVER= BCGSTAB
%
% Min error of the linear solver for the implicit formulation
LINEAR_SOLVER_ERROR= 1E-6
%
% Max number of iterations of the linear solver for the implicit formulation
LINEAR_SOLVER_ITER= 20

% -------------------------- MULTIGRID PARAMETERS -----------------------------%
%
% Multi-Grid Levels (0 = no multi-grid)
MGLEVEL= 3
%
% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE)
MGCYCLE= W_CYCLE
%
% Multi-grid pre-smoothing level
MG_PRE_SMOOTH= ( 1, 2, 3, 3 )
%
% 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.95
%
% Damping factor for the correction prolongation
MG_DAMP_PROLONGATION= 0.95

% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------%
%
% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC,
% 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
%
pcarruscag marked this conversation as resolved.
Show resolved Hide resolved
% 2nd and 4th order artificial dissipation coefficients
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
%
% Time discretization (EULER_IMPLICIT)
TIME_DISCRE_TURB= EULER_IMPLICIT

% --------------------------- CONVERGENCE PARAMETERS --------------------------%
%
% Min value of the residual (log10 of the residual)
CONV_RESIDUAL_MINVAL= -8
%
% 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-6

% ------------------------- INPUT/OUTPUT INFORMATION --------------------------%
%
% Mesh input file
MESH_FILENAME= mesh_RAE2822_turb.su2
%
% Mesh input file format (SU2, CGNS, NETCDF_ASCII)
MESH_FORMAT= SU2
%
% Mesh output file
MESH_OUT_FILENAME= mesh_out.su2
%
% Restart flow input file
SOLUTION_FILENAME= solution_flow.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 flow (w/o extension) variables
VOLUME_FILENAME= flow
%
% Output file surface flow coefficient (w/o extension)
SURFACE_FILENAME= surface_flow
%
% Writing solution file frequency
OUTPUT_WRT_FREQ= 250
%
% Screen output fields
SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_NU_TILDE, LIFT, DRAG)
Loading