From a60faaa586c80f4e4f4e0dca998c9c85bb3a7bf0 Mon Sep 17 00:00:00 2001 From: Syphonicc Date: Sun, 9 Aug 2026 09:02:48 +0530 Subject: [PATCH 1/2] Update biparabolic Euler case and add to serial regression tests - Replace deprecated EXT_ITER with ITER - Fix swapped CFL_ADAPT_PARAM values (factor-down must be < 1.0) - Switch from JST to ROE with MUSCL and Venkatakrishnan limiter for better robustness at Mach 1.7 - Remove unused adjoint, design-variable, and equivalent-area settings - Disable multigrid and add case to serial_regression.py --- TestCases/euler/biparabolic/BIPARABOLIC.cfg | 63 ++++----------------- TestCases/serial_regression.py | 8 +++ 2 files changed, 20 insertions(+), 51 deletions(-) diff --git a/TestCases/euler/biparabolic/BIPARABOLIC.cfg b/TestCases/euler/biparabolic/BIPARABOLIC.cfg index 5b932b272bf..f6cf9194d96 100644 --- a/TestCases/euler/biparabolic/BIPARABOLIC.cfg +++ b/TestCases/euler/biparabolic/BIPARABOLIC.cfg @@ -30,84 +30,45 @@ REF_ORIGIN_MOMENT_Z = 0.00 REF_LENGTH= 1.0 REF_AREA= 1.0 -% ------------------------ SUPERSONIC SIMULATION ------------------------------% -% -EQUIV_AREA= YES -EA_INT_LIMIT= ( -100.0, 100.0, 2.0 ) - % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % MARKER_EULER= ( airfoil ) -MARKER_FAR= ( farfield ) -MARKER_NEARFIELD= ( upper_nearfield, lower_nearfield ) +MARKER_FAR= ( farfield, upper_nearfield, lower_nearfield ) MARKER_PLOTTING= ( airfoil ) -MARKER_MONITORING= ( airfoil, upper_nearfield ) +MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 25.0 -CFL_ADAPT= NO -CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -EXT_ITER= 99999999 +CFL_NUMBER= 2.0 +CFL_ADAPT= YES +CFL_ADAPT_PARAM= ( 0.5, 1.5, 1.0, 50.0 ) +ITER= 25 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -MGLEVEL= 3 -MGCYCLE= V_CYCLE -MG_PRE_SMOOTH= ( 4, 4, 4, 4 ) -MG_POST_SMOOTH= ( 4, 4, 4, 4 ) -MG_CORRECTION_SMOOTH= ( 1, 1, 1, 1 ) -MG_DAMP_RESTRICTION= 0.5 -MG_DAMP_PROLONGATION= 0.5 +MGLEVEL= 0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -CONV_NUM_METHOD_FLOW= JST -VENKAT_LIMITER_COEFF= 0.03 -JST_SENSOR_COEFF= ( 0.5, 0.02 ) +CONV_NUM_METHOD_FLOW= ROE +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 0.05 TIME_DISCRE_FLOW= EULER_IMPLICIT -% ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% -OBJECTIVE_FUNCTION= EQUIVALENT_AREA -CONV_NUM_METHOD_ADJFLOW= JST -ADJ_SHARP_LIMITER_COEFF= 3.0 -ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -CFL_REDUCTION_ADJFLOW= 0.8 -TIME_DISCRE_ADJFLOW= EULER_IMPLICIT - -% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% -DV_KIND= PARABOLIC -DV_MARKER= ( airfoil ) -DV_PARAM= ( 0.5, 5 ) -DV_VALUE= 0.01 -HOLD_GRID_FIXED= YES -HOLD_GRID_FIXED_COORD= ( -0.2, -0.4, 0.0, 2.2, 0.4, 0.0 ) - % --------------------------- CONVERGENCE PARAMETERS --------------------------% % CONV_RESIDUAL_MINVAL= -6 CONV_STARTITER= 10 -CONV_CAUCHY_ELEMS= 100 -CONV_CAUCHY_EPS= 1E-10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= mesh_BIPARABOLIC_sup.su2 MESH_FORMAT= SU2 -MESH_OUT_FILENAME= mesh_out -SOLUTION_FILENAME= solution_flow -SOLUTION_ADJ_FILENAME= solution_adj TABULAR_FORMAT= CSV CONV_FILENAME= history RESTART_FILENAME= restart_flow -RESTART_ADJ_FILENAME= restart_adj VOLUME_FILENAME= volume_flow -VOLUME_ADJ_FILENAME= volume_adjoint -GRAD_OBJFUNC_FILENAME= of_grad SURFACE_FILENAME= surface_flow -SURFACE_ADJ_FILENAME= surface_adjoint -OUTPUT_WRT_FREQ= 100 +OUTPUT_WRT_FREQ= 500 diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 8adb14300f3..45e2ca7ddff 100755 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -112,6 +112,14 @@ def main(): wedge.test_vals = [-3.701409, 2.023011, -0.249531, 0.043953] test_list.append(wedge) + # Supersonic biparabolic airfoil + biparabolic = TestCase('biparabolic') + biparabolic.cfg_dir = "euler/biparabolic" + biparabolic.cfg_file = "BIPARABOLIC.cfg" + biparabolic.test_iter = 25 + biparabolic.test_vals = [-2.361982, 0.302507, 0.106995, 3.211885] + test_list.append(biparabolic) + # ONERA M6 Wing oneram6 = TestCase('oneram6') oneram6.cfg_dir = "euler/oneram6" From 36348f4e792ce97030e652c2f03f1e58a45b6011 Mon Sep 17 00:00:00 2001 From: Syphonicc Date: Sun, 9 Aug 2026 17:09:34 +0530 Subject: [PATCH 2/2] Restore adjoint settings, disable nearfield/EA for direct solve, update test_vals - Restore adjoint, DV, and adjoint I/O settings (inert in DIRECT runs) - Keep EQUIV_AREA and MARKER_NEARFIELD commented out: enabling them gives 760 non-physical points and rms[Rho] +3.4 instead of -3.9 - Update test_vals to CI-computed values --- TestCases/euler/biparabolic/BIPARABOLIC.cfg | 41 +++++++++++++++++++++ TestCases/serial_regression.py | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/TestCases/euler/biparabolic/BIPARABOLIC.cfg b/TestCases/euler/biparabolic/BIPARABOLIC.cfg index f6cf9194d96..492e0155c40 100644 --- a/TestCases/euler/biparabolic/BIPARABOLIC.cfg +++ b/TestCases/euler/biparabolic/BIPARABOLIC.cfg @@ -45,10 +45,44 @@ CFL_ADAPT= YES CFL_ADAPT_PARAM= ( 0.5, 1.5, 1.0, 50.0 ) ITER= 25 +% ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% +% + +OBJECTIVE_FUNCTION= EQUIVALENT_AREA +CONV_NUM_METHOD_ADJFLOW= JST +ADJ_SHARP_LIMITER_COEFF= 3.0 +ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) +CFL_REDUCTION_ADJFLOW= 0.8 +TIME_DISCRE_ADJFLOW= EULER_IMPLICIT + +% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% +% + +DV_KIND= PARABOLIC +DV_MARKER= ( airfoil ) +DV_PARAM= ( 0.5, 5 ) +DV_VALUE= 0.01 +HOLD_GRID_FIXED= YES +HOLD_GRID_FIXED_COORD= ( -0.2, -0.4, 0.0, 2.2, 0.4, 0.0 ) + % -------------------------- MULTIGRID PARAMETERS -----------------------------% % + MGLEVEL= 0 +% ------------------------ SUPERSONIC SIMULATION ------------------------------% +% + +% Equivalent-area / nearfield setup for sonic-boom studies. Disabled for the +% direct solve: enabling these produces 760 non-physical points and rms[Rho] +% stalls at +3.4 instead of -3.9. Re-enable together with MARKER_NEARFIELD +% below (and remove those two markers from MARKER_FAR) for adjoint EA work. +% +% EQUIV_AREA= YES +% EA_INT_LIMIT= ( -100.0, 100.0, 2.0 ) +% MARKER_NEARFIELD= ( upper_nearfield, lower_nearfield ) + + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= ROE @@ -66,9 +100,16 @@ CONV_STARTITER= 10 % MESH_FILENAME= mesh_BIPARABOLIC_sup.su2 MESH_FORMAT= SU2 +MESH_OUT_FILENAME= mesh_out +SOLUTION_FILENAME= solution_flow +SOLUTION_ADJ_FILENAME= solution_adj TABULAR_FORMAT= CSV CONV_FILENAME= history RESTART_FILENAME= restart_flow +RESTART_ADJ_FILENAME= restart_adj VOLUME_FILENAME= volume_flow +VOLUME_ADJ_FILENAME= volume_adjoint +GRAD_OBJFUNC_FILENAME= of_grad SURFACE_FILENAME= surface_flow +SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 500 diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 45e2ca7ddff..dafc2d962a3 100755 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -117,7 +117,7 @@ def main(): biparabolic.cfg_dir = "euler/biparabolic" biparabolic.cfg_file = "BIPARABOLIC.cfg" biparabolic.test_iter = 25 - biparabolic.test_vals = [-2.361982, 0.302507, 0.106995, 3.211885] + biparabolic.test_vals = [-2.348749, 0.298540, 0.112150, 3.213351] test_list.append(biparabolic) # ONERA M6 Wing