Motivation: Validating numerical schemes against classical analytical problems is an essential step to ensure the reliability of CFD.
pyHiVAS is a CFD code designed for solving complex high-speed compressible flows and shock wave phenomena.
Sod Shock Tube Problem
*Contributor: Jeong Joon Lee (Mar 2026)*
We consider the classic 1-dimensional Riemann problem for ideal gas, widely used as a common test for the accuracy of CFD codes like Riemann solvers. By solving the Euler equations, it describes the propagation speed of the rarefaction wave, the contact discontinuity, and the shock discontinuity.
Geometry: 1-D shock tube (pipe with rectangular cross-section) split into two parts by a diaphragm.
Initial conditions (at t = 0s):
High Pressure side (Zone 4, Left): ρ_4=5.7487 [kg/m^3 ],P_4=500,000 [Pa],T_4=303 [K],V_4=0 [m/s]
Low Pressure side (Zone 1, Right): ρ_4=0.22995 [kg/m^3 ],P_4=20,000 [Pa],T_4=303 [K],V_4=0 [m/s]
Gas properties:
Ratio of specific heats (γ) = 1.4
Specific gas constant (R) = 287.049 [J/(kg∙K)]
Analytical Solution Results (at t = 0.4ms):
Pressure (P_2) = 80,941.1 [Pa]
Velocity (V_2) = 399.628 [m/s]
Density (ρ_2) = 399.628 [kg/m^3]
Temperature (T_2) = 487.308 [K]
Mach 2.0 Supersonic Expansion Corner
*Contributor: Jeong Joon Lee (Mar 2026)*
We consider the classical high-speed aerodynamics problem of a supersonic flow as it encounters a 10-degree downward expansion corner. This case is used to study the formation and behavior of the expansion wave originating at the corner.
Geometry: 2-D expansion corner with a 10-degree downward slope
Free-stream conditions:
Mach number = 2.0
Mach 2.0 Supersonic Compression Wedge
*Contributor: Jeong Joon Lee (Mar 2026)*
We consider the classical high-speed aerodynamics problem of a supersonic flow as it encounters a 10-degree upward-sloping wedge. This case is used to study the formation and behavior of the oblique shock wave originating at the leading edge of the wedge.
Geometry: 2-D compression wedge with a 10-degree upward slope
Free-stream conditions:
Mach number = 2.0