Link Search Menu Expand Document

Compressible Aerodynamics Calculator

Solve isentropic flow, normal shock, oblique shock, Fanno flow, and Rayleigh flow relations quickly and easily. See sample implementations in Python, JavaScript, MATLAB, and C++. This calculator is based on Virginia Tech’s Compressible Aerodynamics Calculator.

Isentropic Flow Relations

Information about isentropic flow relations.


  • $$ \mu = \frac{1}{\sin^{-1}(M)} $$ $$ \nu = \sqrt{\frac{\gamma + 1}{\gamma - 1}} \cdot \tan^{-1}\left( \sqrt{\frac{\gamma - 1}{\gamma + 1} (M^2 - 1) } \right) - \tan^{-1}\left( \sqrt{ (M^2 - 1) } \right) $$ $$ \frac{p}{p_0} = \left( 1 + \frac{\gamma - 1}{2} M^2 \right) ^ {-\frac{\gamma}{\gamma - 1}} $$ $$ \frac{\rho}{\rho_0} = \left( 1 + \frac{\gamma - 1}{2} M^2 \right) ^ {-\frac{1}{\gamma - 1}} $$ $$ \frac{T}{T_0} = \left( 1 + \frac{\gamma - 1}{2} M^2 \right) ^ {-1} $$ $$ \frac{p}{p^*} = \left( \frac{2 + (\gamma - 1) M^2}{\gamma + 1} \right) ^ {-\frac{\gamma}{\gamma - 1}} $$ $$ \frac{\rho}{\rho^*} = \left( \frac{2 + (\gamma - 1) M^2}{\gamma + 1} \right) ^ {-\frac{1}{\gamma - 1}} $$ $$ \frac{T}{T^*} = \frac{\gamma + 1}{2 + (\gamma - 1) M^2} $$ $$ \frac{A}{A^*} = \left( \frac{\gamma + 1}{2} \right) ^ {-\frac{\gamma + 1}{2(\gamma - 1)}} \cdot \left( \frac{1 + \frac{\gamma - 1}{2} M^2}{M} \right) ^ {\frac{\gamma + 1}{2(\gamma - 1)}} $$
  • import math
    
    M = 2.0  # Mach Number
    
    mach_angle = math.degrees(math.asin(1 / M))
    print(f'The Mach angle at M = { M } is { mach_angle } degrees.')
    
  • var M = 2.0;  // Mach Number
    
    mach_angle = Math.asin(1 / M) * 180 / Math.PI;
    console.log('The Mach angle at M = ' + M + ' is ' + mach_angle + ' degrees.');
    
  • M = 2.0;  % Mach Number
    
    mach_angle = asind(1 / M);
    fprintf('The Mach angle at M = %f is %f degrees.', M, mach_angle)
    
  • #include <stdio.h>      /* printf */
    #include <math.h>       /* asin */
    
    #define PI 3.14159265
    
    int main ()
    {
      double M = 0.5;  // Mach Number
      double mach_angle = asin(1 / M) * 180.0 / PI;
      printf ("The Mach angle at M = %f is %f degrees.\n", M, mach_angle);
      return 0;
    }