1. 개요
우주 초신성 폭발(Supernova) 시 방출되는 방대한 양의 중성미자(Neutrino)를 포착하는 액체 아르곤 시분해 투영 챔버(Liquid Argon Time Projection Chamber, LArTPC)는 현대 입자물리학 및 우주론 연구의 정점입니다. 중성미자가 액체 아르곤 원자핵과 충돌할 때 발생하는 전리 전자(Ionization Electrons)는 수 미터에 달하는 표류 영역(Drift Region)을 가로질러 양극 감지 와이어 평면(Anode Plane)으로 이동합니다. 이때 500 V/cm에 달하는 균일한 표류 전기장(Drift Electric Field)을 형성하기 위해 음극 캐소드에는 -180 kV에 달하는 초고전압이 인가됩니다. 그러나 고전압 전원 장치의 스위칭 리플, 극저온 액체 아르곤 내 대류 유동 및 미량의 전기음성도 불순물(산소, 수분)에 의한 전자 포획(Electron Attenuation)은 전자 도달 시간 및 전하량 재구성에 치명적인 왜곡을 초래합니다. 본 고에서는 10,000Hz 주기로 전계 불균일도를 실시간 보정하고 전자 수명 감쇠 계수를 적응적으로 복원하는 0-Alloc C# 엔진을 구현합니다.
2. 수학적 모델링 및 지배 방정식
표류 거리 \(z\)와 표류 속도 \(v_d(E, T)\)에 따른 표류 시간 \(t_{drift} = z / v_d\) 및 전리 전자 수명 \(\tau_e\)에 의한 생존 전하량 감쇠 방정식은 다음과 같습니다:
전기장 왜곡 \(\Delta E(z, t)\)과 공간 전하(Space Charge Effect) 밀도 \(\rho_{ion}(z, t)\)에 관한 1차원 포아송 방정식은 다음과 같습니다:
음극 전압 리플 \(\delta V_c(t)\) 억제를 위한 고속 피드포워드 동적 제어 전압 \(u_{comp}(t)\) 및 전달함수 \(G_c(s)\)는 다음과 같습니다:
최종 수신 전하량 교정 팩터 \(\eta_{cal}(z, t)\)는 다음과 같이 닫힌 형태로 계산됩니다:
3. 실시간 C# 서보 제어기 구현
다음은 음극 고전압 리플과 공간전하 왜곡을 마이크로초 단위로 추종하여 전하량을 보정하는 고성능 0-Alloc C# 엔진 구현체입니다:
using System;
using System.Runtime.CompilerServices;
namespace ZeliDesk.Stem.LArTPC
{
public readonly ref struct LArTpcSensorFrame
{
public readonly double MeasuredCathodeVoltageKv;
public readonly double TargetCathodeVoltageKv;
public readonly double PurityElectronLifetimeMs;
public readonly double LiquidArgonTempKelvin;
public readonly double DriftDistanceMeters;
public readonly double RawIonizationChargeFc;
public LArTpcSensorFrame(
double measuredCathodeVoltageKv,
double targetCathodeVoltageKv,
double purityElectronLifetimeMs,
double liquidArgonTempKelvin,
double driftDistanceMeters,
double rawIonizationChargeFc)
{
MeasuredCathodeVoltageKv = measuredCathodeVoltageKv;
TargetCathodeVoltageKv = targetCathodeVoltageKv;
PurityElectronLifetimeMs = purityElectronLifetimeMs;
LiquidArgonTempKelvin = liquidArgonTempKelvin;
DriftDistanceMeters = driftDistanceMeters;
RawIonizationChargeFc = rawIonizationChargeFc;
}
}
public ref struct LArTpcControlCommand
{
public double HighVoltageRippleErrorKv;
public double CorrectionVoltageOutKv;
public double DriftVelocityMmPerUs;
public double AttenuationCompensationFactor;
public double CorrectedIonizationChargeFc;
public bool IsFieldUniformityOptimal;
}
public ref struct LArTpcDriftFieldServoEngine
{
private readonly double _kp;
private readonly double _ki;
private readonly double _kd;
private readonly double _dt;
private double _voltageErrorIntegral;
private double _prevVoltageError;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public LArTpcDriftFieldServoEngine(double kp, double ki, double kd, double dt)
{
_kp = kp;
_ki = ki;
_kd = kd;
_dt = dt;
_voltageErrorIntegral = 0.0;
_prevVoltageError = 0.0;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ComputeCorrection(in LArTpcSensorFrame frame, out LArTpcControlCommand cmd)
{
cmd = default;
double errorKv = frame.TargetCathodeVoltageKv - frame.MeasuredCathodeVoltageKv;
_voltageErrorIntegral += errorKv * _dt;
if (_voltageErrorIntegral > 10.0) _voltageErrorIntegral = 10.0;
else if (_voltageErrorIntegral < -10.0) _voltageErrorIntegral = -10.0;
double derivKv = (errorKv - _prevVoltageError) / _dt;
_prevVoltageError = errorKv;
double vOut = (_kp * errorKv) + (_ki * _voltageErrorIntegral) + (_kd * derivKv);
// Calculate Drift Velocity based on Electric field E (kV/cm)
double nominalFieldKvPerCm = Math.Abs(frame.TargetCathodeVoltageKv) / (frame.DriftDistanceMeters * 100.0);
double vd = (1.6 * nominalFieldKvPerCm) / (1.0 + 0.4 * nominalFieldKvPerCm); // mm / us
// Attenuation compensation
double driftTimeMs = (frame.DriftDistanceMeters * 1000.0) / (vd * 1000.0);
double tau = Math.Max(0.1, frame.PurityElectronLifetimeMs);
double compFactor = Math.Exp(driftTimeMs / tau);
double correctedCharge = frame.RawIonizationChargeFc * compFactor;
cmd.HighVoltageRippleErrorKv = errorKv;
cmd.CorrectionVoltageOutKv = vOut;
cmd.DriftVelocityMmPerUs = vd;
cmd.AttenuationCompensationFactor = compFactor;
cmd.CorrectedIonizationChargeFc = correctedCharge;
cmd.IsFieldUniformityOptimal = Math.Abs(errorKv) < 0.05;
}
}
}
4. 교육 및 실무 적용 방안
- 한국방송통신대학교 AI 교구: 물리 전자기학의 정전 차폐, 전하 수송 방정식, 극저온 유체 내 드리프트 속도 모델을 직관적으로 실습.
- 국가 기초과학연구원(IBS) 및 입자물리 검출기: 대형 암흑물질 탐색 및 초신성 중성미자 시분해 검출기의 실시간 데이터 트리거링 시스템 구축.