proptools.nozzle module

Nozzle flow calculations.

thrust_coef(p_c, p_e, gamma[, p_a, er]) Nozzle thrust coefficient, \(C_F\).
c_star(gamma, m_molar, T_c) Characteristic velocity, \(c^*\).
er_from_p(p_c, p_e, gamma) Find the nozzle expansion ratio from the chamber and exit pressures.
throat_area(m_dot, p_c, T_c, gamma, m_molar) Find the nozzle throat area.
mass_flow(A_t, p_c, T_c, gamma, m_molar) Find the mass flow through a choked nozzle.
thrust(A_t, p_c, p_e, gamma[, p_a, er]) Nozzle thrust force.
mach_from_er(er, gamma) Find the exit Mach number from the area expansion ratio.
mach_from_pr(p_c, p_e, gamma) Find the exit Mach number from the pressure ratio.
is_choked(p_c, p_e, gamma) Determine whether the nozzle flow is choked.
mach_from_area_subsonic(area_ratio, gamma) Find the Mach number as a function of area ratio for subsonic flow.
area_from_mach(M, gamma) Find the area ratio for a given Mach number.
pressure_from_er(er, gamma) Find the exit/chamber pressure ratio from the nozzle expansion ratio.
proptools.nozzle.area_from_mach(M, gamma)

Find the area ratio for a given Mach number.

For isentropic nozzle flow, a station where the Mach number is \(M\) will have an area \(A\). This function returns that area, normalized by the area of the nozzle throat \(A_t\). See Mach-Area Relation for a physical description of the Mach-Area relation.

Reference: Rocket Propulsion Elements, 8th Edition, Equation 3-14.

Parameters:
  • M (scalar) – Mach number [units: dimensionless].
  • gamma (scalar) – Ratio of specific heats [units: dimensionless].
Returns:

Area ratio \(A / A_t\).

Return type:

scalar

proptools.nozzle.c_star(gamma, m_molar, T_c)

Characteristic velocity, \(c^*\).

The characteristic velocity is a figure of merit for the propellants and combustion process. See Characteristic velocity for a description of the physical meaning of the characteristic velocity.

Reference: Equation 1-32a in Huzel and Huang.

Parameters:
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
  • m_molar (scalar) – Exhaust gas mean molar mass [units: kilogram mole**-1].
  • T_c (scalar) – Nozzle stagnation temperature [units: kelvin].
Returns:

The characteristic velocity [units: meter second**-1].

Return type:

scalar

proptools.nozzle.er_from_p(p_c, p_e, gamma)

Find the nozzle expansion ratio from the chamber and exit pressures.

See Expansion Ratio for a physical description of the expansion ratio.

Reference: Rocket Propulsion Elements, 8th Edition, Equation 3-25

Parameters:
  • p_c (scalar) – Nozzle stagnation chamber pressure [units: pascal].
  • p_e (scalar) – Nozzle exit static pressure [units: pascal].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
Returns:

Expansion ratio \(\epsilon = A_e / A_t\) [units: dimensionless]

Return type:

scalar

proptools.nozzle.is_choked(p_c, p_e, gamma)

Determine whether the nozzle flow is choked.

See Choked Flow for details.

Reference: Rocket Propulsion Elements, 8th Edition, Equation 3-20.

Parameters:
  • p_c (scalar) – Nozzle stagnation chamber pressure [units: pascal].
  • p_e (scalar) – Nozzle exit static pressure [units: pascal].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
Returns:

True if flow is choked, false otherwise.

Return type:

bool

proptools.nozzle.mach_from_area_subsonic(area_ratio, gamma)

Find the Mach number as a function of area ratio for subsonic flow.

Parameters:
  • area_ratio (scalar) – Area / throat area [units: dimensionless].
  • gamma (scalar) – Ratio of specific heats [units: dimensionless].
Returns:

Mach number of the flow in a passage with area = area_ratio * (throat area).

Return type:

scalar

proptools.nozzle.mach_from_er(er, gamma)

Find the exit Mach number from the area expansion ratio.

Reference: J. Majdalani and B. A. Maickie, http://maji.utsi.edu/publications/pdf/HT02_11.pdf

