Skip to main content

subsonic_pressure_drag_coefficient

Function subsonic_pressure_drag_coefficient 

Source
pub fn subsonic_pressure_drag_coefficient(
    c_rest: f64,
    c_low: f64,
    slope_low: f64,
    mach_low: f64,
    mach: f64,
) -> Result<f64, AeroError>
Expand description

Niskanen’s eq. 3.87 between Mach 0 and the transonic method’s lower bound M_L: (C_D•)_p = a M^b + (C_D•)_p,0, with a and b “computed to fit the drag coefficient and its derivative at the lower bound of the transonic method” (Niskanen 2009 p. 48): b = C_T′(M_L) M_L/Δ and a = Δ/M_L^b, where Δ = C_T(M_L) − (C_D•)_p,0.

Niskanen assumes the curve “non-decreasing in the subsonic region” with zero slope at rest, which needs Δ > 0 and a positive slope (and b > 1 for the zero slope). Where Δ ≤ 0 or the slope isn’t positive, no a M^b meets both conditions, and hpr uses (C_D•)_p,0 + Δ (M/M_L)² instead: continuous in value, flat at rest, with a kink at M_L (ADR-028). It arises only for small coefficients: a joint that isn’t smooth on a shape whose measured curve is still near 0 at M_L.

c_rest is (C_D•)_p,0, c_low and slope_low the value and slope at mach_low.

§Errors

AeroError::Domain for a Mach number outside [0, mach_low], a non-positive mach_low or non-finite coefficients.