1. 서론: 대잠 무소음과 30노트 고속 기동의 양립, FFG-II 하이브리드 파워트레인

대한민국 해군의 주력 대잠 호위함인 대구급(FFG-II, 2,800톤)은 북한 잠수함의 수중 은밀 침투에 대응하기 위해 평시에는 디젤 발전기 전력으로 영구자석 추진전동기(PMM)를 구동하여 수중 방사 소음(URN)을 극소화하는 '전기 추진 모드'로 은밀 항해합니다. 그러나 대잠 교전 돌발 상황이나 적 수상함의 고속 위협이 발생하면 단 1~2분 만에 세계 최고 수준의 36MW급 롤스로이스 MT30 가스터빈 모드로 전환하여 30노트(시속 56km) 이상의 초고속 전속 기동으로 돌입해야 합니다.

이 하이브리드 추진체계(HED, Hybrid Electro-Mechanical Drive)의 핵심은 감속기어 축계에 탑재된 동기식 자기 맞물림 클러치(SSS, Synchro-Self-Shifting Clutch)입니다. 가스터빈의 회전수가 프로펠러 축의 회전수를 추월하는 찰나의 순간에 헬리컬 스플라인(Helical Spline)이 전진하며 기계적으로 맞물리는데, 이때 두 축 간의 미세한 회전수 및 위상차는 30m 길이의 거대한 고장력 강철 추진축계 전체에 수만 N·m에 달하는 치명적인 비틀림 충격 진동(Torsional Shock)을 발생시킵니다.

본 백서에서는 2022 개정 물리(회전운동 방정식, 비틀림 탄성계수, 각운동량 보존) 및 정보(밀리초 주기 인버터 벡터 제어, 0-Alloc 메모리)를 토대로, 추진전동기의 초고속 역토크(Counter-Torque) 보상 제어 기법을 도출하고, 이를 1,000Hz 무할당(0-Alloc) C# 파워트레인 제어 엔진으로 구현한 아키텍처를 상세히 규명합니다.

2. 2질량-비틀림 탄성 연성 동역학 및 SSS 클러치 결합 모델

가스터빈 구동축(관성 $J_1$)과 감속기어-프로펠러 축(관성 $J_2$) 사이의 비틀림 탄성 연성 방정식은 다음과 같습니다:

$$J_1 \ddot{ heta}_1 + C_t (\dot{ heta}_1 - \dot{ heta}_2) + K_t ( heta_1 - heta_2) = T_{ ext{turbine}}(t) - T_{ ext{clutch}}(t)$$ $$J_2 \ddot{ heta}_2 + C_t (\dot{ heta}_2 - \dot{ heta}_1) + K_t ( heta_2 - heta_1) = T_{ ext{clutch}}(t) + T_{ ext{motor}}(t) - T_{ ext{prop}}(\dot{ heta}_2)$$

여기서 $K_t$는 축계의 비틀림 강성 계수(N·m/rad), $C_t$는 내부 감쇠 계수입니다. SSS 클러치는 입력축 속도 $\dot{ heta}_1$이 출력축 속도 $\dot{ heta}_2$를 통과하는 순간($\Delta \omega = \dot{ heta}_1 - \dot{ heta}_2 = 0$) 물리적 결합 래칫 톱니가 걸리며 맞물리며, 결합 직후 발생하는 충격 토크 피크는 $\Delta \omega$의 기울기에 정비례합니다:

$$T_{ ext{impact, peak}} pprox K_t \int_0^{\Delta t_{ ext{engage}}} (\dot{ heta}_1 - \dot{ heta}_2) dt + J_{ ext{eq}} \left. rac{d(\dot{ heta}_1 - \dot{ heta}_2)}{dt} ight|_{ ext{engage}}$$

이 충격 피크를 0으로 억제하기 위해, 결합 50ms 전부터 추진전동기(PMM)의 인버터를 통해 초정밀 능동 위상 추종 토크($T_{ ext{motor, damping}}$)를 인가하여 $\Delta \omega ightarrow 0$ 및 $d\Delta\omega/dt ightarrow 0$을 1,000Hz 주기로 강제 수렴시킵니다.

3. 1,000Hz 0-Alloc C# 호위함 하이브리드 파워트레인 제어 엔진

함정 제어 시스템의 1ms 주기에서 GC 발생 없이 추진전동기 및 가스터빈 연료 조절 밸브를 제어하는 무할당 C# 코어를 구축합니다.

