수 킬로그램 단위의 큐브위성(CubeSat)과 우주 레이저 중력파 간섭계(LISA) 편대비행 위성이 마이크로뉴턴($\mu\text{N}$) 수준의 극한 정밀도로 궤도와 자세를 유지하기 위한 핵심 추진 기술은 이온성 액체(Ionic Liquid) 기반의 정전분무(Electrospray) 콜로이드 추진기입니다. 강한 정전기력과 유체 표면장력의 평형으로 형성되는 테일러 콘(Taylor Cone) 정점에서 방출되는 고속 이온 빔과 대전 액적의 분사 역학을 1,000Hz 주기로 0-Alloc C# 수치해석하는 우주 전기추진 시뮬레이터를 공개합니다.

1. 2022 개정 교육과정 교과 연계 분석

  • 물리학 (정전기력과 표면장력 평형, 쿨롱의 법칙 및 테일러 반각 $\theta=49.3^\circ$): 정전기 인장 응력 $P_E = \frac{1}{2} \varepsilon_0 E^2$과 모세관 압력 $P_\gamma = \frac{2\gamma}{r_c}$의 평형, 전압 인가에 따른 원뿔형 테일러 콘 형성과 정점에서의 전하 집적.
  • 화학/물리화학 (비휘발성 상온 이온성 액체 및 전리 에너지 장벽): 이미다졸륨계 이온성 액체($\text{EMI-BF}_4$)의 무증기압 진공 안정성, 높은 전기 전도도($\approx 1.3\,\text{S/m}$) 및 음이온-양이온 교번 방전을 통한 위성 대전 중화.
  • 수학 (비추력 대수 방정식 및 정전기 퍼텐셜 라플라스 방정식): 이온 질량 대 전하비 $q/m$와 가속 전압 $V_a$에 따른 배출 속도 $v_e = \sqrt{2 \frac{q}{m} V_a}$, 비추력 $I_{sp} = \frac{v_e}{g_0}$, 추력 $T = \dot{m} v_e = I_{beam} \sqrt{2 \frac{m}{q} V_a}$.
  • 정보 (무할당 실시간 1,000Hz 마이크로뉴턴 추력 및 PWM 고전압 펄스 제어 코어): 1ms 루프 내에서 GC 오버헤드 없이 인가 전압 펄스에 따른 방출 빔 전류와 $\mu\text{N}$ 추력을 0-Alloc으로 정밀 제어하는 C# 온디바이스 엔진.

2. 콜로이드 정전분무 추진 수식 모델

추진제 유량 $\dot{m}$, 방출 빔 전류 $I_{beam}$, 가속 전압 $V_a$, 이온화 질량 전하비 $q/m$에 대해 생성되는 마이크로 추력 $F$와 비추력 $I_{sp}$는 다음과 같습니다:

$$F = \dot{m} v_e = I_{beam} \sqrt{\frac{2 V_a}{q/m}}$$ $$I_{sp} = \frac{v_e}{g_0} = \frac{1}{g_0} \sqrt{2 \frac{q}{m} V_a}$$

테일러 콘의 개시 전압 $V_{on}$은 모세관 에미터 팁 반경 $r_c$, 추출기 전극 간격 $d$, 표면장력 $\gamma$에 의해 레일리 한계(Rayleigh Limit) 조건으로 결정됩니다:

$$V_{on} = \sqrt{\frac{\gamma r_c}{2 \varepsilon_0}} \ln\left( \frac{4 d}{r_c} \right)$$

3. 1,000Hz 0-Alloc C# 콜로이드 추진 제어 코어

힙 메모리 할당이 전혀 발생하지 않는 ref struct 구조체를 통해 1ms 제어 주기마다 나노암페어 빔 전류와 마이크로뉴턴 추력을 고속 연산합니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.SpaceElectricPropulsion;

