2022 개정 교육과정 연계 온디바이스 차세대에너지저장·액체금속배터리 STEM 시리즈 #49

고온 액체 금속 배터리(LMB) 마랑고니 계면 서보 엔진

밀도 기반 3상 자발 분리 및 0-Alloc C# 열모세관-로렌츠 대류 전해질 박막 단락 방지 제어 루프

핵심 연구 개요 및 교과 연계

신재생에너지 전력망 연계용 반영구적 대용량 에너지 저장 장치(ESS)의 혁신 주자는 도널드 새더웨이(Donald Sadoway) 교수가 창안한 액체 금속 배터리(LMB, Liquid Metal Battery)입니다. 고온($450^\circ\text{C}$)에서 세 가지 액체 층이 밀도 차이에 의해 자발적으로 성층(Self-segregation)됩니다: 상부 저밀도 음극 액체 리튬($\rho \sim 0.5\text{ g/cm}^3$), 중간 용융염 전해질 $\text{LiCl-LiI}$($\rho \sim 2.0\text{ g/cm}^3$), 하부 고밀도 양극 액체 비스무트-안티몬 합금($\rho \sim 8.0\text{ g/cm}^3$). 그러나 고속 충방전 전류가 흐르면 줄 열(Joule Heating) 불균일로 인한 열모세관 마랑고니(Marangoni) 대류와 자체 자기장에 의한 타이만(Tayler) 자기유체 불안정성이 결합하여 두께 수 mm에 불과한 전해질 층이 국소적으로 파열되며 상·하부 금속이 직접 맞닿는 파멸적 단락(Short-circuit) 위험이 발생합니다.