// C# 1,000Hz Zero-Alloc Daegu-class FFG-II Hybrid Drive Clutch Controller
using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Defense.Navy.HybridPropulsion
{
    /// <summary>
    /// 추진축계 센서 계측 데이터 (0-Alloc ref struct)
    /// </summary>
    public readonly ref struct ShaftSensors
    {
        public readonly float TurbineShaftRpm;      // 가스터빈 입력축 RPM
        public readonly float PropellerShaftRpm;    // 프로펠러 감속축 RPM
        public readonly float ShaftTorsionalTorqueNm; // 추진축계 표면 변형률 게이지 토크 (N·m)
        public readonly float ClutchAxialDisplacementMm; // SSS 클러치 축방향 이동 변위 (mm)
        public readonly bool ClutchFullyEngaged;    // 클러치 기계적 결합 완료 리미트 스위치

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public ShaftSensors(
            float turbineRpm, 
            float propRpm, 
            float torqueNm, 
            float dispMm, 
            bool engaged)
        {
            TurbineShaftRpm = turbineRpm;
            PropellerShaftRpm = propRpm;
            ShaftTorsionalTorqueNm = torqueNm;
            ClutchAxialDisplacementMm = dispMm;
            ClutchFullyEngaged = engaged;
        }
    }

    /// <summary>
    /// 추진 액추에이터 제어 명령 구조체
    /// </summary>
    public readonly ref struct HybridControlOutput
    {
        public readonly float TurbineFuelThrottlePercent; // 가스터빈 연료 밸브 개도율 (%)
        public readonly float MotorDampingTorqueNm;       // 추진전동기 인버터 지령 토크 (N·m)
        public readonly float TorsionalOscillationIndex;  // 비틀림 진동 지수 (RMS)
        public readonly bool TransitionComplete;         // 모드 절환 완료 여부

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public HybridControlOutput(
            float throttle, 
            float motorTorque, 
            float oscIndex, 
            bool complete)
        {
            TurbineFuelThrottlePercent = throttle;
            MotorDampingTorqueNm = motorTorque;
            TorsionalOscillationIndex = oscIndex;
            TransitionComplete = complete;
        }
    }

    /// <summary>
    /// 대구급 호위함 1,000Hz 무할당 하이브리드 추진 클러치 절환 엔진
    /// </summary>
    public static class FfgHybridClutchEngine
    {
        private const float MaxMotorTorqueNm = 45000.0f; // 추진전동기 최대 토크 45 kNm
        private const float DampingGainKd = 320.0f;     // 비틀림 각속도 감쇠 게인

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static HybridControlOutput Update1000Hz(
            in ShaftSensors sens, 
            ref float prevRpmDelta, 
            float dt)
        {
            // 1. 축 간 상대 회전속도차 계산: Δω (RPM 단위)
            float rpmDelta = sens.TurbineShaftRpm - sens.PropellerShaftRpm;
            float dRpmDeltaDt = (rpmDelta - prevRpmDelta) / dt;
            prevRpmDelta = rpmDelta;

            // 2. 모드 전환 단계 판정
            if (sens.ClutchFullyEngaged)
            {
                // 완전 결합 완료 후: 가스터빈 주추진 모드 (전동기 회생 발전 또는 대기)
                return new HybridControlOutput(100.0f, 0.0f, 0.0f, true);
            }

            // 3. 동기화 클러치 진입 제어
            // 터빈 RPM을 프로펠러 RPM에 점진 정렬 (동기화 속도 추종)
            float targetThrottle = 40.0f;
            float motorDampingTorque = 0.0f;

            if (rpmDelta < -5.0f)
            {
                // 터빈 회전수 부족: 터빈 가속
                targetThrottle = 65.0f;
            }
            else if (rpmDelta > 5.0f)
            {
                // 터빈 과속: 스로틀 일시 저감
                targetThrottle = 35.0f;
            }
            else
            {
                // 결합 임계 영역 (|ΔRPM| < 5.0):
                // 전동기를 능동 감쇠기로 동작시켜 충격 흡수
                motorDampingTorque = -DampingGainKd * rpmDelta - 12.0f * dRpmDeltaDt;
                motorDampingTorque = Math.Clamp(motorDampingTorque, -MaxMotorTorqueNm, MaxMotorTorqueNm);
                targetThrottle = 50.0f;
            }

            // 축계 비틀림 진동 지수 평가
            float oscIndex = MathF.Abs(sens.ShaftTorsionalTorqueNm) / 10000.0f;

            return new HybridControlOutput(
                targetThrottle, 
                motorDampingTorque, 
                oscIndex, 
                false);
        }
    }
}

4. 2022 개정 교육과정 연계: 물리·수학·정보 융합 수업 모델

대구급 호위함의 하이브리드 파워트레인 기술은 고등학교 과학 및 정보 교과에서 훌륭한 융합 탐구 과제가 됩니다:

  • 물리 (회전역학과 비틀림 진동): 회전축의 강성과 비틀림 고유진동수 계산, 2질량 진동계의 공진 회피 및 전자기 유도 모터 토크 반작용.
  • 수학 (삼각함수와 미분방정식): 연립 2계 비동차 미분방정식의 상태공간 표현, 위상 평면(Phase Plane)에서의 동기화 궤적 수렴성 해석.
  • 정보 (임베디드 실시간 인버터 제어): 1밀리초 고주기 인버터 벡터 제어 지령 산출을 위한 무할당 C# 프로그래밍 기법.

5. 결론

대구급 호위함의 하이브리드 기계-전기 추진체계는 침묵의 대잠 사냥꾼과 초고속 해상 전투함의 두 얼굴을 모두 갖춘 첨단 공학의 승리입니다. SSS 동기식 클러치 절환 시 추진축계의 비틀림 충격을 1,000Hz 실시간으로 상쇄하는 0-Alloc C# 엔진은 함정의 수중 음향 스텔스와 파워트레인 기계적 내구성을 세계 최고 수준으로 보장합니다.