Skip to content

TestCases configs that fail to parse on develop #2898

Description

@Syphonicc

Describe the bug

A number of configs under TestCases/ cannot be parsed by current develop.
They abort in CConfig::SetConfig_Parsing with invalid option name or
invalid option value. This happens before the mesh is read, so they fail
immediately for anyone who tries to run them. The expected behaviour is that a
config shipped in TestCases/ runs with the version of SU2 it ships with.

None of the affected files are registered in serial_regression.py or
parallel_regression.py, which is why CI does not catch this. @bigfooted
already noted in #2524 that some testcases are not regression tested; this is
the full extent of it for the parse-failure category.

Reproducing. No mesh from the TestCases repository is needed, since parsing
fails before the mesh is opened. From the root of the SU2 repo:

find TestCases -name '*.cfg' | while read c; do
  (cd "$(dirname $c)" && SU2_CFD "$(basename $c)" 2>&1 |
     grep -q 'SetConfig_Parsing' && echo "$c")
done

Smallest single example:

cd TestCases/turbomachinery/centrifugal_blade
SU2_CFD centrifugal_blade.cfg

gives

Line 61 MARKER_NRBC: invalid option name. Check current SU2 options in config_template.cfg.
...
GRID_MOVEMENT: invalid option value YES.
------------------------------ Error Exit -------------------------------

Affected files (excluding those already covered by #2874, #2865 and #2866):

cont_adj_rans/oneram6/turb_ONERAM6.cfg
fea_fsi/SquareCyl_Beam/config.cfg
incomp_rans/AhmedBody/turb_ahmed.cfg
optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg
optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg
optimization_euler/rotating_naca0012/rotating_NACA0012.cfg
optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg
optimization_rans/pitching_oneram6/turb_ONERAM6.cfg
optimization_rans/steady_oneram6/turb_ONERAM6.cfg
pastix_support/config.cfg
rans/s809/trans_s809.cfg
rans/vki_turbine/turb_vki.cfg
transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg
transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg
turbomachinery/centrifugal_blade/centrifugal_blade.cfg
turbomachinery/centrifugal_stage/centrifugal_stage.cfg

The options involved group into a few API changes:

Group Options Likely action
Iteration control EXT_ITER, UNST_TIME, UNST_INT_ITER rename
Grid movement GRID_MOVEMENT_KIND, ROTATION_RATE_X/Y/Z, MOTION_ORIGIN_X/Y/Z, PITCHING_OMEGA_X/Y/Z, PITCHING_AMPL_X/Y/Z, GRID_MOVEMENT= YES vectorised form
Turbomachinery markers MARKER_NRBC, MARKER_MIXINGPLANE, MIXING_PROCESS_TYPE, MARKER_TURBO_PERFORMANCE rename, needs checking
FSI FSI_* family, *_STRUCTURE_FILENAME, NONLINEAR_FEM_INT_ITER, CONV_RESIDUAL_MINVAL_FSI, SOLVER= FLUID_STRUCTURE_INTERACTION removed API — not a rename
Misc REF_LENGTH_MOMENT, FROZEN_VISC, GEO_AXIS_STATIONS, GEO_WING_BOUNDS, SOLUTION_LIN_FILENAME, RESTART_LIN_FILENAME, SURFACE_LIN_FILENAME rename or drop

The iteration-control, grid-movement and misc groups look like straightforward
renames. The FSI group is different: SOLVER= FLUID_STRUCTURE_INTERACTION is no
longer a valid solver value, so fea_fsi/SquareCyl_Beam/config.cfg may need to
be removed rather than updated.

Related, not a parse error. nicf/LS89/turb_SST_PR.cfg sets SOLVER= NAVIER_STOKES with KIND_TURB_MODEL= SST, which has been rejected in
SetPostprocessing since 2019 (f30a8bf). It parses but aborts at startup. Same
root cause — a config that no longer matches the API and is not regression
tested.

I would like to start working on this. I would rather be pointed at the right
part of it than pick for myself:

  1. Which group would you like done first? The grid-movement and
    iteration-control renames are the most mechanical and I can verify those
    locally. The turbomachinery markers I am less sure about.
  2. For configs using a removed feature (FSI_*, SOLVER= FLUID_STRUCTURE_INTERACTION), should they be deleted, or is the feature
    reachable under a different solver name?
  3. Should these be registered in the regression scripts as part of the same PR,
    or separately? From Test cases unsteady does not work #2524 and Update deprecated EXT_ITER option in test configs #2866 I am aware that a config which merely
    parses is not the same as one that converges usefully, and the second part is
    the slower one.
    Happy to work through it in small PRs in whatever order suits review.

Bug report checklist

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions