1. 개요
6세대 유무인 복합전투기(MUM-T)의 장거리 초음속 순항(Supercruise) 및 극초음속 가속을 담당하는 핵심 추진 기관은 마하 3~7 영역에서 램제트와 스크램제트 모드를 매끄럽게 전환하는 이중모드 램/스크램제트(Dual-Mode Ramjet/Scramjet, DMRJ/DCR) 엔진입니다. 초음속 흡입구는 경사 충격파열(Oblique Shock Train)을 통해 유입 공기를 연소실 압력으로 압축합니다. 그러나 급격한 기동이나 연소실 역압(Backpressure) 급증 시 충격파열이 흡입구 격리부(Isolator) 전방으로 밀려나 흡입구 밖으로 배출되는 흡입구 언스타트(Inlet Unstart) 현상이 발생합니다. 언스타트는 순간적인 추력 상실, 극심한 항력 급증, 그리고 비행체 조종 불능을 초래하므로 발생 직전 수 밀리초(ms) 이내에 충격파 전방 이동을 감지하고 흡입구 바이패스 블리드 도어(Bleed Door)와 연료 분사량을 고속 제어해야 합니다. 본 고에서는 10,000Hz 온디바이스 루프에서 다점 고주파 압력 배열을 역산하여 언스타트를 실시간 방지하는 0-Alloc C# 엔진을 구현합니다.
2. 수학적 모델링 및 지배 방정식
초음속 격리부 내부 충격파열의 월츠(Waltrup-Billig) 압력 구배 경험식은 다음과 같습니다:
여기서 \(x_{st}\)는 충기파열 선두 위치, \(\theta_{bl}\)은 경계층 운동량 두께, \(M_1\)은 격리부 입구 마하수입니다.
언스타트 임계 마진 \(\Delta x_{margin} = x_{throat} - x_{st}(t)\) 및 압력 상승 지수 \(\Psi_{press}\)는 다음과 같습니다:
2ms 응답 피에조 블리드 도어 개도각 \(\theta_{bleed}[k]\) 및 연료 바이패스 제어 법칙은 다음과 같습니다:
3. C# 고성능 온디바이스 서보 엔진 구현
10,000Hz 주기로 흡입구 충격파를 격리부에 안착시키는 0-Alloc C# 엔진입니다.
using System;
using System.Runtime.CompilerServices;
namespace ZeliDesk.Defense.ScramjetEngine
{
/// <summary>
/// 스크램제트 흡입구 압력 센서 배열 텔레메트리 상태
/// </summary>
public readonly ref struct InletIsolatorTelemetryState
{
public readonly double FlightMachNumber; // 비행 마하수 [-]
public readonly double IsolatorInletPressureKpa; // 격리부 입구 정압 [kPa]
public readonly double CombustorBackpressureKpa; // 연소실 입구 역압 [kPa]
public readonly double ShockTrainPositionRatio; // 충격파 선두 위치 (0: 목, 1: 연소실)
public readonly double PressureGradientRate; // 압력 급증률 [kPa/ms]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public InletIsolatorTelemetryState(
double mach, double pInlet, double pBack, double posRatio, double gradRate)
{
FlightMachNumber = mach;
IsolatorInletPressureKpa = pInlet;
CombustorBackpressureKpa = pBack;
ShockTrainPositionRatio = posRatio;
PressureGradientRate = gradRate;
}
}
/// <summary>
/// 스크램제트 블리드 도어 및 연료 서보 명령
/// </summary>
public readonly ref struct ScramjetInletCommand
{
public readonly double BleedDoorOpeningPercent; // 블리드 도어 개도율 [%]
public readonly double FuelEquivalenceRatio; // 연료 당량비 Phi [-]
public readonly double UnstartSafetyMarginPercent;// 언스타트 안전 여유도 [%]
public readonly bool IsUnstartImminent; // 언스타트 임박 경보
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public ScramjetInletCommand(double bleed, double phi, double margin, bool imminent)
{
BleedDoorOpeningPercent = bleed;
FuelEquivalenceRatio = phi;
UnstartSafetyMarginPercent = margin;
IsUnstartImminent = imminent;
}
}
/// <summary>
/// 10,000Hz 주기 스크램제트 흡입구 언스타트 방지 서보 엔진
/// </summary>
public ref struct ScramjetInletUnstartServoEngine
{
private const double CriticalPositionThreshold = 0.18; // 목 전방 18% 지점 임계
private double _prevBleedOpening;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public ScramjetInletCommand CalculateServoControl(
in InletIsolatorTelemetryState state, double dtSeconds)
{
// 1. 언스타트 안전 여유도 계산
double safetyMargin = (state.ShockTrainPositionRatio - CriticalPositionThreshold) * 100.0;
bool unstartImminent = (state.ShockTrainPositionRatio < 0.25) || (state.PressureGradientRate > 45.0);
// 2. 고속 블리드 도어 개폐 제어 (2ms 응답)
double targetBleed = 0.0;
if (unstartImminent)
{
// 충격파 전방 돌출 억제: 블리드 개방
double deltaPos = CriticalPositionThreshold + 0.15 - state.ShockTrainPositionRatio;
targetBleed = 40.0 + 120.0 * Math.Max(0.0, deltaPos) + 0.8 * state.PressureGradientRate;
}
targetBleed = Math.Clamp(targetBleed, 0.0, 100.0);
// 속도 제한 (초당 최대 500% 개폐 가속)
double maxDelta = 500.0 * dtSeconds;
double commandBleed = _prevBleedOpening + Math.Clamp(targetBleed - _prevBleedOpening, -maxDelta, maxDelta);
commandBleed = Math.Clamp(commandBleed, 0.0, 100.0);
_prevBleedOpening = commandBleed;
// 3. 연소실 연료 당량비 조절 (역압 완화)
double basePhi = 0.95;
if (unstartImminent)
{
basePhi -= 0.35 * (commandBleed / 100.0);
}
basePhi = Math.Clamp(basePhi, 0.45, 1.10);
return new ScramjetInletCommand(commandBleed, basePhi, Math.Max(0.0, safetyMargin), unstartImminent);
}
}
}
4. 교육 및 실무 응용 가이드
본 고의 극초음속 흡입구 제어 알고리즘은 다음 분야에 핵심 적용됩니다:
- 국방 AI 교과서 및 항공우주 직무연수: 압축성 공기역학 충격파-경계층 상호작용(SWBLI) 및 초음속 흡입구 시뮬레이션 교보재.
- 6세대 무인 전투기 DCR 추진계통: 마하 3에서 마하 6 가속 구간의 램-스크램제트 천이 능동 제어.
- 극초음속 풍동 시험(AWT): 10,000Hz 주파수 응답의 능동 블리드 밸브 실시간 제어.
5. 결론
마하 5 이상의 극초음속 비행 중 발생하는 복잡한 경사 충격파열 거동을 월츠 모델로 정밀 해석하고, 10,000Hz 온디바이스 0-Alloc C# 엔진으로 2ms 블리드 도어를 구동하여 언스타트를 완벽 차단하는 추진 제어기를 완성하였습니다.