/// 
/// 콜로이드 정전분무 추진 상태 구조체 (100% Stack Allocation)
/// 
public readonly ref struct ColloidThrusterState
{
    public readonly double ExtractorVoltageVolt;   // 추출 전압 (V)
    public readonly double BeamCurrentMicroAmp;    // 빔 전류 (μA)
    public readonly double ThrustMicroNewton;      // 분사 추력 (μN)
    public readonly double SpecificImpulseSec;     // 비추력 Isp (s)
    public readonly double MassFlowRateNgS;        // 질량 유량 (ng/s)
    public readonly double PowerEfficiencyPercent; // 전력-추력 변환 효율 (%)

    [MethodImpl(MethodImplOptions.AggressiveInlining)]
    public ColloidThrusterState(
        double extractorVoltageVolt,
        double beamCurrentMicroAmp,
        double thrustMicroNewton,
        double specificImpulseSec,
        double massFlowRateNgS,
        double powerEfficiencyPercent)
    {
        ExtractorVoltageVolt = extractorVoltageVolt;
        BeamCurrentMicroAmp = beamCurrentMicroAmp;
        ThrustMicroNewton = thrustMicroNewton;
        SpecificImpulseSec = specificImpulseSec;
        MassFlowRateNgS = massFlowRateNgS;
        PowerEfficiencyPercent = powerEfficiencyPercent;
    }
}

/// 
/// 1,000Hz 0-Alloc C# 큐브위성 콜로이드 정전분무 추진기 수치 시뮬레이터
/// 
public static class ColloidThrusterEngine
{
    private const double Gravity = 9.80665;
    private const double EmitterRadiusM = 15e-6;      // 모세관 팁 반경 (15 μm)
    private const double SurfaceTension = 0.048;      // EMI-BF4 표면장력 (N/m)
    private const double ChargeToMassRatio = 8.5e5;   // 비전하 q/m (C/kg)
    private const double OnsetVoltageVolt = 1450.0;   // 테일러 콘 개시 전압 (V)

    /// 
    /// 1ms 타임스텝 콜로이드 분사 거동 연산 (0-Alloc)
    /// 
    [MethodImpl(MethodImplOptions.AggressiveInlining)]
    public static ColloidThrusterState StepPropulsion(
        double commandedVoltageVolt,
        int activeEmitterCount = 48)
    {
        // 1. 테일러 콘 형성 여부 및 유효 전압 차
        if (commandedVoltageVolt < OnsetVoltageVolt)
        {
            return new ColloidThrusterState(commandedVoltageVolt, 0.0, 0.0, 0.0, 0.0, 0.0);
        }

        double deltaV = commandedVoltageVolt - OnsetVoltageVolt;

        // 2. 단일 에미터 방출 빔 전류: I = k * ΔV^1.5 (A)
        double currentPerEmitter = 1.8e-8 * Math.Pow(deltaV, 1.5); // A
        double totalCurrentMicroAmp = (currentPerEmitter * activeEmitterCount) * 1e6;

        // 3. 배출 속도 ve 및 비추력: ve = sqrt(2 * (q/m) * Va)
        double exhaustVelocity = Math.Sqrt(2.0 * ChargeToMassRatio * commandedVoltageVolt);
        double ispSec = exhaustVelocity / Gravity;

        // 4. 질량 유량 m_dot = I_total / (q/m) (kg/s)
        double massFlowKgS = (totalCurrentMicroAmp * 1e-6) / ChargeToMassRatio;
        double massFlowNgS = massFlowKgS * 1e12;

        // 5. 추력 F = m_dot * ve (N -> μN)
        double thrustNewtons = massFlowKgS * exhaustVelocity;
        double thrustMicroNewton = thrustNewtons * 1e6;

        // 6. 전력 효율
        double kineticPower = 0.5 * massFlowKgS * exhaustVelocity * exhaustVelocity;
        double electricalPower = (totalCurrentMicroAmp * 1e-6) * commandedVoltageVolt;
        double efficiency = electricalPower > 0.0 ? (kineticPower / electricalPower) * 100.0 : 0.0;

        return new ColloidThrusterState(
            commandedVoltageVolt,
            totalCurrentMicroAmp,
            thrustMicroNewton,
            ispSec,
            massFlowNgS,
            efficiency);
    }
}

4. 교육 및 산업적 시사점

2022 개정 교육과정 물리학의 정전기장, 쿨롱 힘, 전하의 가속 및 표면장력 개념이 현대 심우주 탐사 및 우주 편대비행 위성의 초정밀 추력 제어에 적용되는 최첨단 사례를 제공합니다. 거시적 화학 로켓의 연소와 대비되는 미시적 정전기 분무 원리를 1,000Hz 0-Alloc C# 코드로 실시간 해석함으로써, 항공우주공학 및 마이크로 플루이딕스 융합 탐구 학습에 매우 강력한 시각을 열어줍니다.