Isentropic¶
This submodule holds the class IdealFlow and PrandtlMeyerExpansion, since both of them are considered under the study of ideal flow dynamics.
Isentropic properties.
-
class
skaero.gasdynamics.isentropic.
IsentropicFlow
(gamma=1.4)¶ Class representing an isentropic gas flow.
Isentropic flow is characterized by:
Viscous and heat conductivity effects are negligible.
No chemical or radioactive heat production.
-
A_Astar
(M)¶ Area ratio from Mach number.
Duct area divided by critial area given Mach number.
- Parameters
M (array_like) – Mach number.
- Returns
A_Astar – Area ratio.
- Return type
array_like
-
T_T0
(M)¶ Temperature ratio from Mach number.
\[\left ( \frac{T}{T_{0}} \right ) = \left (1 + \frac{\gamma - 1}{2}M^{2} \right )^{-1}\]- Parameters
M (array_like) – Mach number.
- Returns
T_T0 – Temperature ratio.
- Return type
array_like
-
a_a0
(M)¶ Speed of sound ratio from Mach number.
- Parameters
M (array_like) – Mach number.
- Returns
a_a0 – Speed of sound ratio.
- Return type
array_like
-
p_p0
(M)¶ Pressure ratio from Mach number.
\[\left ( \frac{P}{P_{0}} \right ) = \left ( \frac{T}{T_{0}} \right )^{\frac{\gamma}{(\gamma - 1)}}\]- Parameters
M (array_like) – Mach number.
- Returns
p_p0 – Pressure ratio.
- Return type
array_like
-
rho_rho0
(M)¶ Density ratio from Mach number.
\[\left ( \frac{\rho}{\rho_{0}} \right ) = \left ( \frac{T}{T_{0}} \right )^{\frac{1}{(\gamma - 1)}}\]- Parameters
M (array_like) – Mach number.
- Returns
rho_rho0 – Density ratio.
- Return type
array_like
-
class
skaero.gasdynamics.isentropic.
PrandtlMeyerExpansion
(M_1, theta, fl=None, gamma=1.4)¶ Class representing a Prandtl-Meyer expansion fan.
-
property
M_2
¶ Downstream Mach number.
-
property
T2_T1
¶ Temperature ratio across the expansion fan.
-
property
mu_1
¶ Angle of forward Mach line.
-
property
mu_2
¶ Angle of rearward Mach line.
-
static
nu
(M, gamma=1.4)¶ Prandtl-Meyer angle for a given Mach number.
The result is given by evaluating the Prandtl-Meyer function.
\[\nu = \sqrt{\frac{\gamma + 1}{\gamma - 1}} \tan^{-1}\left [ \sqrt{\frac{\gamma - 1}{\gamma + 1}(M^{2} - 1)} \right ] - \tan^{-1}(\sqrt{M^{2} - 1})\]- Parameters
M (float) – Mach number.
gamma (float, optional) – Specific heat ratio, default 7 / 5.
- Returns
nu – Prandtl-Meyer angle, in radians.
- Return type
float
- Raises
ValueError – If Mach number is subsonic.
-
property
nu_1
¶ Upstream Prandtl-Meyer angle.
-
property
nu_2
¶ Downstream Prandtl-Meyer angle.
-
property
p2_p1
¶ Pressure ratio across the expansion fan.
-
property
rho2_rho1
¶ Density ratio across the expansion fan.
-
property
-
skaero.gasdynamics.isentropic.
mach_angle
(M)¶ Returns Mach angle given supersonic Mach number.
\[\mu = \arcsin{\left ( \frac{1}{M} \right )}\]- Parameters
M (float) – Mach number.
- Returns
mu – Mach angle.
- Return type
float
- Raises
ValueError – If given Mach number is subsonic.
-
skaero.gasdynamics.isentropic.
mach_from_area_ratio
(A_Astar, fl=None)¶ Computes the Mach number given an area ratio asuming isentropic flow.
Uses the relation between Mach number and area ratio for isentropic flow, and returns both the subsonic and the supersonic solution.
- Parameters
A_Astar (float) – Cross sectional area.
fl (IsentropicFlow, optional) – Isentropic flow object, default flow with gamma = 7 / 5.
- Returns
out – Subsonic and supersonic Mach number solution of the equation.
- Return type
tuple of floats
- Raises
ValueError – If the area ratio is less than 1.0 (the critical area is always the minimum).
-
skaero.gasdynamics.isentropic.
mach_from_nu
(nu, in_radians=True, gamma=1.4)¶ Computes the Mach number given a Prandtl-Meyer angle, \(\nu\).
Uses the relation between Mach number and Prandtl-Meyer angle for isentropic flow, to iteratively compute and return the Mach number.
- Parameters
nu (float) – Prandtl-Meyer angle, by default in radians.
in_radians (bool, optional) – When set as False, converts nu from degrees to radians.
gamma (float, optional) – Specific heat ratio.
- Returns
M – Mach number corresponding to \(\nu\).
- Return type
float
- Raises
ValueError – If \(\nu\) is 0 or negative or above the theoretical maxima based on \(\gamma\).