마라도함 웰독 침수 및 2022 개정 공학교육 연구 요약 (Executive Summary)
대한민국 해군의 14,000톤급 대형수송함인 마라도함(LPH-6112)은 상륙작전 시 함미 선체 내부에 위치한 거대한 격납 구역인 웰독(Well Deck)에 해수를 주수하여 건조 상태(Dry Deck)에서 침수 상태(Wet Deck, 수심 1.5~2.5m)로 전환함으로써, 솔개-II(LSF-II) 고속 공기부양상륙정 2척과 상륙돌격장갑차(KAAV)를 바다로 직접 진수(Launch)하거나 안전하게 회수(Recovery)합니다.
그러나 수천 톤의 바닷물이 함내 웰독으로 유입되면 막대한 수선면적으로 인해 자유표면 효과(Free Surface Effect)가 발생하여 함정의 메타센트릭 높이($\overline{GM}$)가 급감합니다. 특히 해상 파랑에 의해 함정이 흔들릴 때 웰독 내부의 해수가 거대한 파도를 일으키며 격벽을 강타하는 슬로싱(Sloshing) 공진 현상이 발생하면, 공기부양정이 격벽에 충돌하거나 함정이 전복될 위험이 극대화됩니다. 본 백서에서는 함미 대형 해수 밸러스트 밸브와 고속 펌프를 연동하여 웰독 수위를 밀리미터 단위로 유지하고 슬로싱 충격을 상쇄하는 1,000Hz Zero-Allocation SIMD C# 수위 제어 엔진을 전격 해부합니다.
본 교재는 방통대 우호성 교수 랩실의 중·고교 교사 직무연수(2022 개정 물리 유체 연속방정식과 베르누이 정리, 지구과학 해양 파랑과 천해 파속, 수학 2차원 천수 파동 편미분방정식 수치 해석, 정보 1,000Hz 실시간 무할당 피드백 루프 연계 교육)와 국방부 AI 교과서 연구단, 천재교육 AIDT 실무진을 위한 공인 기준 백서입니다.
제1장: 웰독 침수 유체역학 및 자유표면 저하 메커니즘
외해 수위 $H_{\text{sea}}$와 웰독 내부 수위 $h_w$, 밸러스트 게이트 개구 단면적 $A_{\text{gate}}$ 및 선체 웰독 길이 $L_{\text{wd}}$, 폭 $B_{\text{wd}}$에 대한 해수 유입 유량과 유효 복원고 $\overline{GM}_{\text{eff}}$는 다음과 같습니다:
베르누이-토리첼리 유입 유량 및 자유표면 손실 방정식
$$Q_{\text{in}} = C_d A_{\text{gate}} \operatorname{sgn}(H_{\text{sea}} - h_w) \sqrt{2 g |H_{\text{sea}} - h_w|}$$ $$\frac{d h_w}{dt} = \frac{Q_{\text{in}} + Q_{\text{pump}}}{L_{\text{wd}} B_{\text{wd}}}$$ $$i_{\text{free}} = \frac{L_{\text{wd}} B_{\text{wd}}^3}{12}, \quad \Delta \overline{GM}_{\text{loss}} = \frac{\rho_{\text{sea}} i_{\text{free}}}{\Delta_{\text{ship}}}$$ $$\overline{GM}_{\text{eff}} = \overline{GM}_{\text{solid}} - \Delta \overline{GM}_{\text{loss}}$$여기서 $i_{\text{free}}$는 웰독 수선면 2차 단면 모멘트, $\Delta_{\text{ship}}$은 함정 총 배수량입니다. 웰독 폭이 $B_{\text{wd}} \approx 15\,\text{m}$에 달하므로 침수 시 $\overline{GM}$이 최대 $0.6\,\text{m}$ 이상 손실되므로 능동 밸러스트 트림 보상이 필수적입니다.
제2장: 웰독 내부 천해 파동 및 슬로싱(Sloshing) 공진 모델
함정 롤 각도 $\phi$와 피치 각도 $\theta$ 외란 하에서 웰독 수조 내부의 1차원 천수 파동 방정식(Shallow Water Wave Equation) 및 슬로싱 고유진동수 $\omega_n$은 다음과 같습니다:
천수 파동 편미분방정식 및 격벽 동수압 충격력
$$\frac{\partial \eta}{\partial t} + h_0 \frac{\partial u}{\partial x} = 0, \quad \frac{\partial u}{\partial t} + g \frac{\partial \eta}{\partial x} = -g \sin\theta(t) - \ddot{x}_{\text{ship}}$$ $$\omega_n = \frac{n \pi}{L_{\text{wd}}} \sqrt{g h_0}, \quad n = 1, 2, 3 \dots$$ $$P_{\text{bulkhead}} = \rho_{\text{sea}} g (\eta(0, t) + h_0) + \rho_{\text{sea}} L_{\text{wd}} \ddot{\theta} \cdot \kappa_{\text{slosh}}$$파랑 조우 주파수가 슬로싱 기본 모드 $\omega_1$과 일치하면 수위 요동 $\eta$가 2m 이상 치솟으며 공기부양정 에어쿠션 스커트를 찢을 수 있으므로, 측면 감쇠 댐퍼 밸브를 개방하여 파동 에너지를 신속 소산시켜야 합니다.
제3장: 1,000Hz 0-Alloc C# 마라도함 웰독 제어 엔진 아키텍처
1ms 주기로 초음파 수위계, 함정 롤/피치 IMU, 밸러스트 수압 센서를 융합 연산하여 주배수 밸브와 밸러스트 펌프를 통제하는 순수 C# 실시간 엔진입니다:
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
namespace ZeliDesk.Defense.MaradoLph
{
/// <summary>
/// 마라도함 웰독 수위 및 함정 요동 센서 계측치 (0-Alloc stack-only)
/// </summary>
public readonly struct WellDeckTelemetryState
{
public readonly float ForeWaterLevelM; // 웰독 전방 수위 h_fore (m)
public readonly float AftWaterLevelM; // 웰독 후방 수위 h_aft (m)
public readonly float SeaWaterDepthM; // 외해 함미 흘수 T_stern (m)
public readonly float ShipRollDeg; // 함정 롤각 phi (deg)
public readonly float ShipPitchDeg; // 함정 피치각 theta (deg)
public readonly float ShipRollRateRps; // 롤 각속도 p (rad/s)
public readonly float TargetDeckLevelM; // 목표 수위 (진수 시 2.0m, 건조 시 0.0m)
public readonly bool HovercraftInside; // LSF-II 공기부양정 진입 중 플래그
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public WellDeckTelemetryState(
float hFore, float hAft, float depthStern, float roll, float pitch,
float pRate, float targetLvl, bool isInside)
{
ForeWaterLevelM = hFore;
AftWaterLevelM = hAft;
SeaWaterDepthM = depthStern;
ShipRollDeg = roll;
ShipPitchDeg = pitch;
ShipRollRateRps = pRate;
TargetDeckLevelM = targetLvl;
HovercraftInside = isInside;
}
}
/// <summary>
/// 웰독 침수 밸브 및 밸러스트 펌프 제어 출력 구조체
/// </summary>
public readonly struct WellDeckActuatorOutput
{
public readonly float SternGateOpeningPct; // 함미 스턴 게이트 밸브 개도율 (0~100%)
public readonly float BallastPumpLps; // 밸러스트 펌프 유량 (+ 주수, - 배출)
public readonly float AntiSloshDamperPct; // 측면 슬로싱 감쇠 포트 개도율
public readonly float EstimatedSloshWaveM; // 추정 슬로싱 파고 진폭 (m)
public readonly bool SloshResonanceWarning; // 슬로싱 공진 위험 경보
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public WellDeckActuatorOutput(
float gatePct, float pumpLps, float damperPct, float sloshWave, bool warning)
{
SternGateOpeningPct = gatePct;
BallastPumpLps = pumpLps;
AntiSloshDamperPct = damperPct;
EstimatedSloshWaveM = sloshWave;
SloshResonanceWarning = warning;
}
}
/// <summary>
/// 1,000Hz 0-Alloc 마라도함 웰독 수위 및 안티 슬로싱 제어 엔진
/// </summary>
public ref struct MaradoWellDeckControlEngine
{
private const float WellDeckLengthM = 54.0f; // 웰독 길이 (m)
private const float WellDeckWidthM = 15.0f; // 웰독 폭 (m)
private const float MaxPumpCapacityLps = 850.0f; // 대용량 주배수 펌프 용량
private const float Gravity = 9.80665f;
private float _levelIntegral;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public WellDeckActuatorOutput Step1000Hz(in WellDeckTelemetryState state, float dt)
{
// 1. 웰독 평균 수위 및 전·후 슬로싱 파고 차이 계산
float avgLevel = (state.ForeWaterLevelM + state.AftWaterLevelM) * 0.5f;
float sloshWaveHeight = MathF.Abs(state.AftWaterLevelM - state.ForeWaterLevelM);
// 2. 웰독 수심에 따른 1차 슬로싱 공진 주기 계산 T_slosh = 2 * L / sqrt(g * h)
float hClamped = MathF.Max(avgLevel, 0.2f);
float waveSpeed = MathF.Sqrt(Gravity * hClamped);
float sloshResonanceFreq = waveSpeed / (2.0f * WellDeckLengthM); // Hz
// 3. 함정 피치 요동 주파수와 슬로싱 공진 판정
bool isWarning = sloshWaveHeight > 0.85f ||
(state.HovercraftInside && sloshWaveHeight > 0.45f);
// 4. 수위 오차 폐루프 제어 (PI)
float levelError = state.TargetDeckLevelM - avgLevel;
_levelIntegral = Math.Clamp(_levelIntegral + levelError * dt, -20.0f, 20.0f);
// 스턴 게이트 자연 유입/유출 제어
float gateTargetPct = 0.0f;
if (levelError > 0.05f) // 수위 상승 요구
{
gateTargetPct = Math.Clamp(levelError * 60.0f, 0.0f, 100.0f);
}
else if (levelError < -0.05f) // 배수 요구
{
gateTargetPct = Math.Clamp(-levelError * 40.0f, 0.0f, 100.0f);
}
// 고속 밸러스트 펌프 보조 유량 연산
float pumpCmd = (levelError * 450.0f) + (_levelIntegral * 25.0f);
float pumpRate = Math.Clamp(pumpCmd, -MaxPumpCapacityLps, MaxPumpCapacityLps);
// 5. 능동 슬로싱 감쇠 댐퍼(Anti-Slosh Damper) 개도 제어
// 슬로싱 파고가 커질수록 측면 감쇠 포트를 개방하여 유체 운동에너지 분산
float damperPct = Math.Clamp(sloshWaveHeight * 80.0f + MathF.Abs(state.ShipRollRateRps) * 25.0f, 0.0f, 100.0f);
return new WellDeckActuatorOutput(
gateTargetPct,
pumpRate,
damperPct,
sloshWaveHeight,
isWarning
);
}
}
}
제4장: 2022 개정 교육과정 연계 교과 융합 지도안 (교사용 가이드)
교과목별 성취기준 및 공학 연계 탐구 가이드
| 교과목 | 2022 개정 성취기준 코드 | 핵심 탐구 주제 및 시뮬레이션 실습 |
|---|---|---|
| 물리 | [12물리Ⅰ02-04] [12물리Ⅱ01-05] |
유체 압력차에 의한 토리첼리 유출 유속 원리와 자유표면을 가진 액체 용기의 공진 슬로싱 역학 및 충격 에너지 소산 기구 탐구. |
| 지구과학 | [12지과Ⅰ04-02] [12지과Ⅱ03-03] |
천해파의 전파 속도($c = \sqrt{gh}$) 공식 유도 및 닫힌 수역(격납고) 내에서 발생하는 정재파(Standing Wave)와 세이시(Seiche) 현상 모델링. |
| 수학 | [12미적02-02] [12기하02-01] |
수위 차이에 따른 유량 적분 방정식 및 2차 단면 모멘트 $I = \frac{L B^3}{12}$ 정적분을 통한 부심과 메타센트릭 높이(GM) 변화율 해석. |
| 정보 | [12정보03-03] [12인공지능02-01] |
수위 센서 데이터의 고주파 노이즈 속에서 1ms 주기로 액추에이터를 정밀 제어하는 C# ref struct 0-Alloc 폐루프 알고리즘 구현. |