2022 개정 교육과정 연계 온디바이스 초임계유체공학·나노소재 STEM 시리즈 #61

초임계 CO2 에어로겔 건조 모세관 압력 서보 엔진

기-액 메니스커스 표면장력($\gamma\rightarrow 0$) 소멸 및 0-Alloc C# 나노기공 붕괴 방지 등온 감압 제어 루프

핵심 연구 개요 및 교과 연계

공기처럼 가벼우면서도 최고의 단열 성능을 자랑하는 '기적의 고체' 실리카 에어로겔(Silica Aerogel)은 공극률이 $95\%$ 이상에 달하는 3차원 나노 다공성 구조를 갖습니다. 습윤 겔(Wet Gel) 내부의 액체 용매를 일반 증발 건조시키면 나노 기공($r \sim 10\text{ nm}$) 내부의 기-액 메니스커스(Meniscus) 계면 표면장력에 의해 수백 기압에 달하는 모세관 압축 응력($\Delta P_{cap} = \frac{2\gamma \cos\theta}{r}$)이 작용하여 골격이 완전히 수축·붕괴(크세로겔화)됩니다. 이를 극복하기 위해 표면장력이 0이 되는 초임계 이산화탄소($\text{scCO}_2$, $T_c = 31.1^\circ\text{C}, P_c = 7.38\text{ MPa}$)로 용매를 치환한 후 상전이 없이 기체로 배출하는 초임계 건조 공정이 필수적입니다.

