Utilities for working with nozzles.

class skaero.gasdynamics.nozzles.Nozzle(x, A)

Class representing a nozzle.

plot(ax, where=None, interpolate=False, **kwargs)

Plots the nozzle geometry.


ax (matplotlib.axes.Axes) – Axes where the nozzle geometry should be plotted.

solve_flow(fl, p_0, T_0, p_B)

Solves the flow through the nozzle.

For the time being, it assumes isentropic flow and uses a quasi one dimensional model.

  • fl (IsentropicFlow) – Isentropic flow through the nozzle.

  • p_0 (float) – Stagnation pressure at the reservoir.

  • T_0 (float) – Stagnation temperature at the reservoir.

  • p_B (float) – Back pressure at the exit section.


  • M (array) – Mach distribution along the nozzle.

  • p (array) – Pressure distribution along the nozzle.


ValueError – If the back pressure is higher than the reservoir pressure.


First of all, the function computes the isentropic conditions to discriminate if we have fully subsonic flow, chocked flow with shock inside nozzle or chocked fully supersonic flow.