T_STAGNATION

Overview

Calculate stagnation temperature from pressure ratio.

Excel Usage

=T_STAGNATION(temp, pressure, p_stag, k_isentropic)
  • temp (float, required): Normal (static) temperature of a fluid [K]
  • pressure (float, required): Normal (static) pressure of a fluid [Pa]
  • p_stag (float, required): Stagnation pressure [Pa]
  • k_isentropic (float, required): Isentropic exponent [-]

Returns (float): Stagnation temperature [K]

Examples

Example 1: Textbook example from Cengel

Inputs:

temp pressure p_stag k_isentropic
286.8 54050 432400 1.4

Excel formula:

=T_STAGNATION(286.8, 54050, 432400, 1.4)

Expected output:

519.5230938217768

Example 2: High speed flow

Inputs:

temp pressure p_stag k_isentropic
250 50000 100000 1.4

Excel formula:

=T_STAGNATION(250, 50000, 100000, 1.4)

Expected output:

304.75341355111885

Example 3: Low speed flow (small pressure rise)

Inputs:

temp pressure p_stag k_isentropic
300 100000 110000 1.4

Excel formula:

=T_STAGNATION(300, 100000, 110000, 1.4)

Expected output:

308.2816935995598

Example 4: Different gas (lower k)

Inputs:

temp pressure p_stag k_isentropic
320 200000 400000 1.3

Excel formula:

=T_STAGNATION(320, 200000, 400000, 1.3)

Expected output:

375.50734720148046

Python Code

import micropip
await micropip.install(["fluids"])
from fluids.compressible import T_stagnation as fluids_t_stag

def t_stagnation(temp, pressure, p_stag, k_isentropic):
    """
    Calculate stagnation temperature from pressure ratio.

    See: https://fluids.readthedocs.io/fluids.compressible.html#fluids.compressible.T_stagnation

    This example function is provided as-is without any representation of accuracy.

    Args:
        temp (float): Normal (static) temperature of a fluid [K]
        pressure (float): Normal (static) pressure of a fluid [Pa]
        p_stag (float): Stagnation pressure [Pa]
        k_isentropic (float): Isentropic exponent [-]

    Returns:
        float: Stagnation temperature [K]
    """
    # Validate and convert inputs
    try:
        temp = float(temp)
    except (ValueError, TypeError):
        return "Invalid input: temp must be a number."

    try:
        pressure = float(pressure)
    except (ValueError, TypeError):
        return "Invalid input: pressure must be a number."

    try:
        p_stag = float(p_stag)
    except (ValueError, TypeError):
        return "Invalid input: p_stag must be a number."

    try:
        k_isentropic = float(k_isentropic)
    except (ValueError, TypeError):
        return "Invalid input: k_isentropic must be a number."

    # Validation
    if temp <= 0:
        return "Invalid input: temp must be positive."
    if pressure <= 0:
        return "Invalid input: pressure must be positive."
    if p_stag <= 0:
        return "Invalid input: p_stag must be positive."
    if k_isentropic <= 1:
        return "Invalid input: k_isentropic must be greater than 1."
    if p_stag < pressure:
        return "Invalid input: p_stag must be greater than or equal to pressure."

    try:
        result = fluids_t_stag(T=temp, P=pressure, Pst=p_stag, k=k_isentropic)
        return float(result)
    except Exception as e:
        return f"Error: Failed to compute stagnation temperature: {str(e)}"

Online Calculator