Parameters:
  • er (scalar) – Nozzle area expansion ratio, A_e / A_t [units: dimensionless].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
Returns:

The exit Mach number [units: dimensionless].

Return type:

scalar

proptools.nozzle.mach_from_pr(p_c, p_e, gamma)

Find the exit Mach number from the pressure ratio.

Parameters:
  • p_c (scalar) – Nozzle stagnation chamber pressure [units: pascal].
  • p_e (scalar) – Nozzle exit static pressure [units: pascal].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
Returns:

Exit Mach number [units: dimensionless].

Return type:

scalar

proptools.nozzle.mass_flow(A_t, p_c, T_c, gamma, m_molar)

Find the mass flow through a choked nozzle.

Given gas stagnation conditions and a throat area, find the mass flow through a choked nozzle. See Choked Flow for details.

Reference: Rocket Propulsion Elements, 8th Edition, Equation 3-24.

Parameters:
  • A_t (scalar) – Nozzle throat area [units: meter**2].
  • p_c (scalar) – Nozzle stagnation chamber pressure [units: pascal].
  • T_c (scalar) – Nozzle stagnation temperature [units: kelvin].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
  • m_molar (scalar) – Exhaust gas mean molar mass [units: kilogram mole**-1].
Returns:

Mass flow rate \(\dot{m}\) [units: kilogram second**-1].

Return type:

scalar

proptools.nozzle.pressure_from_er(er, gamma)

Find the exit/chamber pressure ratio from the nozzle expansion ratio.

See Expansion Ratio for a physical description of the expansion ratio.

Reference: Rocket Propulsion Elements, 8th Edition, Equation 3-25

Parameters:
  • er (scalar) – Expansion ratio \(\epsilon = A_e / A_t\) [units: dimensionless].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
Returns:

Pressure ratio \(p_e/p_c\) [units: dimensionless].

Return type:

scalar

proptools.nozzle.throat_area(m_dot, p_c, T_c, gamma, m_molar)

Find the nozzle throat area.

Given gas stagnation conditions and a mass flow rate, find the required throat area of a choked nozzle. See Choked Flow for details.

Reference: Rocket Propulsion Elements, 8th Edition, Equation 3-24

Parameters:
  • m_dot (scalar) – Propellant mass flow rate [units: kilogram second**-1].
  • p_c (scalar) – Nozzle stagnation chamber pressure [units: pascal].
  • T_c (scalar) – Nozzle stagnation temperature [units: kelvin].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
  • m_molar (scalar) – Exhaust gas mean molar mass [units: kilogram mole**-1].
Returns:

Throat area [units: meter**2].

Return type:

scalar

proptools.nozzle.thrust(A_t, p_c, p_e, gamma, p_a=None, er=None)

Nozzle thrust force.

Parameters:
  • A_t (scalar) – Nozzle throat area [units: meter**2].
  • p_c (scalar) – Nozzle stagnation chamber pressure [units: pascal].
  • p_e (scalar) – Nozzle exit static pressure [units: pascal].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
  • p_a (scalar, optional) – Ambient pressure [units: pascal]. If None, then p_a = p_e.
  • er (scalar, optional) – Nozzle area expansion ratio [units: dimensionless]. If None, then p_a = p_e.
Returns:

Thrust force [units: newton].

Return type:

scalar

proptools.nozzle.thrust_coef(p_c, p_e, gamma, p_a=None, er=None)

Nozzle thrust coefficient, \(C_F\).

The thrust coefficient is a figure of merit for the nozzle expansion process. See Thrust coefficient for a description of the physical meaning of the thrust coefficient.

Reference: Equation 1-33a in Huzel and Huang.

Parameters:
  • p_c (scalar) – Nozzle stagnation chamber pressure [units: pascal].
  • p_e (scalar) – Nozzle exit static pressure [units: pascal].
  • gamma (scalar) – Exhaust gas ratio of specific heats [units: dimensionless].
  • p_a (scalar, optional) – Ambient pressure [units: pascal]. If None, then p_a = p_e.
  • er (scalar, optional) – Nozzle area expansion ratio [units: dimensionless]. If None, then p_a = p_e.
Returns:

The thrust coefficient, \(C_F\) [units: dimensionless].

Return type:

scalar