본 백서는 2022 개정 화학 II (물질의 상태와 밀도, 용융염 전기화학 전지 및 화학 평형, 표면장력 구배), 물리학 II (자기유체역학(MHD) 로렌츠 힘, 부력과 열대류), 미적분 (마랑고니 수 $Ma$ 비선형 방정식 및 계면 파동 나비에-스토크스 편미분), 그리고 정보 (C# 13 0-Alloc 스택 연산)를 결합하여, 셀 전압 노이즈와 초음파 도플러 계면 유속 신호로부터 계면 안정도를 1,000Hz로 진단하고 전류 밀도를 변조하는 온디바이스 LMB 보호 서보 엔진을 완성합니다.

1. 액체 금속 3상 평형 및 열모세관 마랑고니-타이만 수리 모델

계면의 온도 구배 $\nabla T$에 의해 발생하는 계면장력 구배 $\nabla \gamma$는 마랑고니 전단 응력 $\tau_M$을 유발합니다:

$$\tau_M = \nabla \gamma = \frac{\partial \gamma}{\partial T} \nabla T$$

마랑고니 대류의 강도를 나타내는 무차원 마랑고니 수(Marangoni Number) $Ma$는 다음과 같이 정의됩니다:

$$Ma = -\frac{\partial \gamma}{\partial T} \frac{\Delta T \cdot h}{\mu \alpha}$$

여기서 $h$는 전해질 층 두께, $\mu$는 점도, $\alpha$는 열확산율입니다. 동시에 수직 전류 $J_z$가 유도하는 방위각 자기장 $B_\theta$에 의해 발생하는 전자기 핀치력의 불균일성은 타이만 불안정성(Tayler Instability)을 유발하여 계면 파동 진폭 $\eta_{wave}$를 증폭시킵니다:

$$\frac{\partial \eta_{wave}}{\partial t} \approx \sqrt{\frac{\mu_0 J_z^2 R^2}{4 \rho \Delta \rho g}} \cdot \eta_{wave}$$

$\eta_{wave} \ge h_{electrolyte}$ 조건이 되면 액체 금속 간 직접 단락이 발생하므로, 서보 루프는 계면파 임계 진폭을 감지하여 펄스 반전 전류를 인가함으로써 마랑고니 와류를 상쇄합니다.

2. 0-Alloc C# 스택 기반 LMB 계면 안정성 서보

셀 전압 요동 및 내부 저항 미세 리플로부터 전해질 박막 파열 위험도를 연산하고 충방전 전류를 지휘하는 ref struct 엔진입니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.LiquidMetalBattery
{
    public readonly ref struct LmbCellTelemetry
    {
        public readonly double OperatingVoltageV;
        public readonly double CurrentDensityAcm2;
        public readonly double ElectrolyteThicknessMm;
        public readonly double InterfaceVelocityMPerSec;
        public readonly double CellCoreTempC;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public LmbCellTelemetry(double vCell, double jAcm2, double hMm, double velMps, double tempC)
        {
            OperatingVoltageV = vCell;
            CurrentDensityAcm2 = jAcm2;
            ElectrolyteThicknessMm = hMm;
            InterfaceVelocityMPerSec = velMps;
            CellCoreTempC = tempC;
        }
    }

    public readonly ref struct LmbStabilityControlResult
    {
        public readonly double MarangoniNumber;
        public readonly double AllowedCurrentDensityAcm2;
        public readonly double InterfaceWaveAmplitudeMm;
        public readonly bool IsShortCircuitRiskActive;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public LmbStabilityControlResult(double ma, double jAllow, double waveMm, bool risk)
        {
            MarangoniNumber = ma;
            AllowedCurrentDensityAcm2 = jAllow;
            InterfaceWaveAmplitudeMm = waveMm;
            IsShortCircuitRiskActive = risk;
        }
    }

    public ref struct LiquidMetalInterfaceServo
    {
        private const double CriticalMarangoniNumber = 850.0;
        private readonly double _nominalThicknessMm;
        private readonly double _maxSafeCurrentAcm2;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public LiquidMetalInterfaceServo(double nominalThicknessMm, double maxSafeAcm2)
        {
            _nominalThicknessMm = nominalThicknessMm;
            _maxSafeCurrentAcm2 = maxSafeAcm2;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public LmbStabilityControlResult Step(in LmbCellTelemetry telemetry)
        {
            // 1. 유속과 두께로부터 유효 마랑고니 수(Ma) 추정: Ma ~ (v * h) / alpha
            double hM = telemetry.ElectrolyteThicknessMm * 1e-3;
            double maEst = (Math.Abs(telemetry.InterfaceVelocityMPerSec) * hM) / 1.5e-7;

            // 2. 타이만-마랑고니 복합 계면 파동 진폭 추정 (mm)
            double currentStressFactor = telemetry.CurrentDensityAcm2 / _maxSafeCurrentAcm2;
            double waveAmplitudeMm = (telemetry.ElectrolyteThicknessMm * 0.15) * (1.0 + currentStressFactor * currentStressFactor);

            // 3. 단락 위험도 판별 (파동 진폭이 전해질 잔여 두께의 70% 초과 시)
            double remainingMarginMm = telemetry.ElectrolyteThicknessMm - waveAmplitudeMm;
            bool shortRisk = (remainingMarginMm < 0.3) || (maEst > CriticalMarangoniNumber);

            // 4. 안전 허용 전류 밀도 연산 (위험 시 즉각 50% 감쇄 펄스)
            double allowedCurrent = _maxSafeCurrentAcm2;
            if (shortRisk)
            {
                allowedCurrent = _maxSafeCurrentAcm2 * 0.35;
            }
            else if (remainingMarginMm < 0.8)
            {
                allowedCurrent = _maxSafeCurrentAcm2 * 0.75;
            }

            return new LmbStabilityControlResult(maEst, allowedCurrent, waveAmplitudeMm, shortRisk);
        }
    }
}

3. 교육적 가치 및 중고교 실험 시뮬레이션 적용

2022 개정 교육과정 연계 수업 가이드

  • 화학 II [물질의 상태와 용융염 전기화학]: 섞이지 않는 세 액체가 밀도 차이만으로 스스로 분리되어 분리막 없이 작동하는 자가 조립 배터리의 원리 학습.
  • 물리학 II [유체역학과 전자기학의 융합]: 고전류가 만드는 자기장과 온도 차에 의한 계면장력 구배가 액체 금속을 휘젓는 복합 물리 현상 시각화.
  • 정보 [임베디드 대전력 제어 알고리즘]: 대용량 전력망 ESS에서 물리적 단락 파손을 사전에 방지하기 위한 실시간 마진 기반 전류 감쇄 제어 코드 구현.