@@ -3391,7 +3391,8 @@ cdef class ShockSolver:
33913391 p0 : float
33923392 Unshocked pressure in bar
33933393 u1 : float, optional
3394- Shock velocity in m/s (mutually exclusive with Mach1)
3394+ Incident wave speed relative to the stationary unshocked gas in m/s
3395+ (mutually exclusive with Mach1)
33953396 Mach1 : float, optional
33963397 Shock Mach number (mutually exclusive with u1)
33973398 reflected : bool, default True
@@ -3453,7 +3454,12 @@ cdef class ShockSolution:
34533454 Solution object containing shock wave calculation results.
34543455
34553456 Stores shock properties at initial, incident, and optionally
3456- reflected shock states.
3457+ reflected shock states (legacy stations 1, 2, and 5).
3458+
3459+ Gas speeds and Mach numbers use the incident-shock frame at stations 1
3460+ and 2 and the reflected-shock frame at station 5; they do not share a
3461+ single laboratory frame. The unshocked gas and reflecting wall are at
3462+ rest in the laboratory frame.
34573463
34583464 Parameters
34593465 ----------
@@ -3509,7 +3515,13 @@ cdef class ShockSolution:
35093515
35103516 property velocity :
35113517 """
3512- Velocity at each shock state in m/s.
3518+ Gas speed in m/s, in each station's shock frame.
3519+
3520+ Entries 0 and 1 are upstream/downstream speeds relative to the incident
3521+ shock. Entry 2 is downstream speed relative to the reflected shock.
3522+ Reflected downstream gas is stationary at the wall, so entry 2 also
3523+ equals the magnitude of the reflected wave speed in the wall frame.
3524+ The upstream reflected-frame gas speed is ``u5_p_v2``, not entry 1.
35133525
35143526 Returns
35153527 -------
@@ -3521,7 +3533,12 @@ cdef class ShockSolution:
35213533
35223534 property Mach :
35233535 """
3524- Mach number at each shock state.
3536+ Gas Mach number: ``velocity / sonic_velocity`` at each shock state.
3537+
3538+ Uses the incident-shock frame for entries 0 and 1 and the reflected-shock
3539+ frame for entry 2. Entry 2 is neither a wall-frame gas Mach number (zero)
3540+ nor the upstream reflected-shock Mach number. See ``sonic_velocity``
3541+ for the retained reflected-frozen sound-speed convention.
35253542
35263543 Returns
35273544 -------
@@ -3533,7 +3550,14 @@ cdef class ShockSolution:
35333550
35343551 property sonic_velocity :
35353552 """
3536- Sonic velocity at each shock state in m/s.
3553+ Reported sound speed in m/s: ``sqrt(R * T * gamma_s / M)``.
3554+
3555+ Initial and incident-frozen states use frozen heat capacities;
3556+ equilibrium states use the equilibrium isentropic exponent.
3557+ For compatibility, reflected-frozen output uses the incident state's
3558+ frozen heat-capacity basis and molecular weight at the reflected
3559+ temperature. This legacy convention can differ from the local frozen
3560+ sound speed for a gas with temperature-dependent heat capacities.
35373561
35383562 Returns
35393563 -------
@@ -3545,7 +3569,7 @@ cdef class ShockSolution:
35453569
35463570 property rho12 :
35473571 """
3548- Density ratio across the incident shock (ρ2/ρ1 ).
3572+ Density ratio across the incident shock (ρ1/ρ2 ).
35493573
35503574 Returns
35513575 -------
@@ -3617,43 +3641,48 @@ cdef class ShockSolution:
36173641
36183642 property M21 :
36193643 """
3620- Mach number ratio across the incident shock (M2/M1).
3644+ Molecular-weight ratio across the incident shock (M2/M1), not a Mach ratio .
36213645
36223646 Returns
36233647 -------
36243648 float
3625- Mach number ratio across the incident shock
3649+ Legacy CEA2 molecular-weight ratio across the incident shock
36263650 """
36273651 def __get__ (self ):
36283652 return self ._get_scalar_property(SHOCK_M21)
36293653
36303654 property M52 :
36313655 """
3632- Mach number ratio across the reflected shock (M5/M2).
3656+ Molecular-weight ratio across the reflected shock (M5/M2), not a Mach ratio .
36333657
36343658 Returns
36353659 -------
36363660 float
3637- Mach number ratio across the reflected shock
3661+ Legacy CEA2 molecular-weight ratio across the reflected shock
36383662 """
36393663 def __get__ (self ):
36403664 return self ._get_scalar_property(SHOCK_M52)
36413665
36423666 property v2 :
36433667 """
3644- Velocity at the incident shock state in m/s.
3668+ Station-2 gas speed in the wall/unshocked-gas frame in m/s.
3669+
3670+ Equals ``velocity[0] - velocity[1]``; this is not a shock wave speed.
36453671
36463672 Returns
36473673 -------
36483674 float
3649- Velocity at the incident shock state
3675+ Gas speed behind the incident shock relative to the wall
36503676 """
36513677 def __get__ (self ):
36523678 return self ._get_scalar_property(SHOCK_V2)
36533679
36543680 property u5_p_v2 :
36553681 """
3656- Velocity of the reflected shock wave in m/s.
3682+ Upstream gas speed relative to the reflected shock in m/s.
3683+
3684+ Equals ``velocity[2] + v2``. This is also the reflected wave speed
3685+ relative to station-2 gas, not the wave speed relative to the wall.
36573686
36583687 Returns
36593688 -------
0 commit comments