본 백서는 2022 개정 화학 II (물질의 상태와 상평형도, 임계점과 초임계 유체, 표면장력과 모세관 현상), 미적분 (영-라플라스 모세관 방정식 및 쥴-톰슨 팽창 등온 감압 미분 궤적), 그리고 정보 (C# 13 0-Alloc 스택 연산)를 결합하여, 오토클레이브 챔버의 압력-온도 센서로부터 액-기 공존선을 우회하는 최적 감압 경로를 추종하고 전자식 마이크로 릴리프 밸브를 1,000Hz로 조절하는 온디바이스 초임계 건조 서보 엔진을 구현합니다.

1. 영-라플라스(Young-Laplace) 모세관 응력 및 초임계 상전이 수리 모델

반경 $r$인 원통형 기공 내부 액체와 기체 계면의 모세관 압력차 $\Delta P_{cap}$는 영-라플라스 방정식으로 결정됩니다:

$$\Delta P_{cap} = \frac{2 \gamma \cos\theta}{r}$$

임계점($T_c, P_c$)에 도달하면 액체와 기체의 밀도차가 사라지며 계면 표면장력이 완전히 소멸합니다:

$$\lim_{T \rightarrow T_c} \gamma(T) = \gamma_0 \left( 1 - \frac{T}{T_c} \right)^\mu = 0 \implies \Delta P_{cap} = 0$$

그러나 감압 시 쥴-톰슨(Joule-Thomson) 단열 팽창 효과로 챔버 온도가 급락하여 다시 이상공존 영역으로 진입하면 순간적인 응결로 겔이 파괴되므로, 감압 속도 $\frac{dP}{dt}$와 히터 열량 $Q_{in}$은 다음 관계식을 만족해야 합니다:

$$\frac{dT}{dt} = \mu_{JT} \frac{dP}{dt} + \frac{Q_{in}}{m c_p} \ge 0 \quad (\text{Isothermal Condition})$$

2. 0-Alloc C# 스택 기반 scCO2 에어로겔 등온 감압 서보

고압 오토클레이브의 $P$-$T$ 센서로부터 초임계 마진을 실시간 연산하고 배기 밸브와 히터를 연동하는 ref struct 엔진입니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.SupercriticalFluid
{
    public readonly ref struct AutoclaveTelemetry
    {
        public readonly double PressureMpa;
        public readonly double TemperatureC;
        public readonly double HeaterPowerWatts;
        public readonly double ExhaustFlowRateSccm;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public AutoclaveTelemetry(double pMpa, double tempC, double heaterW, double flowSccm)
        {
            PressureMpa = pMpa;
            TemperatureC = tempC;
            HeaterPowerWatts = heaterW;
            ExhaustFlowRateSccm = flowSccm;
        }
    }

    public readonly ref struct AerogelDryingControlResult
    {
        public readonly double SupercriticalMarginMpa;
        public readonly double TargetDepressurizationRateMpaPerMin;
        public readonly double ReliefValveDutyPercent;
        public readonly double RecommendedHeaterWatts;
        public readonly bool IsPhaseBoundarySafe;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public AerogelDryingControlResult(double margin, double rate, double valveDuty, double heaterW, bool isSafe)
        {
            SupercriticalMarginMpa = margin;
            TargetDepressurizationRateMpaPerMin = rate;
            ReliefValveDutyPercent = valveDuty;
            RecommendedHeaterWatts = heaterW;
            IsPhaseBoundarySafe = isSafe;
        }
    }

    public ref struct SupercriticalDryingServo
    {
        private const double PcCo2Mpa = 7.38;
        private const double TcCo2C = 31.1;
        private const double TargetTempC = 45.0; // 안전 초임계 등온선 (45도 유지)

        private readonly double _maxSafeDepressRateMpaPerMin;
        private double _prevPressureMpa;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public SupercriticalDryingServo(double maxDepressRate)
        {
            _maxSafeDepressRateMpaPerMin = maxDepressRate;
            _prevPressureMpa = PcCo2Mpa;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public AerogelDryingControlResult Step(in AutoclaveTelemetry telemetry, double dt)
        {
            // 1. 초임계 임계점 마진 산출
            double pMargin = telemetry.PressureMpa - PcCo2Mpa;
            double tMargin = telemetry.TemperatureC - TcCo2C;

            // 2. 이상공존 영역 침범 안전도 판별 (온도가 35도 이상 유지되어야 안전)
            bool isSafe = (telemetry.TemperatureC >= 35.0) && (telemetry.PressureMpa > 0.1);

            // 3. 쥴-톰슨 냉각 보상 히터 전력 연산: 온도 편차 추종
            double tempError = TargetTempC - telemetry.TemperatureC;
            double recommendedHeaterW = Math.Clamp(tempError * 50.0 + 150.0, 0.0, 1000.0);

            // 4. 안전 감압 속도 산출 (초임계 상태에서는 완만하게, 대기압 근처에서는 감속)
            double targetRateMpaPerMin = isSafe ? _maxSafeDepressRateMpaPerMin : _maxSafeDepressRateMpaPerMin * 0.2;

            // 5. 비례 릴리프 밸브 듀티 제어
            double actualRateMpaPerMin = dt > 0.0 ? ((_prevPressureMpa - telemetry.PressureMpa) / dt) * 60.0 : 0.0;
            _prevPressureMpa = telemetry.PressureMpa;

            double rateError = targetRateMpaPerMin - actualRateMpaPerMin;
            double valveDuty = Math.Clamp(15.0 + 5.0 * rateError, 0.0, 100.0);

            return new AerogelDryingControlResult(pMargin, targetRateMpaPerMin, valveDuty, recommendedHeaterW, isSafe);
        }
    }
}

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

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

  • 화학 II [물질의 상태와 상평형]: 이산화탄소의 $P$-$T$ 상평형도에서 액체와 기체의 경계가 사라지는 임계점의 물리화학적 의미 탐구.
  • 화학 II [분자 간 힘과 표면장력]: 나노 크기 모세관에서 작용하는 거대한 모세관 힘이 고체 격자를 파괴하는 원리와 표면장력 소멸을 이용한 방지책 분석.
  • 정보 [임베디드 열역학 프로세스 제어]: 급격한 팽창 시 발생하는 단열 냉각을 히터 전력과 밸브 개폐 연동으로 제어하여 상태도 내 안전 경로를 추종하는 공정 알고리즘 실습.