2022 개정 교육과정 연계 온디바이스 핵융합물리·3차원플라스마 STEM 시리즈 #74

준등역학적 스텔러레이터 자기 섬(Island) 다이버터 서보 엔진

3차원 자기장 회전 변환각($\iota$) 및 0-Alloc C# 열부하 분산 헬리컬 보정 제어 루프

핵심 연구 개요 및 교과 연계

토카막과 달리 플라스마 내부 전류 유도 없이 외부의 정밀 3차원 비평면(Non-planar) 초전도 코일만으로 정상 상태(Steady-state) 무붕괴(Disruption-free) 운전이 가능한 핵융합 장치는 준등역학적(Quasi-isodynamic) 스텔러레이터(Stellarator)입니다. 대표 장치인 독일 벤델슈타인 7-X(W7-X)는 플라스마 경계부의 공진 자속 표면에서 자연 발생하는 자기 섬(Magnetic Island) 체계를 활용하는 아일랜드 다이버터(Island Divertor)를 채택합니다. 그러나 고성능 플라스마 베타($\beta$) 상승 시 플라스마 내부 반자성 전류로 인한 자속 표면 변형이 타격점(Strike Point) 열유속을 $10\text{ MW/m}^2$ 이상으로 편중시킵니다.

본 백서는 2022 개정 물리학 II (전류가 만드는 자기장, 로렌츠 힘과 하전 입자의 나선 운동, 플라스마 자기 닫힘), 미적분 (3차원 자기장 벡터 포텐셜 회전 변환 및 자기 자속 편미분방정식), 그리고 정보 (C# 13 0-Alloc 스택 연산)를 결합하여, 적외선(IR) 서모그래피 센서의 다이버터 타일 국소 온도 데이터로부터 5개의 헬리컬 보정 자석 전류를 1,000Hz로 미세 제어하여 열부하를 전 영역에 균일하게 스위핑 분산시키는 온디바이스 다이버터 서보 아키텍처를 제시합니다.

1. 스텔러레이터 회전 변환각($\iota$) 및 아일랜드 다이버터 자속 기하학

토로이달 축을 한 바퀴 회전할 때 폴로이달 방향으로 회전하는 각도의 비율인 회전 변환각(Rotational Transform) $\iota = 1/q$가 유리수 조건을 만족하는 경계 공진면($\iota = 5/5 = 1.0$)에서 $m=5, n=5$의 자기 섬 체인이 형성됩니다:

$$\iota(r) = \frac{m}{n} \implies \text{Resonance Island Chain}$$

자기 섬의 폭 $W$는 공진면에서의 반경 방향 섭동 자기장 $b_r = \delta B_r / B_0$과 자기 전단(Magnetic Shear $s = \frac{r}{\iota}\frac{d\iota}{dr}$)에 의해 결정됩니다:

$$W = 4 \sqrt{\frac{R_0 b_r}{m (d\iota/dr)}}$$

외부 보정 제어 코일(Control Coil) 전류 $I_{ctrl}$을 통해 인위적인 공진 섭동 자기장 $b_r$의 위상과 진폭을 회전시키면, 다이버터 타겟 플레이트에 부딪히는 타격선(Strike Line)의 위치 $x_{strike}$를 마이크로미터 단위로 역학 제어할 수 있습니다:

$$\Delta x_{strike} \propto \frac{\partial \psi_{island}}{\partial I_{ctrl}} \cdot \cos(\theta - \delta)$$

2. 0-Alloc C# 스택 기반 스텔러레이터 타격점 서보

적외선 다이버터 타일 온도 배열로부터 열부하 피크를 실시간 추적하고 다극 보정 코일 전류를 산출하는 ref struct 제어 루프입니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.StellaratorPhysics
{
    public readonly ref struct DivertorThermalTelemetry
    {
        public readonly double PeakTileTemperatureC;
        public readonly double AverageTileTemperatureC;
        public readonly double StrikePointOffsetX сталиMm;
        public readonly double PlasmaBetaPercent;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public DivertorThermalTelemetry(double peakTempC, double avgTempC, double offsetMm, double betaPercent)
        {
            PeakTileTemperatureC = peakTempC;
            AverageTileTemperatureC = avgTempC;
            StrikePointOffsetX = offsetMm;
            PlasmaBetaPercent = betaPercent;
        }
    }

    public readonly ref struct IslandDivertorControlResult
    {
        public readonly double TargetSweepingFreqHz;
        public readonly double ControlCoilCurrentAmps;
        public readonly double HeatFluxMitigationRatio;
        public readonly bool IsThermalSafe;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public IslandDivertorControlResult(double freqHz, double currentAmps, double mitigation, bool isSafe)
        {
            TargetSweepingFreqHz = freqHz;
            ControlCoilCurrentAmps = currentAmps;
            HeatFluxMitigationRatio = mitigation;
            IsThermalSafe = isSafe;
        }
    }

    public ref struct StellaratorDivertorServo
    {
        private readonly double _maxAllowableTempC;
        private readonly double _kpCurrent;
        private double _sweepPhaseRad;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public StellaratorDivertorServo(double maxTempC, double kp)
        {
            _maxAllowableTempC = maxTempC;
            _kpCurrent = kp;
            _sweepPhaseRad = 0.0;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public IslandDivertorControlResult Step(in DivertorThermalTelemetry telemetry, double dt)
        {
            // 1. 타일 온도 여유분 및 열부하 위험 판별
            double tempMargin = _maxAllowableTempC - telemetry.PeakTileTemperatureC;
            bool isSafe = tempMargin > 100.0;

            // 2. 동적 타격점 스위핑 주파수 산출 (온도가 높을수록 고속 스위핑으로 열 분산)
            double sweepFreqHz = isSafe ? 1.0 : 10.0 + 0.05 * (telemetry.PeakTileTemperatureC - _maxAllowableTempC);
            _sweepPhaseRad += 2.0 * Math.PI * sweepFreqHz * dt;
            if (_sweepPhaseRad > 2.0 * Math.PI) _sweepPhaseRad -= 2.0 * Math.PI;

            // 3. 헬리컬 제어 코일 전류 진폭 연산 (플라스마 베타에 따른 샤프라노프 시프트 보정 포함)
            double baseCurrentAmps = 500.0 * (1.0 + 0.25 * telemetry.PlasmaBetaPercent);
            double thermalFeedback = Math.Max(0.0, -tempMargin) * _kpCurrent;
            double coilCurrent = (baseCurrentAmps + thermalFeedback) * Math.Sin(_sweepPhaseRad);

            // 4. 열부하 완화율 추정 (스위핑 면적 확대 효과)
            double mitigation = 1.0 + 0.4 * (sweepFreqHz / 5.0);

            return new IslandDivertorControlResult(sweepFreqHz, coilCurrent, mitigation, isSafe);
        }
    }
}

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

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

  • 물리학 II [자기장과 플라스마]: 토카막의 원형 대칭 자기장과 스텔러레이터의 3차원 복합 곡면 자기장의 구조적 차이 및 무전류 플라스마 가둠의 물리적 메커니즘 시각화.
  • 물리학 II [에너지와 열전달]: 초고온 플라스마에서 튀어나오는 하전 입자가 다이버터 금속판에 충돌할 때 발생하는 극한 열유속 전도 및 냉각 프로세스 탐구.
  • 정보 [실시간 임베디드 시뮬레이션]: 3차원 공간에서 회전하는 자기 섬의 기하학적 형태를 행렬 수학으로 모델링하고 실시간으로 자석 전류를 제어하는 디지털 트윈 실습.