1. 서론: 미래 원전의 패러다임 전환, SMR 고유 안전성과 초임계 $\text{CO}_2$ 발전 혁신
소형 모듈형 원자로(Small Modular Reactor, SMR)는 전기출력 300MWe 이하의 일체형 원자로로, 원자로 냉각재 펌프, 증기발생기, 가압기를 하나의 압력용기 내에 통합하여 배관 파단 사고(LOCA)의 위험을 원천 배제한 4세대 혁신 원전입니다.
여기에 기존의 거대한 증기 터빈 시스템 대신 임계점($31.0^\circ\text{C}, 7.38\,\text{MPa}$) 이상의 초임계 이산화탄소(supercritical $\text{CO}_2$, $s\text{CO}_2$) 브레이턴 사이클을 적용하면, 높은 유체 밀도로 인해 터빈 부피를 1/10 이하로 소형화하면서도 열효율을 45% 이상으로 대폭 끌어올릴 수 있습니다.
고유 부반응도 피드백과 초임계 유체 압축성
노심 온도 상승 시 우라늄-238의 공명 흡수가 넓어지는 도플러 효과(Doppler Effect)에 의해 반응도가 자동으로 감소하는 고유 안전성이 확보되어 있습니다. 그러나 $s\text{CO}_2$ 압축기 입구 부근의 급격한 물성 변화(압축성 인자 $Z$ 변동)와 연계된 과도 응답을 사수하기 위해 1,000Hz 초고속 제어봉 구동 서보가 요구됩니다.
2. 원자로물리 및 열유체 모델링: 6군 지연중성자 점동역학 & 도플러 부반응도 계수
2.1 6군 지연중성자 점동역학 방정식(Point Kinetics)
중성자속 밀도 $n(t)$와 6개 선구핵군 농도 $C_i(t)$의 시공간 연속 방정식은 다음과 같습니다:
$$\frac{dn}{dt} = \frac{\rho(t) - \beta}{\Lambda} n(t) + \sum_{i=1}^6 \lambda_i C_i(t)$$ $$\frac{dC_i}{dt} = \frac{\beta_i}{\Lambda} n(t) - \lambda_i C_i(t), \quad (i = 1, \dots, 6)$$여기서 $\rho(t)$는 총 반응도, $\beta = \sum \beta_i \approx 0.0065$는 총 지연중성자 분율, $\Lambda \approx 20\,\mu\text{s}$는 즉발 중성자 생성 시간, $\lambda_i$는 붕괴 상수입니다.
2.2 도플러 및 감속재 온도 반응도 계수
핵연료 온도 $T_f$와 냉각재 온도 $T_c$의 변동에 따른 총 반응도 $\rho(t)$는 다음과 같이 결합됩니다:
$$\rho(t) = \rho_{\text{CR}}(z) + \alpha_D \sqrt{T_f(t)} + \alpha_c (T_c(t) - T_{c,0})$$도플러 계수 $\alpha_D < 0$는 노심 출력이 급증할 때 핵분열 연쇄반응을 자연 억제하는 음의 피드백을 제공합니다.
3. 1,000Hz 0-Alloc C# 노외 핵계측 중성자속 샘플링 및 제어봉 구동장치(CRDM) 서보 구현
ZeliDesk 온디바이스 원자로 제어 서보는 노외 감육 검출기(Ex-core Detector)의 중성자속 펄스를 1ms 주기로 취득하여 즉발 반응도를 역산하고, 제어봉 구동 장치(CRDM) 자기 래치 릴럭턴스 스테퍼 모터를 1kHz로 스텝 구동합니다.
using System;
using System.Runtime.CompilerServices;
using System.Numerics;
namespace ZeliDesk.Stem.NuclearReactor
{
///
/// 1,000Hz SMR 중성자 점역학 및 초임계 CO2 터빈 연계 제어봉(CRDM) 서보 제어기
/// GC 무할당 스택 메모리 0-Alloc 구현체
///
public ref struct SmrReactivityControlServo
{
// 원자로 물리 상수
private const float BetaTotal = 0.0065f; // 지연중성자 총 분율 (650 pcm)
private const float PromptGenerationTimeSec = 2.0e-5f; // Lambda = 20 us
private const float DopplerAlphaD = -2.5e-5f; // 도플러 반응도 계수 (/K)
private const float MaxControlRodSpeedStepsPerSec = 120.0f;
// 서보 제어 상태
public float ReactorPowerFraction; // 공칭 1.0 (100% 출력)
public float EstimatedTotalReactivityPcm;
public float FuelAverageTempC;
public float ControlRodPositionSteps;
public float ReactorPeriodSec;
public bool IsScramTriggered;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Initialize()
{
ReactorPowerFraction = 1.0f;
EstimatedTotalReactivityPcm = 0.0f;
FuelAverageTempC = 620.0f;
ControlRodPositionSteps = 500.0f;
ReactorPeriodSec = 999.0f;
IsScramTriggered = false;
}
///
/// 1ms 제어 주기: 노외 핵계측 중성자속 및 sCO2 터빈 온도 기반 제어봉 스텝 구동
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void StepReactorControl(
float exCoreNeutronFluxRaw,
float fuelThermocoupleC,
float sCo2TurbineDemandFraction,
out float commandedRodStepsDelta,
out float estimatedReactivityPcm,
out float safetyTripMargin)
{
FuelAverageTempC = fuelThermocoupleC;
// 1. 중성자속 1차 필터링 및 노심 열출력 산출
float prevPower = ReactorPowerFraction;
ReactorPowerFraction = ReactorPowerFraction * 0.99f + exCoreNeutronFluxRaw * 0.01f;
// 원자로 주기(Reactor Period T) 역산: dn/dt = n / T
float powerRatePerSec = (ReactorPowerFraction - prevPower) * 1000.0f;
if (MathF.Abs(powerRatePerSec) > 1e-4f)
{
ReactorPeriodSec = ReactorPowerFraction / powerRatePerSec;
}
else
{
ReactorPeriodSec = 999.0f;
}
// 2. 도플러 음의 반응도 피드백 기여분 (Delta_T = T - 600C)
float deltaTemp = FuelAverageTempC - 600.0f;
float dopplerReactivityPcm = (DopplerAlphaD * deltaTemp) * 1e5f;
// 제어봉 위치에 따른 반응도 (스텝당 1.2 pcm)
float controlRodReactivityPcm = (ControlRodPositionSteps - 500.0f) * 1.2f;
EstimatedTotalReactivityPcm = controlRodReactivityPcm + dopplerReactivityPcm;
estimatedReactivityPcm = EstimatedTotalReactivityPcm;
// 3. 긴급 정지(SCRAM) 인터록: 원자로 주기 < 10초 또는 반응도 > +200 pcm
if (ReactorPeriodSec > 0.0f && ReactorPeriodSec < 10.0f || EstimatedTotalReactivityPcm > 200.0f)
{
IsScramTriggered = true;
// 제어봉 전량 즉각 낙하 (스텝 0으로 급속 낙하)
commandedRodStepsDelta = -50.0f;
ControlRodPositionSteps = MathF.Max(0.0f, ControlRodPositionSteps - 50.0f);
safetyTripMargin = 0.0f;
return;
}
IsScramTriggered = false;
// 4. 초임계 CO2 터빈 부하 추종 1,000Hz 폐루프 제어기
float powerError = sCo2TurbineDemandFraction - ReactorPowerFraction;
const float KpPower = 15.0f; // 스텝 / 오차
float desiredStepRate = powerError * KpPower;
desiredStepRate = MathF.Max(-MaxControlRodSpeedStepsPerSec * 0.001f,
MathF.Min(MaxControlRodSpeedStepsPerSec * 0.001f, desiredStepRate));
commandedRodStepsDelta = desiredStepRate;
ControlRodPositionSteps = MathF.Max(0.0f, MathF.Min(1000.0f, ControlRodPositionSteps + commandedRodStepsDelta));
// 안전 트립 여유도 (0~100%)
safetyTripMargin = MathF.Max(0.0f, MathF.Min(100.0f, (200.0f - EstimatedTotalReactivityPcm) * 0.5f));
}
}
}
4. 2022 개정 교육과정 연계표 및 방통대 랩실·원자력연구원 교육 공학 실무 적용성
| 교과목 (2022 개정) | 단원 및 성취기준 | SMR 초임계 CO2 원자로 트윈 시뮬레이션 적용 핵심 |
|---|---|---|
| 물리학 | 원자핵 분열과 질량 결손($E = \Delta m c^2$), 중성자 연쇄 반응 | 우라늄-235 분열 즉발/지연 중성자 거동 및 도플러 공명 흡수 가상 실험 |
| 화학 | 물질의 상태와 상평형도, 초임계 유체(Supercritical Fluid) 특성 | 이산화탄소 임계점($31^\circ\text{C}, 7.38\,\text{MPa}$) 부근 밀도 급증 및 터빈 열역학 |
| 에너지공학 | 차세대 소형 모듈 원자로(SMR)와 피동 안전 시스템 | 일체형 압력용기 내 LOCA 방지 및 부반응도 피드백 자율 안전성 모델링 |
| 수학 | 연립 1차 상미분방정식 고유치(Eigenvalue), 지수함수 수렴 | 6군 지연중성자 전구핵 연립 미분방정식 점역학 수치 해석 풀이 |
| 정보 | 실시간 핵계측 신호 처리 및 비상 정지(SCRAM) 인터록 제어 | 1,000Hz 0-Alloc C# 스택 기반 원자로 주기 계산 및 CRDM 스테퍼 서보 |
| 국방 동력 | 원자력 추진 잠수함 및 우주 기지 초소형 원자로 전원 | 장기 무급유 극지 기지 및 심우주 유인 기지용 소형 자율 원자로 운용 체계 |
5. 결론 및 ZeliDesk On-Device 에지 인프라 확장 전략
소형 모듈형 원자로(SMR) 백서는 원자핵물리학의 미시적 중성자 수송 이론과 초임계 열유체역학의 거시적 에너지 변환, 그리고 1,000Hz 무할당 임베디드 원자로 제어봉 안전 인터록 서보 공학을 융합한 미래 원자력의 핵심 모델입니다. ZeliDesk는 온디바이스 에지 환경에서 복잡한 원자로 동역학 시뮬레이션을 신뢰성 높은 C# 코드로 제공합니다.