1. 극한 열역학 환경: 고체 로켓 노즐 목의 열화학적 삭마(Erosion)
극초음속 미사일의 고체 로켓 부스터는 연소실 압력 $15\sim 20\,\text{MPa}$, 연소 가스 온도 $3,500\,\text{K}$ 이상의 가혹한 조건에서 수십 초간 거대한 추력을 뿜어냅니다.
추진제 가스가 음속($M=1$)을 돌파하는 가장 좁은 지점인 **노즐 목(Nozzle Throat)**은 단위 면적당 수백 $\text{MW/m}^2$의 극단적인 열유속과 초음속 가스 전단력, 그리고 산화 가스($H_2O, CO_2$)와의 화학적 반응에 노출됩니다.
내열재로 사용되는 3차원 탄소-탄소(C/C) 또는 탄소-페놀(Carbon-Phenolic) 인서트는 연소 진행에 따라 초당 수 밀리미터($1\sim 3\,\text{mm/s}$) 비율로 깎여나가는 **열화학적 삭마(Thermochemical Throat Erosion)**를 겪습니다.
노즐 목 단면적($A_t$)이 확장되면 연소실 압력($P_c$)이 급격히 떨어지고 특성 배기 속도($C^*$)와 진공 비추력($I_{\text{sp}}$)이 감소하여 유효 추력이 수십 퍼센트 감쇠합니다.
더욱 심각한 문제는 비대칭 삭마로 인해 추력 중심축이 틀어지는 추력선 편차(Thrust Misalignment)가 발생하여 탄도 유도 궤적을 붕괴시킨다는 점입니다.
본 백서에서는 노즐 백킹에 매립된 펄스-에코 초음파 센서로 실시간 삭마 두께를 50마이크로초(20,000Hz) 주기로 측정하고, 전기기계식 유압 추력벡터제어(TVC) 짐벌 각도와 궤적 적분기를 동적 보정하는 C# .NET 9.0 AVX-512 SIMD 추력 서보 엔진을 구현합니다.
2. 노즐 목 삭마 속도론 및 로켓 추진 특성 열역학 수학적 정식화
노즐 목 표면에서의 탄소 산화 화학 반응 제어 삭마율 $\dot{r}_{\text{erosion}}$ (Bartz 확산-동역학 하이브리드 모델):
시간 $t$에 따른 노즐 목 단면적 $A_t(t)$의 팽창:
노즐 목 면적 팽창에 따른 연소실 압력 $P_c(t)$ 및 순 추력 $F(t)$ 감소:
추력 편차 보상을 위한 20,000Hz TVC 짐벌 피치/요 각도 $\delta_{\text{TVC}}(t)$ 서보 제어 법칙:
3. Zero-Allocation C# .NET 9.0 AVX-512 SIMD 노즐 삭마 추력 서보
20,000Hz 주기로 연소실 압력과 초음파 잔여 두께를 판독하여 TVC 유압 짐벌 각도와 궤적 속도 보정량을 산출하는 초고속 서보 엔진입니다.
using System;
using System.Runtime.CompilerServices;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
namespace ZeliDesk.Defense.RocketNozzle
{
public readonly record struct RocketMotorTelemetry(
float ChamberPressureMpa,
float ThroatRadiusMm,
float MeasuredErosionRateMmPerSec,
float AxialAccelerationG
);
public readonly record struct TvcServoCommand(
float GimbalPitchAngleDeg,
float GimbalYawAngleDeg,
float CurrentThrustKn,
float VelocityDeficitMs
);
public ref struct NozzleThroatErosionServo
{
private const float NOMINAL_THROAT_RADIUS_MM = 65.0f;
private const float LEVER_ARM_METERS = 3.8f;
private const float CRAFT_MASS_KG = 4500.0f;
private readonly float _kp;
private readonly float _ki;
private float _velocityIntegralErr;
private float _prevPressure;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public NozzleThroatErosionServo(float kp, float ki)
{
_kp = kp;
_ki = ki;
_velocityIntegralErr = 0.0f;
_prevPressure = 16.0f;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public TvcServoCommand StepServo(ref readonly RocketMotorTelemetry telem, float dt, float targetPitchAccelRadS2)
{
// 1. 노즐 목 팽창에 따른 현재 추력 환산 (F = Cf * Pc * At)
float atM2 = MathF.PI * (telem.ThroatRadiusMm * 1e-3f) * (telem.ThroatRadiusMm * 1e-3f);
float thrustKn = 1.65f * (telem.ChamberPressureMpa * 1e3f) * atM2; // kN 단위
// 2. 비대칭 삭마 추력선 왜곡 상쇄 TVC 짐벌 각도 계산
float requiredTorqueNm = (CRAFT_MASS_KG * 0.5f * 0.4f * 0.4f) * targetPitchAccelRadS2;
float gimbalRad = requiredTorqueNm / MathF.Max(100.0f, thrustKn * 1e3f * LEVER_ARM_METERS);
float gimbalDeg = Math.Clamp(gimbalRad * (180.0f / MathF.PI), -8.0f, 8.0f);
// 3. 추력 감소에 의한 속도 결손 적분 보상
float nominalAccel = 18.0f * 9.80665f;
float actualAccel = telem.AxialAccelerationG * 9.80665f;
float accelDeficit = nominalAccel - actualAccel;
_velocityIntegralErr += accelDeficit * dt;
return new TvcServoCommand(gimbalDeg, 0.0f, thrustKn, _velocityIntegralErr);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BatchComputeThroatAreasSimd(ReadOnlySpan radiiMm, Span outAreasCm2)
{
float piOver100 = MathF.PI * 0.01f;
var vCoeff = Vector256.Create(piOver100);
int i = 0;
for (; i <= radiiMm.Length - 8; i += 8)
{
var vR = Vector256.LoadUnsafe(in radiiMm[i]);
var vRSq = Vector256.Multiply(vR, vR);
var vArea = Vector256.Multiply(vRSq, vCoeff);
vArea.StoreUnsafe(ref outAreasCm2[i]);
}
for (; i < radiiMm.Length; i++)
{
outAreasCm2[i] = MathF.PI * (radiiMm[i] * radiiMm[i]) * 0.01f;
}
}
}
}
4. 로켓 추진 공학 및 2022 개정 화학/물리 연계
- 고체 추진 로켓과 노즐 목 단면적: 연소실 내부 압력과 배기 가스 유속이 노즐 목 단면적에 의해 지배되는 수렴-발산(드 라발) 노즐 공학 이해.
- 고온 화학 반응과 열역학적 삭마 (화학II): 연소 가스 속의 수증기와 이산화탄소가 고체 탄소와 반응하여 일산화탄소로 기화 소모되는 산화-환원 반응 탐구.
- 추력벡터제어(TVC)와 회전 모멘트 (물리I/II): 노즐 분사각을 짐벌 모터로 꺾어 무게 중심 주위의 돌림힘($\tau = \mathbf{r} \times \mathbf{F}$)을 만들어 미사일 자세를 제어하는 원리 해석.