Skip to content

Commit 08b3b73

Browse files
committed
Validate riemann_solver: require explicit value, remove unimplemented option 3
- case_validator.py: prohibit None riemann_solver (was silently ignored), restrict valid choices to [1,2,4,5], update wave_speeds/avg_state dependency checks accordingly - definitions.py: remove riemann_solver=3 (Exact) from choices and value_labels since it has never been implemented and silently dispatched nothing at runtime Fixes #1410
1 parent b3fcc2a commit 08b3b73

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

toolchain/mfc/case_validator.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -673,16 +673,16 @@ def check_riemann_solver(self):
673673
cyl_coord = self.get("cyl_coord", "F") == "T"
674674
viscous = self.get("viscous", "F") == "T"
675675

676+
self.prohibit(riemann_solver is None, "riemann_solver must be specified (1=HLL, 2=HLLC, 4=HLLD, 5=Lax-Friedrichs)")
676677
if riemann_solver is None:
677678
return
678679

679-
self.prohibit(riemann_solver < 1 or riemann_solver > 5, "riemann_solver must be 1, 2, 3, 4 or 5")
680+
self.prohibit(riemann_solver not in [1, 2, 4, 5], "riemann_solver must be 1 (HLL), 2 (HLLC), 4 (HLLD), or 5 (Lax-Friedrichs)")
680681
self.prohibit(riemann_solver != 2 and model_eqns == 3, "6-equation model (model_eqns = 3) requires riemann_solver = 2 (HLLC)")
681682
self.prohibit(wave_speeds is not None and wave_speeds not in [1, 2], "wave_speeds must be 1 or 2")
682-
self.prohibit(riemann_solver == 3 and wave_speeds is not None, "Exact Riemann (riemann_solver = 3) does not support wave_speeds")
683683
self.prohibit(avg_state is not None and avg_state not in [1, 2], "avg_state must be 1 or 2")
684-
self.prohibit(riemann_solver not in [3, 5] and wave_speeds is None, "wave_speeds must be set if riemann_solver != 3,5")
685-
self.prohibit(riemann_solver not in [3, 5] and avg_state is None, "avg_state must be set if riemann_solver != 3,5")
684+
self.prohibit(riemann_solver != 5 and wave_speeds is None, "wave_speeds must be set for riemann_solver 1, 2, or 4")
685+
self.prohibit(riemann_solver != 5 and avg_state is None, "avg_state must be set for riemann_solver 1, 2, or 4")
686686
self.prohibit(low_Mach not in [0, 1, 2], "low_Mach must be 0, 1, or 2")
687687
self.prohibit(riemann_solver != 2 and low_Mach == 2, "low_Mach = 2 requires riemann_solver = 2")
688688
self.prohibit(low_Mach != 0 and model_eqns not in [2, 3], "low_Mach = 1 or 2 requires model_eqns = 2 or 3")

toolchain/mfc/params/definitions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -623,8 +623,8 @@ def get_value_label(param_name: str, value: int) -> str:
623623
},
624624
# Riemann solver
625625
"riemann_solver": {
626-
"choices": [1, 2, 3, 4, 5],
627-
"value_labels": {1: "HLL", 2: "HLLC", 3: "Exact", 4: "HLLD", 5: "Lax-Friedrichs"},
626+
"choices": [1, 2, 4, 5],
627+
"value_labels": {1: "HLL", 2: "HLLC", 4: "HLLD", 5: "Lax-Friedrichs"},
628628
},
629629
"wave_speeds": {
630630
"choices": [1, 2],

0 commit comments

Comments
 (0)