-
Notifications
You must be signed in to change notification settings - Fork 919
Update turbomachinery testcases and regression tests #2158
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
Merged
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
0df5596
adding 3D mixing-plane Aachen turbine config files
e138511
path to mesh file changed
00ce99f
adding Aachen turbine to parallel_regression
65f8388
adding Aachen turbine to serial_regression
b87c5bf
adding Aachen restart config
b3c2389
mesh file name in configs updated
9cef188
fixing the iteration number
55bc785
fixing test values in regression tests
dadedf4
Update TestCases/turbomachinery/Aachen_turbine/aachen_3D_MP.cfg
alecappiello 2e6ec42
Merge branch 'develop' into develop
alecappiello 010a174
Merge branch 'develop' into develop
alecappiello cd68e3b
Update aachen_3D_MP.cfg
joshkellyjak 6bc54d2
Update aachen_3D_MP_restart.cfg
alecappiello 5d2a61e
Update serial_regression.py
alecappiello d9c7a7c
Update parallel_regression.py
alecappiello 501e0b6
Update parallel_regression.py
alecappiello 4efad8b
Update parallel_regression.py
alecappiello 53f9b2a
Update aachen_3D_MP_restart.cfg
alecappiello 3d78a44
Update aachen_3D_MP.cfg
alecappiello a0a7fc6
Delete TestCases/turbomachinery/Aachen_turbine/aachen_3D_MP.cfg
alecappiello a4030aa
Update aachen_3D_MP_restart.cfg
alecappiello f33b3ad
Update aachen_3D_MP_restart.cfg
alecappiello 8b039ab
Update TestCases/turbomachinery/Aachen_turbine/aachen_3D_MP_restart.cfg
pcarruscag 4f32743
Merge branch 'su2code:develop' into develop
alecappiello 7eff50d
Merge branch 'develop' into develop
alecappiello File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
356 changes: 356 additions & 0 deletions
356
TestCases/turbomachinery/Aachen_turbine/aachen_3D_MP_restart.cfg
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,356 @@ | ||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
| % % | ||
| % SU2 configuration file % | ||
| % Case description: AACHEN turbine 3D % | ||
| % Author: S. Vitale, A. Cappiello % | ||
| % Institution: Delft University of Technology % | ||
| % Date: Oct 20th, 2023 % | ||
| % % | ||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
| % | ||
| % | ||
| % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% | ||
| % | ||
| % Physical governing equations | ||
| SOLVER= RANS | ||
| % | ||
| % Specify turbulent model (NONE, SA, SST) | ||
| KIND_TURB_MODEL= SA | ||
| % | ||
| % Mathematical problem (DIRECT, ADJOINT, LINEARIZED) | ||
| MATH_PROBLEM= DIRECT | ||
| % | ||
| % Restart solution (NO, YES) | ||
| RESTART_SOL= YES | ||
| % | ||
| MULTIZONE= YES | ||
| % | ||
| % List of config files for zone-specific options | ||
| CONFIG_LIST=(stator1.cfg, rotor.cfg, stator2.cfg) | ||
| % | ||
| % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% | ||
| % | ||
| % Mach number (non-dimensional, based on the free-stream values) | ||
| MACH_NUMBER= 0.05 | ||
| % | ||
| % Angle of attack (degrees, only for compressible flows) | ||
| AOA= 0.0 | ||
| % | ||
| % Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) | ||
| FREESTREAM_PRESSURE= 140000.0 | ||
| % | ||
| % Free-stream temperature (273.15 K by default) | ||
| FREESTREAM_TEMPERATURE= 300.0 | ||
| % | ||
| % Free-stream temperature (1.2886 Kg/m3 by default) | ||
| FREESTREAM_DENSITY= 1.7418 | ||
| % | ||
| % Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature TEMPERATURE_FS) to initialize the solution | ||
| FREESTREAM_OPTION= TEMPERATURE_FS | ||
| % | ||
| % Free-stream Turbulence Intensity | ||
| FREESTREAM_TURBULENCEINTENSITY = 0.025 | ||
| % | ||
| % Free-stream Turbulent to Laminar viscosity ratio | ||
| FREESTREAM_TURB2LAMVISCRATIO = 100.0 | ||
| % | ||
| % | ||
| %Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) | ||
| INIT_OPTION= TD_CONDITIONS | ||
| % | ||
| % ---------------------- 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 area for force coefficients (0 implies automatic calculation) | ||
| REF_AREA= 1.0 | ||
| % | ||
| % Flow non-dimensionalization | ||
| REF_DIMENSIONALIZATION= DIMENSIONAL | ||
| % | ||
| % | ||
| % ------------------------------ EQUATION OF STATE ----------------------------% | ||
| % | ||
| % 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 | ||
| % | ||
| % Critical Temperature (273.15 K by default) | ||
| CRITICAL_TEMPERATURE= 273.15 | ||
| % | ||
| % Critical Pressure (101325.0 N/m^2 by default) | ||
| CRITICAL_PRESSURE= 101325.0 | ||
| % | ||
| % Acentri factor (0.035 (air)) | ||
| ACENTRIC_FACTOR= 0.035 | ||
| % | ||
| % --------------------------- VISCOSITY MODEL ---------------------------------% | ||
| % | ||
| % Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). | ||
| VISCOSITY_MODEL= SUTHERLAND | ||
| % | ||
| % Molecular Viscosity that would be constant (1.716E-5 by default) | ||
| MU_CONSTANT= 1.716E-5 | ||
| % | ||
| % 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 | ||
| % | ||
| % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% | ||
| % | ||
| %Navier-Stokes wall boundary marker(s) (NONE = no marker) | ||
| MARKER_HEATFLUX= (BLADE1, 0.0, BLADE2, 0.0, BLADE3, 0.0, HUB1, 0.0, SHROUD1, 0.0, HUB2, 0.0, SHROUD2, 0.0, HUB3, 0.0, SHROUD3, 0.0) | ||
| % | ||
| % Periodic boundary marker(s) (NONE = no marker) | ||
| % Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) | ||
| MARKER_PERIODIC= (PER1_STATOR1, PER2_STATOR1, 0.0, 0.0, 0.0, 0.0, 0.0, 8.7804878, 0.0, 0.0, 0.0, PER1_ROTOR, PER2_ROTOR, 0.0, 0.0, 0.0, 0.0, 0.0, 8.7804878, 0.0, 0.0, 0.0, PER1_STATOR2, PER2_STATOR2, 0.0, 0.0, 0.0, 0.0, 0.0, 8.7804878, 0.0, 0.0, 0.0) | ||
| % | ||
| % | ||
| %-------- INFLOW/OUTFLOW BOUNDARY CONDITION SPECIFIC FOR TURBOMACHINERY --------% | ||
| % | ||
| % Inflow and Outflow markers must be specified, for each blade (zone), following the natural groth of the machine (i.e, from the first blade to the last) | ||
| MARKER_TURBOMACHINERY= (INFLOW_STATOR1, OUTFLOW_STATOR1, INFLOW_ROTOR, OUTFLOW_ROTOR, INFLOW_STATOR2, OUTFLOW_STATOR2) | ||
| MARKER_ANALYZE = (INFLOW_STATOR1, OUTFLOW_STATOR2) | ||
| % Mixing-plane interface markers must be specified to activate the transfer of information between zones | ||
| MARKER_MIXINGPLANE_INTERFACE= (OUTFLOW_STATOR1, INFLOW_ROTOR, OUTFLOW_ROTOR, INFLOW_STATOR2) | ||
| % Mixing-plane interface markers must be specified to activate the transfer of information between zones | ||
| MARKER_ZONE_INTERFACE= (OUTFLOW_STATOR1, INFLOW_ROTOR, OUTFLOW_ROTOR, INFLOW_STATOR2) | ||
| % | ||
| % Non reflecting boundary condition for inflow, outfolw and mixing-plane | ||
| % Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure , Total Temperature, Flow dir-norm, Flow dir-tang, Flow dir-span, under-relax-avg, under-relax-fourier) | ||
| % Format outlet: ( marker, STATIC_PRESSURE, Static Pressure value, -, -, -, -, under-relax-avg, under-relax-fourier) | ||
| % Format mixing-plane in and out: ( marker, MIXING_IN or MIXING_OUT, -, -, -, -, -, -, under-relax-avg, under-relax-fourier) | ||
| MARKER_GILES= (INFLOW_STATOR1, TOTAL_CONDITIONS_PT, 158245.38, 308.26, 1.0, 0.0, 0.0, 0.3, 0.0, OUTFLOW_STATOR1, MIXING_OUT, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, INFLOW_ROTOR, MIXING_IN, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, OUTFLOW_ROTOR, MIXING_OUT, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, INFLOW_STATOR2, MIXING_IN, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, OUTFLOW_STATOR2, STATIC_PRESSURE_1D, 110050.96, 0.0, 0.0, 0.0, 0.0 , 1.0, 0.0) | ||
| SPATIAL_FOURIER= NO | ||
| % | ||
| % This option insert an extra under relaxation factor for the Giles BC at the hub and shroud levels | ||
| GILES_EXTRA_RELAXFACTOR= (0.05, 0.05) | ||
| % | ||
| %---------------------------- TURBOMACHINERY SIMULATION -----------------------------% | ||
| % | ||
| % Format: (marker) | ||
| % If the ROTATING_FRAME option is activated, this option force | ||
| % the velocity on the boundaries specified to 0.0 | ||
| MARKER_SHROUD= (SHROUD1, SHROUD2, SHROUD3) | ||
| % | ||
| % Specify kind of architecture (AXIAL, CENTRIPETAL, CENTRIFUGAL, CENTRIPETAL_AXIAL) | ||
| TURBOMACHINERY_KIND= AXIAL AXIAL AXIAL | ||
| % | ||
| % Uncomment to work with new_turbo_outputs | ||
| TURBO_PERF_KIND= (TURBINE, TURBINE, TURBINE) | ||
| % | ||
| % Specify kind of interpolation for the mixing-plane (LINEAR_INTERPOLATION, NEAREST_SPAN, MATCHING) | ||
| MIXINGPLANE_INTERFACE_KIND= LINEAR_INTERPOLATION | ||
| % | ||
| % Specify option for turbulent mixing-plane (YES, NO) default NO | ||
| TURBULENT_MIXINGPLANE= YES | ||
| % | ||
| % Specify ramp option for Outlet pressure (YES, NO) default NO | ||
| RAMP_OUTLET_PRESSURE= NO | ||
| % | ||
| % Parameters of the outlet pressure ramp (starting outlet pressure, updating-iteration-frequency, total number of iteration for the ramp) | ||
| RAMP_OUTLET_PRESSURE_COEFF= (140000.0, 10.0, 2000) | ||
| % | ||
| % Specify Kind of average process for linearizing the Navier-Stokes equation at inflow and outflow BC included mixing-plane | ||
| % (ALGEBRAIC, AREA, MASSSFLUX, MIXEDOUT) default AREA | ||
| AVERAGE_PROCESS_KIND= MIXEDOUT | ||
| % | ||
| % Specify Kind of average process for computing turbomachienry performance parameters | ||
| % (ALGEBRAIC, AREA, MASSSFLUX, MIXEDOUT) default AREA | ||
| 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 | ||
| AVERAGE_MACH_LIMIT= 0.03 | ||
| % | ||
| % | ||
| % ------------------------ SURFACES IDENTIFICATION ----------------------------% | ||
| % | ||
| % Marker(s) of the surface in the surface flow solution file | ||
| MARKER_PLOTTING= (BLADE1, BLADE2, BLADE3) | ||
| MARKER_MONITORING= (BLADE1, BLADE2, BLADE3) | ||
| % | ||
| % ------------- 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= 10 | ||
| % | ||
| % 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.3, 1.2, 1.0, 10.0) | ||
| % | ||
| % | ||
| % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% | ||
| % | ||
| % Linear solver or smoother for implicit formulations | ||
| LINEAR_SOLVER= FGMRES | ||
| % | ||
| % Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) | ||
| 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= 15 | ||
| % | ||
| % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% | ||
| % | ||
| % Coefficient for the limiter | ||
| VENKAT_LIMITER_COEFF= 0.01 | ||
| % | ||
| % Freeze the value of the limiter after a number of iterations | ||
| LIMITER_ITER= 999999 | ||
| % | ||
| % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% | ||
| % | ||
| % Convective numerical method | ||
| CONV_NUM_METHOD_FLOW= ROE | ||
| ENTROPY_FIX_COEFF= 0.001 | ||
| % | ||
| JST_SENSOR_COEFF= ( 0.5, 0.25 ) | ||
| % Spatial numerical order integration | ||
| MUSCL_FLOW= NO | ||
| % | ||
| % Slope limiter (VENKATAKRISHNAN, VAN_ALBADA) | ||
| SLOPE_LIMITER_FLOW= VENKATAKRISHNAN | ||
| % | ||
| % | ||
| % 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 | ||
| % | ||
| % Spatial numerical order integration | ||
| MUSCL_TURB= NO | ||
| % | ||
| % Slope limiter (VENKATAKRISHNAN, MINMOD) | ||
| SLOPE_LIMITER_TURB= VENKATAKRISHNAN | ||
| % | ||
| % Time discretization (EULER_IMPLICIT) | ||
| TIME_DISCRE_TURB= EULER_IMPLICIT | ||
| % | ||
| % Reduction factor of the CFL coefficient in the turbulence problem | ||
| CFL_REDUCTION_TURB= 0.1 | ||
| % | ||
| % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% | ||
| % | ||
| % Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, | ||
| % FFD_SETTING, FFD_NACELLE | ||
| % FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST | ||
| % FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, | ||
| % HICKS_HENNE, SURFACE_BUMP) | ||
| DV_KIND= NO_DEFORMATION | ||
| % | ||
| % Marker of the surface in which we are going apply the shape deformation | ||
| DV_MARKER= (BLADE1, BLADE2, BLADE3) | ||
| % | ||
| % Parameters of the shape deformation | ||
| DV_PARAM= ( 1, 0.5) | ||
| % | ||
| % Value of the shape deformation | ||
| DV_VALUE= 0.01 | ||
| % | ||
| % --------------------------- CONVERGENCE PARAMETERS --------------------------% | ||
| % | ||
| % Number of total iterations | ||
| OUTER_ITER=10 | ||
| % | ||
| % Convergence criteria (CAUCHY, RESIDUAL) | ||
| CONV_FIELD=RMS_ENERGY[0] | ||
| % | ||
| % Min value of the residual (log10 of the residual) | ||
| CONV_RESIDUAL_MINVAL= -12 | ||
| % | ||
| % Start convergence criteria at iteration number | ||
| CONV_STARTITER= 10 | ||
| % | ||
| % Screen output fields (use 'SU2_CFD -d <config_file>' to view list of available fields) | ||
| SCREEN_OUTPUT= (OUTER_ITER, RMS_DENSITY[0], RMS_DENSITY[1], RMS_DENSITY[2], RMS_MOMENTUM-X[0], RMS_MOMENTUM-Y[0], RMS_ENERGY[0]) | ||
| % | ||
| % History output groups (use 'SU2_CFD -d <config_file>' to view list of available fields) | ||
| HISTORY_OUTPUT= (ITER, RMS_RES, TURBO_PERF) | ||
| % | ||
| % Volume output fields/groups (use 'SU2_CFD -d <config_file>' to view list of available fields) | ||
| VOLUME_OUTPUT= (COORDINATES, SOLUTION, PRIMITIVE, TURBOMACHINERY, RESIDUAL, LIMITER, VORTEX_IDENTIFICATION) | ||
| % | ||
| OUTPUT_FILES= (TECPLOT_ASCII, SURFACE_TECPLOT_ASCII, RESTART) | ||
| % | ||
| % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% | ||
| % | ||
| % Mesh input file | ||
| MESH_FILENAME= Aachen_3D_41_blade_coarse.su2 | ||
| % | ||
| % Mesh input file format | ||
| MESH_FORMAT= SU2 | ||
| % | ||
| % Mesh output file | ||
| MESH_OUT_FILENAME= Aachen_3D_41_blade_coarse.su2 | ||
| % | ||
| % Restart flow input file | ||
| SOLUTION_FILENAME= restart_flow.dat | ||
| % | ||
| % Restart adjoint input file | ||
| SOLUTION_ADJ_FILENAME= restart_adj.dat | ||
| % | ||
| % Output file format | ||
| TABULAR_FORMAT= TECPLOT | ||
| % | ||
| % 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 | ||
| OUTPUT_WRT_FREQ= 500 | ||
| % | ||
| % Writing convergence history frequency | ||
| HISTORY_WRT_FREQ_OUTER= 1 | ||
| WRT_ZONE_HIST = YES |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.