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)}"