Skip to content

feat: add Rotating Detonation Engine (RDE) combustor element, cycles, and benchmarks - #121

Open
arushkumarsingh wants to merge 7 commits into
OpenMDAO:masterfrom
arushkumarsingh:rde
Open

arushkumarsingh wants to merge 7 commits into
OpenMDAO:masterfrom
arushkumarsingh:rde

Conversation

@arushkumarsingh

Copy link
Copy Markdown
Contributor

Summary

This pull request introduces the Rotating Detonation Engine (RDE) combustor element (RDECombustor), along with associated cycle models, regression benchmarks, and diagnostic viewers for pressure-gain combustion (PGC) in pyCycle.

Key Additions:

  1. RDECombustor Element (pycycle/elements/rde_combustor.py):

    • Implements pressure-gain combustion based on the Humphrey constant-volume thermodynamic cycle coupled with Chapman–Jouguet (CJ) detonation wave kinematics.
    • Models injector feed plenum pressure drop ($P_{t,inj} = P_{t,in} \cdot (1 - dPqP_{inj})$) to ensure physical backflow margin.
    • Computes wave kinematics ($M_{CJ}$, detonation velocity $D_{CJ}$, rotational frequency $f_{RDE}$) from flow properties and fuel lower heating value ($Q_{fuel}$).
    • Employs an unsteady realization efficiency factor ($\eta_{rde}$) to model non-ideal wave interactions and expansion losses ($P_{t,out} = P_{t,inj} \cdot [1 + \eta_{rde} (\Pi_{ideal} - 1)]$).
    • Full analytical Jacobian across all 10 state/design variables, verified against complex-step derivatives at machine precision ($< 10^{-15}$).
    • Supports both CEA and TABULAR thermodynamics, as well as on-design Mach number and off-design throat area matching modes.
    • Exported in pycycle.api as pyc.RDECombustor and pyc.print_rde.
  2. Cycle Examples:

    • Air-Breathing RDE Ramjet (example_cycles/rde_ramjet.py):
      • Mach 2.5 at 40,000 ft cruise ($W_{air} = 100\text{ lbm/s}$, $FAR = 0.028$).
      • Demonstrates $P_{t4}/P_{t2} = 2.963$ (+211.9% pressure gain vs 0.95 conventional drop), yielding +27.7% Net Thrust & $I_{sp}$ and -21.7% TSFC reduction.
    • Low-CPR RDE Turbojet (example_cycles/rde_turbojet.py):
      • Sea-level static design ($F_n = 11,800\text{ lbf}$, $T_{t4} = 2370^\circ\text{R}$) with multi-point off-design point (OD0).
      • At CPR 13.5, RDE yields -16.08% fuel burn reduction (TSFC = 0.670 vs 0.798).
      • Demonstrates "Low-CPR RDE" architecture (CPR = 8.0), reducing compressor power requirement by -41.3% (allowing elimination of multiple turbomachinery stages) while still achieving -9.64% better TSFC than the conventional 13.5:1 engine.
  3. Verification & Regression Benchmark Test Suites:

Related Issues

  • Closes feature request for Pressure-Gain Combustion (PGC) and Rotating Detonation Engine (RDE) modeling in pyCycle.

Backwards Incompatibilities

None. All existing Brayton cycle elements (Combustor, Compressor, Turbine, etc.) and all existing cycle examples/tests are preserved without modification.

New Dependencies

None.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant