Combustor Design (propulsion/gas-turbine-cycle/combustor-design)
Use when the task is the gas turbine combustor design point: the
stoichiometric and operating fuel-air ratio from fuel properties and
burner flows, the equivalence ratio, the combustion efficiency, the
heat release and temperature rise across the combustor, and the
adiabatic flame temperature estimate from a simple constant-specific-
heat energy balance.
Domain quick reference
All values below are computed by scripts/combustor_design_logic.py
(stdlib only, deterministic) and verified by running it.
Kerosene-class fuel: carbon mass fraction c = 0.86, hydrogen mass
fraction h = 0.14, lower heating value LHV = 43.2 MJ/kg. Air is
23.2% oxygen by mass.
- Oxygen demand per kg of fuel: m_O2 = (32/12) * c + 8 * h.
For kerosene: 2.6667 * 0.86 + 8.0 * 0.14 = 3.4133 kg O2 per kg fuel.
- Stoichiometric fuel-air ratio: far_st = 0.232 / m_O2 = 0.0680.
(Methane, c = 0.75, h = 0.25, gives far_st = 0.0580; a carbon-rich
fuel has a higher far_st because carbon needs less oxygen per kg.)
- Operating fuel-air ratio: far_op = m_fuel / m_air. At m_fuel =
2.0 kg/s and m_air = 100 kg/s: far_op = 0.0200.
- Equivalence ratio: phi = far_op / far_st = 0.0200 / 0.0680 = 0.2943
(fuel-lean, phi < 1).
- Combustion efficiency: eta_b = actual rise / ideal rise. With
actual = 706.563 K and ideal = 713.7 K: eta_b = 0.9900.
- Heat release: Q = eta_b * m_fuel * LHV = 0.99 * 2.0 * 43.2e6 =
85.54e6 W, about 85.5 MW.
- Temperature rise across the combustor: delta_T = Q / (m_air * cp)
= 85.54e6 / (100.0 * 1150.0) = 743.8 K. At compressor exit
T2 = 700 K the combustor exit is T3 = 1443.8 K, near 1444 K.
- Adiabatic flame temperature estimate (constant specific heat):
T_ad = T_in + eta_b * LHV * far / (cp_products * (1 + far)).
Lean point (far = 0.0200, cp = 1300 J/(kg K)): T_ad = 1345.1 K.
Stoichiometric point (far = 0.0680): T_ad = 2793.8 K, which
overestimates the real flame temperature (roughly 2300 to 2400 K
for kerosene in air) because dissociation is not modeled.
Units: flows in kg/s, LHV in J/kg, cp in J/(kg K), temperatures in
kelvin, heat release in watts.
Workflow
- Fix the fuel composition (c, h mass fractions) and the lower
heating value; compute far_st with stoichiometric_far.
- Fix the burner fuel and air flows; compute far_op with
operating_far and the equivalence ratio with equivalence_ratio.
- Determine the combustion efficiency from the measured and ideal
temperature rise with combustion_efficiency.
- Compute the heat release with heat_release and the temperature
rise with temperature_rise; add the rise to the compressor exit
temperature for the combustor exit temperature.
- Estimate the adiabatic flame temperature with
adiabatic_flame_temperature at the operating and stoichiometric
fuel-air ratios.
- Report fuel flow, heat release, combustor exit temperature, and
flame temperature estimate.
Pitfalls
- Confusing this leaf with gas-turbine-cycle: that leaf computes the
ideal Brayton cycle efficiency and station temperatures from the
pressure ratio; the combustor block (fuel-air ratio, heat release,
temperature rise, flame temperature) belongs here.
- Confusing this leaf with turbofan-cycle: bypass ratio, propulsive
efficiency, and specific thrust are turbofan-cycle; the combustor
design point of the core sits in combustor-design even for a
turbofan engine.
- Using the higher heating value instead of the lower heating value:
LHV must be used because water leaves the combustor as vapor.
- Treating the constant-cp flame temperature as exact: dissociation
lowers the real stoichiometric flame temperature to about 2300 to
2400 K for kerosene in air; report the simple value as an estimate.
- Calling the operating fuel-air ratio stoichiometric: far_st for
kerosene is near 0.068; far_op is typically 0.015 to 0.03, and
phi = far_op / far_st is the lean/rich measure.
- Using the primary-zone air flow instead of the total combustor air
flow: the mean exit temperature rise uses the full air flow
including dilution air.
- Unit slips: LHV in J/kg with flows in kg/s gives watts; cp in
J/(kg K); temperatures in kelvin, never Celsius.
- Fuel composition checks: c + h must sum to about 1 (trace elements
are not supported); the functions raise ValueError on non-physical
inputs instead of returning nonsense.
Behavior contract (gate 3)
The combustor relations above are exercised by the gate 3 contract
test: scripts/test_combustor_design.py against
scripts/combustor_design_logic.py (stdlib unittest, offline,
26 test methods). Run:
python3 skills/propulsion/gas-turbine-cycle/combustor-design/scripts/test_combustor_design.py
Compliance
- Standards referenced, not reproduced: FAR-33 is US government work
(public domain) and covers engine type certification, not combustor
analysis methods; the fuel-air ratio, heat release, and flame
temperature relations are common-knowledge combustion
thermodynamics, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.
1---2name: combustor-design3description: Use when the task is combustor sizing, burner fuel-air ratio, flame temperature, or heat release for a gas turbine engine. Compute the gas turbine combustor design point: the stoichiometric fuel-air-ratio from the fuel carbon and hydrogen mass fractions, the operating fuel-air-ratio from the fuel and air flows, the equivalence ratio, the combustion efficiency, the heat release from the fuel flow and lower heating value, and the temperature rise across the combustor with the adiabatic flame temperature estimate from a constant-specific-heat energy balance. Produces the fuel flow, heat release, combustor exit temperature, and flame temperature that gate the combustor design assessment. Trigger: combustor design, fuel air ratio, adiabatic flame temperature, combustion efficiency, heat release.4license: Apache-2.05---67# Combustor Design (propulsion/gas-turbine-cycle/combustor-design)89Use when the task is the gas turbine combustor design point: the10stoichiometric and operating fuel-air ratio from fuel properties and11burner flows, the equivalence ratio, the combustion efficiency, the12heat release and temperature rise across the combustor, and the13adiabatic flame temperature estimate from a simple constant-specific-14heat energy balance.1516## Domain quick reference1718All values below are computed by scripts/combustor_design_logic.py19(stdlib only, deterministic) and verified by running it.2021Kerosene-class fuel: carbon mass fraction c = 0.86, hydrogen mass22fraction h = 0.14, lower heating value LHV = 43.2 MJ/kg. Air is2323.2% oxygen by mass.2425- Oxygen demand per kg of fuel: m_O2 = (32/12) * c + 8 * h.26 For kerosene: 2.6667 * 0.86 + 8.0 * 0.14 = 3.4133 kg O2 per kg fuel.27- Stoichiometric fuel-air ratio: far_st = 0.232 / m_O2 = 0.0680.28 (Methane, c = 0.75, h = 0.25, gives far_st = 0.0580; a carbon-rich29 fuel has a higher far_st because carbon needs less oxygen per kg.)30- Operating fuel-air ratio: far_op = m_fuel / m_air. At m_fuel =31 2.0 kg/s and m_air = 100 kg/s: far_op = 0.0200.32- Equivalence ratio: phi = far_op / far_st = 0.0200 / 0.0680 = 0.294333 (fuel-lean, phi < 1).34- Combustion efficiency: eta_b = actual rise / ideal rise. With35 actual = 706.563 K and ideal = 713.7 K: eta_b = 0.9900.36- Heat release: Q = eta_b * m_fuel * LHV = 0.99 * 2.0 * 43.2e6 =37 85.54e6 W, about 85.5 MW.38- Temperature rise across the combustor: delta_T = Q / (m_air * cp)39 = 85.54e6 / (100.0 * 1150.0) = 743.8 K. At compressor exit40 T2 = 700 K the combustor exit is T3 = 1443.8 K, near 1444 K.41- Adiabatic flame temperature estimate (constant specific heat):42 T_ad = T_in + eta_b * LHV * far / (cp_products * (1 + far)).43 Lean point (far = 0.0200, cp = 1300 J/(kg K)): T_ad = 1345.1 K.44 Stoichiometric point (far = 0.0680): T_ad = 2793.8 K, which45 overestimates the real flame temperature (roughly 2300 to 2400 K46 for kerosene in air) because dissociation is not modeled.4748Units: flows in kg/s, LHV in J/kg, cp in J/(kg K), temperatures in49kelvin, heat release in watts.5051## Workflow52531. Fix the fuel composition (c, h mass fractions) and the lower54 heating value; compute far_st with stoichiometric_far.552. Fix the burner fuel and air flows; compute far_op with56 operating_far and the equivalence ratio with equivalence_ratio.573. Determine the combustion efficiency from the measured and ideal58 temperature rise with combustion_efficiency.594. Compute the heat release with heat_release and the temperature60 rise with temperature_rise; add the rise to the compressor exit61 temperature for the combustor exit temperature.625. Estimate the adiabatic flame temperature with63 adiabatic_flame_temperature at the operating and stoichiometric64 fuel-air ratios.656. Report fuel flow, heat release, combustor exit temperature, and66 flame temperature estimate.6768## Pitfalls6970- Confusing this leaf with gas-turbine-cycle: that leaf computes the71 ideal Brayton cycle efficiency and station temperatures from the72 pressure ratio; the combustor block (fuel-air ratio, heat release,73 temperature rise, flame temperature) belongs here.74- Confusing this leaf with turbofan-cycle: bypass ratio, propulsive75 efficiency, and specific thrust are turbofan-cycle; the combustor76 design point of the core sits in combustor-design even for a77 turbofan engine.78- Using the higher heating value instead of the lower heating value:79 LHV must be used because water leaves the combustor as vapor.80- Treating the constant-cp flame temperature as exact: dissociation81 lowers the real stoichiometric flame temperature to about 2300 to82 2400 K for kerosene in air; report the simple value as an estimate.83- Calling the operating fuel-air ratio stoichiometric: far_st for84 kerosene is near 0.068; far_op is typically 0.015 to 0.03, and85 phi = far_op / far_st is the lean/rich measure.86- Using the primary-zone air flow instead of the total combustor air87 flow: the mean exit temperature rise uses the full air flow88 including dilution air.89- Unit slips: LHV in J/kg with flows in kg/s gives watts; cp in90 J/(kg K); temperatures in kelvin, never Celsius.91- Fuel composition checks: c + h must sum to about 1 (trace elements92 are not supported); the functions raise ValueError on non-physical93 inputs instead of returning nonsense.9495## Behavior contract (gate 3)9697The combustor relations above are exercised by the gate 3 contract98test: scripts/test_combustor_design.py against99scripts/combustor_design_logic.py (stdlib unittest, offline,10026 test methods). Run:101102python3 skills/propulsion/gas-turbine-cycle/combustor-design/scripts/test_combustor_design.py103104## Compliance105106- Standards referenced, not reproduced: FAR-33 is US government work107 (public domain) and covers engine type certification, not combustor108 analysis methods; the fuel-air ratio, heat release, and flame109 temperature relations are common-knowledge combustion110 thermodynamics, summary-only per standards-map.yaml.111- compliance: STANDARDS-REF, gated: false.