Isentropic Flow

pygasflow.isentropic.get_ratios_from_mach(M, gamma)[source]

Compute all isentropic ratios given the Mach number.

Parameters
Marray_like

Mach number

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
prarray_like

Pressure Ratio \(\frac{P}{P_{0}}\)

drarray_like

Density Ratio \(\frac{\rho}{\rho_{0}}\)

trarray_like

Temperature Ratio \(\frac{T}{T_{0}}\)

prsarray_like

Critical Pressure Ratio \(\frac{P}{P^{*}}\)

drsarray_like

Critical Density Ratio \(\frac{\rho}{\rho^{*}}\)

trsarray_like

Critical Temperature Ratio \(\frac{T}{T^{*}}\)

ursarray_like

Critical Velocity Ratio \(\frac{U}{U^{*}}\)

ararray_like

Critical Area Ratio \(\frac{A}{A^{*}}\)

maarray_like

Mach Angle

pmarray_like

Prandtl-Meyer Angle

pygasflow.isentropic.critical_velocity_ratio(M, gamma=1.4)[source]

Compute the critical velocity ratio \(\frac{U}{U^{*}}\).

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Critical velocity ratio \(\frac{U}{U^{*}}\).

pygasflow.isentropic.critical_temperature_ratio(M, gamma=1.4)[source]

Compute the critical temperature ratio \(\frac{T}{T^{*}}\).

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Critical Temperature ratio \(\frac{T}{T^{*}}\).

pygasflow.isentropic.critical_pressure_ratio(M, gamma=1.4)[source]

Compute the critical pressure ratio \(\frac{P}{P^{*}}\).

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Critical Pressure ratio \(\frac{P}{P^{*}}\).

pygasflow.isentropic.critical_density_ratio(M, gamma=1.4)[source]

Compute the critical density ratio \(\frac{\rho}{\rho^{*}}\).

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Critical density ratio \(\frac{\rho}{\rho^{*}}\).

pygasflow.isentropic.critical_area_ratio(M, gamma=1.4)[source]

Compute the critical area ratio \(\frac{A}{A^{*}}\).

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Critical area ratio \(\frac{A}{A^{*}}\).

pygasflow.isentropic.pressure_ratio(M, gamma=1.4)[source]

Compute the pressure ratio \(\frac{P}{P_{0}}\).

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Pressure ratio \(\frac{P}{P_{0}}\).

pygasflow.isentropic.temperature_ratio(M, gamma=1.4)[source]

Compute the temperature ratio \(\frac{T}{T_{0}}\).

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Temperature ratio \(\frac{T}{T_{0}}\).

pygasflow.isentropic.density_ratio(M, gamma=1.4)[source]
Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Density ratio \(\frac{\rho}{\rho_{0}}\).

pygasflow.isentropic.m_from_temperature_ratio(ratio, gamma=1.4)[source]

Compute the Mach number given the Isentropic Temperature Ratio \(\frac{T}{T_{0}}\).

Parameters
ratioarray_like

Isentropic Temperature Ratio \(\frac{T}{T_{0}}\). If float, list, tuple is given as input, a conversion will be attempted. Must be \(0 \le \frac{T}{T_{0}} \le 1\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Mach Number.

pygasflow.isentropic.m_from_pressure_ratio(ratio, gamma=1.4)[source]

Compute the Mach number given the Isentropic Pressure Ratio \(\frac{P}{P_{0}}\).

Parameters
ratioarray_like

Isentropic Pressure Ratio \(\frac{P}{P_{0}}\). If float, list, tuple is given as input, a conversion will be attempted. Must be \(0 \le \frac{P}{P_{0}} \le 1\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Mach Number.

pygasflow.isentropic.m_from_density_ratio(ratio, gamma=1.4)[source]

Compute the Mach number given the Isentropic Density Ratio \(\frac{\rho}{\rho_{0}}\).

Parameters
ratioarray_like

Isentropic Density Ratio \(\frac{\rho}{\rho_{0}}\). If float, list, tuple is given as input, a conversion will be attempted. Must be \(0 \le \frac{\rho}{\rho_{0}} \le 1\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Mach Number.

pygasflow.isentropic.m_from_critical_area_ratio(ratio, flag='sub', gamma=1.4)[source]

Compute the Mach number given the Isentropic Critical Area Ratio \(\frac{A}{A^{*}}\).

Parameters
ratioarray_like

Isentropic Critical Area Ratio \(\frac{A}{A^{*}}\). If float, list, tuple is given as input, a conversion will be attempted. Must be \(\frac{A}{A^{*}} \ge 1\).

flagstring, optional

Can be either 'sub' (subsonic) or 'sup' (supersonic). Default to 'sub'.

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Mach Number.

pygasflow.isentropic.m_from_critical_area_ratio_and_pressure_ratio(a_ratio, p_ratio, gamma=1.4)[source]

Compute the Mach number given the Critical Area Ratio (\(\frac{A}{A^{*}}\)) and the Pressure Ratio (\(\frac{P}{P_{0}}\)).

Parameters
a_ratioarray_like

Isentropic Critical Area Ratio \(\frac{A}{A^{*}}\). If float, list, tuple is given as input, a conversion will be attempted. Must be \(\frac{A}{A^{*}} \ge 1\).

p_ratioarray_like

Isentropic Pressure Ratio (\(\frac{P}{P_{0}}\)). If float, list, tuple is given as input, a conversion will be attempted. Must be \(0 \le \frac{P}{P_{0}} \le 1\). If array_like, must be a_ratio.shape == p_ratio.shape.

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Mach Number.

pygasflow.isentropic.m_from_mach_angle(angle, gamma=1.4)[source]

Compute the Mach number given the Mach Angle.

Parameters
ratioarray_like

Mach Angle, [degrees]. If float, list, tuple is given as input, a conversion will be attempted. Must be \(0 \le \mu \le 90\).

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
outndarray

Mach Number.

pygasflow.isentropic.mach_angle(M)[source]

Compute the Mach angle given the Mach number.

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted. Must be \(M > 0\).

Returns
outndarray

Mach Angle [degrees].

pygasflow.isentropic.m_from_prandtl_meyer_angle(angle, gamma=1.4)[source]

Compute the Mach number given the Prandtl Meyer angle.

Parameters
anglearray_like

Prandtl Meyer angle [degrees].

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
Marray_like

Mach Number.

pygasflow.isentropic.prandtl_meyer_angle(M, gamma=1.4)[source]

Compute the Prandtl Meyer function given the Mach number.

Parameters
Marray_like

Mach number. If float, list, tuple is given as input, a conversion will be attempted.

gammafloat, optional

Specific heats ratio. Default to 1.4. Must be \(\gamma > 1\).

Returns
nuarray_like

Prandtl Meyer angle [degrees].