# flowprandtlmeyer

Calculate Prandtl-Meyer functions for expansion waves

## Syntax

``` [mach, nu, mu] = flowprandtlmeyer(gamma, prandtlmeyer_array, mtype) ```

## Description

``` [mach, nu, mu] = flowprandtlmeyer(gamma, prandtlmeyer_array, mtype)``` calculates the following: array of Mach numbers, `mach`, Prandtl-Meyer angles (`nu` in degrees) and Mach angles (`mu` in degrees). `flowprandtlmeyer` calculates these arrays for a given set of specific heat ratios, `gamma`, and any one of the Prandtl-Meyer types. You select the Prandtl-Meyer type with `mtype`.

The function assumes that the flow is two-dimensional. The function also assumes a smooth and gradual change in flow properties through the expansion fan.

Note, this function assumes that the environment is a perfect gas. In the following instances, it cannot assume a perfect gas environment. If there is a large change in either temperature or pressure without a proportionally large change in the other, it cannot assume a perfect gas environment. If the stagnation temperature is above 1500 K, the function cannot assume constant specific heats. In this case, you must consider it a thermally perfect gas. See 2 for thermally perfect gas correction factors. The local static temperature might be so high that molecules dissociate and ionize (static temperature 5000 K for air). In this case, you cannot assume a calorically or thermally perfect gas.

## Input Arguments

`gamma`

Array of `N` specific heat ratios. `gamma` must be a scalar or array of `N` real numbers greater than 1. For subsonic area ratio input mode and supersonic area ratio input mode, `gamma` must be a real, finite scalar greater than 1.

`prandtlmeyer_array`

Array of real numerical values for one of the Prandtl-Meyer types. This argument can be one of the following:

• Array of Mach numbers. This array must be a scalar or an array of `N` real numbers greater than or equal to 0. If `prandtlmeyer_array` and `gamma` are arrays, they must be the same size.

Use `prandtlmeyer_array` with `mtype` value `'mach'`. Note, because `'mach'` is the default of `mtype`, `mtype` is optional when this array is the input mode.

• Scalar value for Prandtl-Meyer angle in degrees. This value is the angle change required for a Mach 1 flow to achieve a given Mach number after expansion. `prandtlmeyer_array` must be:

• Real scalar greater than or equal to 0 (at Mach number equal 1)

• Less than or equal to 90 * (sqrt((`gamma`+1)/(`gamma`-1)) - 1) (as the Mach number approaches infinity).

Use `prandtlmeyer_array` with `mtype` value `'nu'`.

• Array of Mach angles in degrees. These values are the angles between the flow direction and the lines of pressure disturbance caused by supersonic motion. The Mach angle is a function of Mach number only. `prandtlmeyer_array` must be a scalar or array of `N` real numbers that are:

• Greater than or equal to 0 (as the Mach number approaches infinity).

• Less than or equal to 90 (at Mach number equal 1).

Use `prandtlmeyer_array` with `mtype` value `'mu'`.

`mtype`

Isentropic flow variable represented by `prandtlmeyer_array`.

TypeDescription
`'mach'`Default. Mach number..
`'nu'`Prandtl-Meyer angle
`'mu' `Mach angle.

## Output Arguments

 `mach` Array of Mach numbers. In Prandtl-Meyer angle input mode, `mach` outputs are the same size as the array input or array inputs. If there are no array inputs, `mach` is a scalar. `nu` Array of Prandtl-Meyer angles. The Prandtl-Meyer angle is the angle change required for a Mach 1 flow to achieve a given Mach number after expansion. `mu` Array of Mach angles. The Mach angle is between the flow direction and the lines of pressure disturbance caused by supersonic motion.

## Examples

Calculate the Prandtl-Meyer relations for air (`gamma` = 1.4) for Prandtl-Meyer angle 61 degrees. The following returns a scalar for `mach`, `nu`, and `mu`.

`[mach, nu, mu] = flowprandtlmeyer(1.4, 61, 'nu')`

Calculate the Prandtl-Meyer functions for gases with specific heat ratios. The following yields a 1 x 4 array for `nu`, but only a scalar for `mach` and `mu`.

```gamma = [1.3, 1.33, 1.4, 1.67]; [mach, nu, mu] = flowprandtlmeyer(gamma, 1.5)```

Calculate the Prandtl-Meyer angles for a specific heat ratio of 1.4 and range of Mach angles from 40 degrees to 70 degrees. This example uses increments of 10 degrees. The following returns a 4 x 1 column array for `mach`, `nu`, and `mu`.

`[mach, nu, mu] = flowprandtlmeyer(1.4, (40:10:70)', 'mu')`

Calculate the Prandtl-Meyer relations for gases with specific heat ratio and Mach number combinations as shown. The following returns a 1 x 2 array for `nu` and `mu` each, where the elements of each vector correspond to the inputs element-wise.

```gamma = [1.3, 1.4]; prandtlmeyer_array = [1.13, 9]; [mach, nu, mu] = flowprandtlmeyer(gamma,prandtlmeyer_array)```

## References

1. James, J. E. A., Gas Dynamics, Second Edition, Allyn and Bacon, Inc, Boston, 1984.

2. NACA Technical Report 1135, 1953, National Advisory Committee on Aeronautics, Ames Research Staff, Moffett Field, Calif. Pages 667–671. 